mayurankv_Obsidian-Code-Styler/main.js
Mayuran Visakan 7e91f45a68 rename
2023-07-07 00:25:12 +01:00

4280 lines
1.4 MiB

/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
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 __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
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, target) => (target = 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(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// node_modules/@simonwep/pickr/dist/pickr.min.js
var require_pickr_min = __commonJS({
"node_modules/@simonwep/pickr/dist/pickr.min.js"(exports, module2) {
!function(t2, e2) {
"object" == typeof exports && "object" == typeof module2 ? module2.exports = e2() : "function" == typeof define && define.amd ? define([], e2) : "object" == typeof exports ? exports.Pickr = e2() : t2.Pickr = e2();
}(self, function() {
return (() => {
"use strict";
var t2 = { d: (e3, o3) => {
for (var n3 in o3)
t2.o(o3, n3) && !t2.o(e3, n3) && Object.defineProperty(e3, n3, { enumerable: true, get: o3[n3] });
}, o: (t3, e3) => Object.prototype.hasOwnProperty.call(t3, e3), r: (t3) => {
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t3, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t3, "__esModule", { value: true });
} }, e2 = {};
t2.d(e2, { default: () => L2 });
var o2 = {};
function n2(t3, e3, o3, n3, i3 = {}) {
e3 instanceof HTMLCollection || e3 instanceof NodeList ? e3 = Array.from(e3) : Array.isArray(e3) || (e3 = [e3]), Array.isArray(o3) || (o3 = [o3]);
for (const s3 of e3)
for (const e4 of o3)
s3[t3](e4, n3, { capture: false, ...i3 });
return Array.prototype.slice.call(arguments, 1);
}
t2.r(o2), t2.d(o2, { adjustableInputNumbers: () => p2, createElementFromString: () => r2, createFromTemplate: () => a2, eventPath: () => l2, off: () => s2, on: () => i2, resolveElement: () => c2 });
const i2 = n2.bind(null, "addEventListener"), s2 = n2.bind(null, "removeEventListener");
function r2(t3) {
const e3 = document.createElement("div");
return e3.innerHTML = t3.trim(), e3.firstElementChild;
}
function a2(t3) {
const e3 = (t4, e4) => {
const o4 = t4.getAttribute(e4);
return t4.removeAttribute(e4), o4;
}, o3 = (t4, n3 = {}) => {
const i3 = e3(t4, ":obj"), s3 = e3(t4, ":ref"), r3 = i3 ? n3[i3] = {} : n3;
s3 && (n3[s3] = t4);
for (const n4 of Array.from(t4.children)) {
const t5 = e3(n4, ":arr"), i4 = o3(n4, t5 ? {} : r3);
t5 && (r3[t5] || (r3[t5] = [])).push(Object.keys(i4).length ? i4 : n4);
}
return n3;
};
return o3(r2(t3));
}
function l2(t3) {
let e3 = t3.path || t3.composedPath && t3.composedPath();
if (e3)
return e3;
let o3 = t3.target.parentElement;
for (e3 = [t3.target, o3]; o3 = o3.parentElement; )
e3.push(o3);
return e3.push(document, window), e3;
}
function c2(t3) {
return t3 instanceof Element ? t3 : "string" == typeof t3 ? t3.split(/>>/g).reduce((t4, e3, o3, n3) => (t4 = t4.querySelector(e3), o3 < n3.length - 1 ? t4.shadowRoot : t4), document) : null;
}
function p2(t3, e3 = (t4) => t4) {
function o3(o4) {
const n3 = [1e-3, 0.01, 0.1][Number(o4.shiftKey || 2 * o4.ctrlKey)] * (o4.deltaY < 0 ? 1 : -1);
let i3 = 0, s3 = t3.selectionStart;
t3.value = t3.value.replace(/[\d.]+/g, (t4, o5) => o5 <= s3 && o5 + t4.length >= s3 ? (s3 = o5, e3(Number(t4), n3, i3)) : (i3++, t4)), t3.focus(), t3.setSelectionRange(s3, s3), o4.preventDefault(), t3.dispatchEvent(new Event("input"));
}
i2(t3, "focus", () => i2(window, "wheel", o3, { passive: false })), i2(t3, "blur", () => s2(window, "wheel", o3));
}
const { min: u2, max: h2, floor: d2, round: m2 } = Math;
function f2(t3, e3, o3) {
e3 /= 100, o3 /= 100;
const n3 = d2(t3 = t3 / 360 * 6), i3 = t3 - n3, s3 = o3 * (1 - e3), r3 = o3 * (1 - i3 * e3), a3 = o3 * (1 - (1 - i3) * e3), l3 = n3 % 6;
return [255 * [o3, r3, s3, s3, a3, o3][l3], 255 * [a3, o3, o3, r3, s3, s3][l3], 255 * [s3, s3, a3, o3, o3, r3][l3]];
}
function v2(t3, e3, o3) {
const n3 = (2 - (e3 /= 100)) * (o3 /= 100) / 2;
return 0 !== n3 && (e3 = 1 === n3 ? 0 : n3 < 0.5 ? e3 * o3 / (2 * n3) : e3 * o3 / (2 - 2 * n3)), [t3, 100 * e3, 100 * n3];
}
function b2(t3, e3, o3) {
const n3 = u2(t3 /= 255, e3 /= 255, o3 /= 255), i3 = h2(t3, e3, o3), s3 = i3 - n3;
let r3, a3;
if (0 === s3)
r3 = a3 = 0;
else {
a3 = s3 / i3;
const n4 = ((i3 - t3) / 6 + s3 / 2) / s3, l3 = ((i3 - e3) / 6 + s3 / 2) / s3, c3 = ((i3 - o3) / 6 + s3 / 2) / s3;
t3 === i3 ? r3 = c3 - l3 : e3 === i3 ? r3 = 1 / 3 + n4 - c3 : o3 === i3 && (r3 = 2 / 3 + l3 - n4), r3 < 0 ? r3 += 1 : r3 > 1 && (r3 -= 1);
}
return [360 * r3, 100 * a3, 100 * i3];
}
function y2(t3, e3, o3, n3) {
e3 /= 100, o3 /= 100;
return [...b2(255 * (1 - u2(1, (t3 /= 100) * (1 - (n3 /= 100)) + n3)), 255 * (1 - u2(1, e3 * (1 - n3) + n3)), 255 * (1 - u2(1, o3 * (1 - n3) + n3)))];
}
function g2(t3, e3, o3) {
e3 /= 100;
const n3 = 2 * (e3 *= (o3 /= 100) < 0.5 ? o3 : 1 - o3) / (o3 + e3) * 100, i3 = 100 * (o3 + e3);
return [t3, isNaN(n3) ? 0 : n3, i3];
}
function _2(t3) {
return b2(...t3.match(/.{2}/g).map((t4) => parseInt(t4, 16)));
}
function w2(t3) {
t3 = t3.match(/^[a-zA-Z]+$/) ? function(t4) {
if ("black" === t4.toLowerCase())
return "#000";
const e4 = document.createElement("canvas").getContext("2d");
return e4.fillStyle = t4, "#000" === e4.fillStyle ? null : e4.fillStyle;
}(t3) : t3;
const e3 = { cmyk: /^cmyk[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)/i, rgba: /^((rgba)|rgb)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i, hsla: /^((hsla)|hsl)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i, hsva: /^((hsva)|hsv)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i, hexa: /^#?(([\dA-Fa-f]{3,4})|([\dA-Fa-f]{6})|([\dA-Fa-f]{8}))$/i }, o3 = (t4) => t4.map((t5) => /^(|\d+)\.\d+|\d+$/.test(t5) ? Number(t5) : void 0);
let n3;
t:
for (const i3 in e3) {
if (!(n3 = e3[i3].exec(t3)))
continue;
const s3 = (t4) => !!n3[2] == ("number" == typeof t4);
switch (i3) {
case "cmyk": {
const [, t4, e4, s4, r3] = o3(n3);
if (t4 > 100 || e4 > 100 || s4 > 100 || r3 > 100)
break t;
return { values: y2(t4, e4, s4, r3), type: i3 };
}
case "rgba": {
const [, , , t4, e4, r3, a3] = o3(n3);
if (t4 > 255 || e4 > 255 || r3 > 255 || a3 < 0 || a3 > 1 || !s3(a3))
break t;
return { values: [...b2(t4, e4, r3), a3], a: a3, type: i3 };
}
case "hexa": {
let [, t4] = n3;
4 !== t4.length && 3 !== t4.length || (t4 = t4.split("").map((t5) => t5 + t5).join(""));
const e4 = t4.substring(0, 6);
let o4 = t4.substring(6);
return o4 = o4 ? parseInt(o4, 16) / 255 : void 0, { values: [..._2(e4), o4], a: o4, type: i3 };
}
case "hsla": {
const [, , , t4, e4, r3, a3] = o3(n3);
if (t4 > 360 || e4 > 100 || r3 > 100 || a3 < 0 || a3 > 1 || !s3(a3))
break t;
return { values: [...g2(t4, e4, r3), a3], a: a3, type: i3 };
}
case "hsva": {
const [, , , t4, e4, r3, a3] = o3(n3);
if (t4 > 360 || e4 > 100 || r3 > 100 || a3 < 0 || a3 > 1 || !s3(a3))
break t;
return { values: [t4, e4, r3, a3], a: a3, type: i3 };
}
}
}
return { values: null, type: null };
}
function A2(t3 = 0, e3 = 0, o3 = 0, n3 = 1) {
const i3 = (t4, e4) => (o4 = -1) => e4(~o4 ? t4.map((t5) => Number(t5.toFixed(o4))) : t4), s3 = { h: t3, s: e3, v: o3, a: n3, toHSVA() {
const t4 = [s3.h, s3.s, s3.v, s3.a];
return t4.toString = i3(t4, (t5) => `hsva(${t5[0]}, ${t5[1]}%, ${t5[2]}%, ${s3.a})`), t4;
}, toHSLA() {
const t4 = [...v2(s3.h, s3.s, s3.v), s3.a];
return t4.toString = i3(t4, (t5) => `hsla(${t5[0]}, ${t5[1]}%, ${t5[2]}%, ${s3.a})`), t4;
}, toRGBA() {
const t4 = [...f2(s3.h, s3.s, s3.v), s3.a];
return t4.toString = i3(t4, (t5) => `rgba(${t5[0]}, ${t5[1]}, ${t5[2]}, ${s3.a})`), t4;
}, toCMYK() {
const t4 = function(t5, e4, o4) {
const n4 = f2(t5, e4, o4), i4 = n4[0] / 255, s4 = n4[1] / 255, r3 = n4[2] / 255, a3 = u2(1 - i4, 1 - s4, 1 - r3);
return [100 * (1 === a3 ? 0 : (1 - i4 - a3) / (1 - a3)), 100 * (1 === a3 ? 0 : (1 - s4 - a3) / (1 - a3)), 100 * (1 === a3 ? 0 : (1 - r3 - a3) / (1 - a3)), 100 * a3];
}(s3.h, s3.s, s3.v);
return t4.toString = i3(t4, (t5) => `cmyk(${t5[0]}%, ${t5[1]}%, ${t5[2]}%, ${t5[3]}%)`), t4;
}, toHEXA() {
const t4 = function(t5, e5, o4) {
return f2(t5, e5, o4).map((t6) => m2(t6).toString(16).padStart(2, "0"));
}(s3.h, s3.s, s3.v), e4 = s3.a >= 1 ? "" : Number((255 * s3.a).toFixed(0)).toString(16).toUpperCase().padStart(2, "0");
return e4 && t4.push(e4), t4.toString = () => `#${t4.join("").toUpperCase()}`, t4;
}, clone: () => A2(s3.h, s3.s, s3.v, s3.a) };
return s3;
}
const C2 = (t3) => Math.max(Math.min(t3, 1), 0);
function $2(t3) {
const e3 = { options: Object.assign({ lock: null, onchange: () => 0, onstop: () => 0 }, t3), _keyboard(t4) {
const { options: o4 } = e3, { type: n4, key: i3 } = t4;
if (document.activeElement === o4.wrapper) {
const { lock: o5 } = e3.options, s3 = "ArrowUp" === i3, r4 = "ArrowRight" === i3, a3 = "ArrowDown" === i3, l3 = "ArrowLeft" === i3;
if ("keydown" === n4 && (s3 || r4 || a3 || l3)) {
let n5 = 0, i4 = 0;
"v" === o5 ? n5 = s3 || r4 ? 1 : -1 : "h" === o5 ? n5 = s3 || r4 ? -1 : 1 : (i4 = s3 ? -1 : a3 ? 1 : 0, n5 = l3 ? -1 : r4 ? 1 : 0), e3.update(C2(e3.cache.x + 0.01 * n5), C2(e3.cache.y + 0.01 * i4)), t4.preventDefault();
} else
i3.startsWith("Arrow") && (e3.options.onstop(), t4.preventDefault());
}
}, _tapstart(t4) {
i2(document, ["mouseup", "touchend", "touchcancel"], e3._tapstop), i2(document, ["mousemove", "touchmove"], e3._tapmove), t4.cancelable && t4.preventDefault(), e3._tapmove(t4);
}, _tapmove(t4) {
const { options: o4, cache: n4 } = e3, { lock: i3, element: s3, wrapper: r4 } = o4, a3 = r4.getBoundingClientRect();
let l3 = 0, c3 = 0;
if (t4) {
const e4 = t4 && t4.touches && t4.touches[0];
l3 = t4 ? (e4 || t4).clientX : 0, c3 = t4 ? (e4 || t4).clientY : 0, l3 < a3.left ? l3 = a3.left : l3 > a3.left + a3.width && (l3 = a3.left + a3.width), c3 < a3.top ? c3 = a3.top : c3 > a3.top + a3.height && (c3 = a3.top + a3.height), l3 -= a3.left, c3 -= a3.top;
} else
n4 && (l3 = n4.x * a3.width, c3 = n4.y * a3.height);
"h" !== i3 && (s3.style.left = `calc(${l3 / a3.width * 100}% - ${s3.offsetWidth / 2}px)`), "v" !== i3 && (s3.style.top = `calc(${c3 / a3.height * 100}% - ${s3.offsetHeight / 2}px)`), e3.cache = { x: l3 / a3.width, y: c3 / a3.height };
const p3 = C2(l3 / a3.width), u3 = C2(c3 / a3.height);
switch (i3) {
case "v":
return o4.onchange(p3);
case "h":
return o4.onchange(u3);
default:
return o4.onchange(p3, u3);
}
}, _tapstop() {
e3.options.onstop(), s2(document, ["mouseup", "touchend", "touchcancel"], e3._tapstop), s2(document, ["mousemove", "touchmove"], e3._tapmove);
}, trigger() {
e3._tapmove();
}, update(t4 = 0, o4 = 0) {
const { left: n4, top: i3, width: s3, height: r4 } = e3.options.wrapper.getBoundingClientRect();
"h" === e3.options.lock && (o4 = t4), e3._tapmove({ clientX: n4 + s3 * t4, clientY: i3 + r4 * o4 });
}, destroy() {
const { options: t4, _tapstart: o4, _keyboard: n4 } = e3;
s2(document, ["keydown", "keyup"], n4), s2([t4.wrapper, t4.element], "mousedown", o4), s2([t4.wrapper, t4.element], "touchstart", o4, { passive: false });
} }, { options: o3, _tapstart: n3, _keyboard: r3 } = e3;
return i2([o3.wrapper, o3.element], "mousedown", n3), i2([o3.wrapper, o3.element], "touchstart", n3, { passive: false }), i2(document, ["keydown", "keyup"], r3), e3;
}
function k2(t3 = {}) {
t3 = Object.assign({ onchange: () => 0, className: "", elements: [] }, t3);
const e3 = i2(t3.elements, "click", (e4) => {
t3.elements.forEach((o3) => o3.classList[e4.target === o3 ? "add" : "remove"](t3.className)), t3.onchange(e4), e4.stopPropagation();
});
return { destroy: () => s2(...e3) };
}
const S2 = { variantFlipOrder: { start: "sme", middle: "mse", end: "ems" }, positionFlipOrder: { top: "tbrl", right: "rltb", bottom: "btrl", left: "lrbt" }, position: "bottom", margin: 8 }, O2 = (t3, e3, o3) => {
const { container: n3, margin: i3, position: s3, variantFlipOrder: r3, positionFlipOrder: a3 } = { container: document.documentElement.getBoundingClientRect(), ...S2, ...o3 }, { left: l3, top: c3 } = e3.style;
e3.style.left = "0", e3.style.top = "0";
const p3 = t3.getBoundingClientRect(), u3 = e3.getBoundingClientRect(), h3 = { t: p3.top - u3.height - i3, b: p3.bottom + i3, r: p3.right + i3, l: p3.left - u3.width - i3 }, d3 = { vs: p3.left, vm: p3.left + p3.width / 2 + -u3.width / 2, ve: p3.left + p3.width - u3.width, hs: p3.top, hm: p3.bottom - p3.height / 2 - u3.height / 2, he: p3.bottom - u3.height }, [m3, f3 = "middle"] = s3.split("-"), v3 = a3[m3], b3 = r3[f3], { top: y3, left: g3, bottom: _3, right: w3 } = n3;
for (const t4 of v3) {
const o4 = "t" === t4 || "b" === t4, n4 = h3[t4], [i4, s4] = o4 ? ["top", "left"] : ["left", "top"], [r4, a4] = o4 ? [u3.height, u3.width] : [u3.width, u3.height], [l4, c4] = o4 ? [_3, w3] : [w3, _3], [p4, m4] = o4 ? [y3, g3] : [g3, y3];
if (!(n4 < p4 || n4 + r4 > l4))
for (const r5 of b3) {
const l5 = d3[(o4 ? "v" : "h") + r5];
if (!(l5 < m4 || l5 + a4 > c4))
return e3.style[s4] = l5 - u3[s4] + "px", e3.style[i4] = n4 - u3[i4] + "px", t4 + r5;
}
}
return e3.style.left = l3, e3.style.top = c3, null;
};
function E2(t3, e3, o3) {
return e3 in t3 ? Object.defineProperty(t3, e3, { value: o3, enumerable: true, configurable: true, writable: true }) : t3[e3] = o3, t3;
}
class L2 {
constructor(t3) {
E2(this, "_initializingActive", true), E2(this, "_recalc", true), E2(this, "_nanopop", null), E2(this, "_root", null), E2(this, "_color", A2()), E2(this, "_lastColor", A2()), E2(this, "_swatchColors", []), E2(this, "_setupAnimationFrame", null), E2(this, "_eventListener", { init: [], save: [], hide: [], show: [], clear: [], change: [], changestop: [], cancel: [], swatchselect: [] }), this.options = t3 = Object.assign({ ...L2.DEFAULT_OPTIONS }, t3);
const { swatches: e3, components: o3, theme: n3, sliders: i3, lockOpacity: s3, padding: r3 } = t3;
["nano", "monolith"].includes(n3) && !i3 && (t3.sliders = "h"), o3.interaction || (o3.interaction = {});
const { preview: a3, opacity: l3, hue: c3, palette: p3 } = o3;
o3.opacity = !s3 && l3, o3.palette = p3 || a3 || l3 || c3, this._preBuild(), this._buildComponents(), this._bindEvents(), this._finalBuild(), e3 && e3.length && e3.forEach((t4) => this.addSwatch(t4));
const { button: u3, app: h3 } = this._root;
this._nanopop = ((t4, e4, o4) => {
const n4 = "object" != typeof t4 || t4 instanceof HTMLElement ? { reference: t4, popper: e4, ...o4 } : t4;
return { update(t5 = n4) {
const { reference: e5, popper: o5 } = Object.assign(n4, t5);
if (!o5 || !e5)
throw new Error("Popper- or reference-element missing.");
return O2(e5, o5, n4);
} };
})(u3, h3, { margin: r3 }), u3.setAttribute("role", "button"), u3.setAttribute("aria-label", this._t("btn:toggle"));
const d3 = this;
this._setupAnimationFrame = requestAnimationFrame(function e4() {
if (!h3.offsetWidth)
return requestAnimationFrame(e4);
d3.setColor(t3.default), d3._rePositioningPicker(), t3.defaultRepresentation && (d3._representation = t3.defaultRepresentation, d3.setColorRepresentation(d3._representation)), t3.showAlways && d3.show(), d3._initializingActive = false, d3._emit("init");
});
}
_preBuild() {
const { options: t3 } = this;
for (const e3 of ["el", "container"])
t3[e3] = c2(t3[e3]);
this._root = ((t4) => {
const { components: e3, useAsButton: o3, inline: n3, appClass: i3, theme: s3, lockOpacity: r3 } = t4.options, l3 = (t5) => t5 ? "" : 'style="display:none" hidden', c3 = (e4) => t4._t(e4), p3 = a2(`
<div :ref="root" class="pickr">
${o3 ? "" : '<button type="button" :ref="button" class="pcr-button"></button>'}
<div :ref="app" class="pcr-app ${i3 || ""}" data-theme="${s3}" ${n3 ? 'style="position: unset"' : ""} aria-label="${c3("ui:dialog")}" role="window">
<div class="pcr-selection" ${l3(e3.palette)}>
<div :obj="preview" class="pcr-color-preview" ${l3(e3.preview)}>
<button type="button" :ref="lastColor" class="pcr-last-color" aria-label="${c3("btn:last-color")}"></button>
<div :ref="currentColor" class="pcr-current-color"></div>
</div>
<div :obj="palette" class="pcr-color-palette">
<div :ref="picker" class="pcr-picker"></div>
<div :ref="palette" class="pcr-palette" tabindex="0" aria-label="${c3("aria:palette")}" role="listbox"></div>
</div>
<div :obj="hue" class="pcr-color-chooser" ${l3(e3.hue)}>
<div :ref="picker" class="pcr-picker"></div>
<div :ref="slider" class="pcr-hue pcr-slider" tabindex="0" aria-label="${c3("aria:hue")}" role="slider"></div>
</div>
<div :obj="opacity" class="pcr-color-opacity" ${l3(e3.opacity)}>
<div :ref="picker" class="pcr-picker"></div>
<div :ref="slider" class="pcr-opacity pcr-slider" tabindex="0" aria-label="${c3("aria:opacity")}" role="slider"></div>
</div>
</div>
<div class="pcr-swatches ${e3.palette ? "" : "pcr-last"}" :ref="swatches"></div>
<div :obj="interaction" class="pcr-interaction" ${l3(Object.keys(e3.interaction).length)}>
<input :ref="result" class="pcr-result" type="text" spellcheck="false" ${l3(e3.interaction.input)} aria-label="${c3("aria:input")}">
<input :arr="options" class="pcr-type" data-type="HEXA" value="${r3 ? "HEX" : "HEXA"}" type="button" ${l3(e3.interaction.hex)}>
<input :arr="options" class="pcr-type" data-type="RGBA" value="${r3 ? "RGB" : "RGBA"}" type="button" ${l3(e3.interaction.rgba)}>
<input :arr="options" class="pcr-type" data-type="HSLA" value="${r3 ? "HSL" : "HSLA"}" type="button" ${l3(e3.interaction.hsla)}>
<input :arr="options" class="pcr-type" data-type="HSVA" value="${r3 ? "HSV" : "HSVA"}" type="button" ${l3(e3.interaction.hsva)}>
<input :arr="options" class="pcr-type" data-type="CMYK" value="CMYK" type="button" ${l3(e3.interaction.cmyk)}>
<input :ref="save" class="pcr-save" value="${c3("btn:save")}" type="button" ${l3(e3.interaction.save)} aria-label="${c3("aria:btn:save")}">
<input :ref="cancel" class="pcr-cancel" value="${c3("btn:cancel")}" type="button" ${l3(e3.interaction.cancel)} aria-label="${c3("aria:btn:cancel")}">
<input :ref="clear" class="pcr-clear" value="${c3("btn:clear")}" type="button" ${l3(e3.interaction.clear)} aria-label="${c3("aria:btn:clear")}">
</div>
</div>
</div>
`), u3 = p3.interaction;
return u3.options.find((t5) => !t5.hidden && !t5.classList.add("active")), u3.type = () => u3.options.find((t5) => t5.classList.contains("active")), p3;
})(this), t3.useAsButton && (this._root.button = t3.el), t3.container.appendChild(this._root.root);
}
_finalBuild() {
const t3 = this.options, e3 = this._root;
if (t3.container.removeChild(e3.root), t3.inline) {
const o3 = t3.el.parentElement;
t3.el.nextSibling ? o3.insertBefore(e3.app, t3.el.nextSibling) : o3.appendChild(e3.app);
} else
t3.container.appendChild(e3.app);
t3.useAsButton ? t3.inline && t3.el.remove() : t3.el.parentNode.replaceChild(e3.root, t3.el), t3.disabled && this.disable(), t3.comparison || (e3.button.style.transition = "none", t3.useAsButton || (e3.preview.lastColor.style.transition = "none")), this.hide();
}
_buildComponents() {
const t3 = this, e3 = this.options.components, o3 = (t3.options.sliders || "v").repeat(2), [n3, i3] = o3.match(/^[vh]+$/g) ? o3 : [], s3 = () => this._color || (this._color = this._lastColor.clone()), r3 = { palette: $2({ element: t3._root.palette.picker, wrapper: t3._root.palette.palette, onstop: () => t3._emit("changestop", "slider", t3), onchange(o4, n4) {
if (!e3.palette)
return;
const i4 = s3(), { _root: r4, options: a3 } = t3, { lastColor: l3, currentColor: c3 } = r4.preview;
t3._recalc && (i4.s = 100 * o4, i4.v = 100 - 100 * n4, i4.v < 0 && (i4.v = 0), t3._updateOutput("slider"));
const p3 = i4.toRGBA().toString(0);
this.element.style.background = p3, this.wrapper.style.background = `
linear-gradient(to top, rgba(0, 0, 0, ${i4.a}), transparent),
linear-gradient(to left, hsla(${i4.h}, 100%, 50%, ${i4.a}), rgba(255, 255, 255, ${i4.a}))
`, a3.comparison ? a3.useAsButton || t3._lastColor || l3.style.setProperty("--pcr-color", p3) : (r4.button.style.setProperty("--pcr-color", p3), r4.button.classList.remove("clear"));
const u3 = i4.toHEXA().toString();
for (const { el: e4, color: o5 } of t3._swatchColors)
e4.classList[u3 === o5.toHEXA().toString() ? "add" : "remove"]("pcr-active");
c3.style.setProperty("--pcr-color", p3);
} }), hue: $2({ lock: "v" === i3 ? "h" : "v", element: t3._root.hue.picker, wrapper: t3._root.hue.slider, onstop: () => t3._emit("changestop", "slider", t3), onchange(o4) {
if (!e3.hue || !e3.palette)
return;
const n4 = s3();
t3._recalc && (n4.h = 360 * o4), this.element.style.backgroundColor = `hsl(${n4.h}, 100%, 50%)`, r3.palette.trigger();
} }), opacity: $2({ lock: "v" === n3 ? "h" : "v", element: t3._root.opacity.picker, wrapper: t3._root.opacity.slider, onstop: () => t3._emit("changestop", "slider", t3), onchange(o4) {
if (!e3.opacity || !e3.palette)
return;
const n4 = s3();
t3._recalc && (n4.a = Math.round(100 * o4) / 100), this.element.style.background = `rgba(0, 0, 0, ${n4.a})`, r3.palette.trigger();
} }), selectable: k2({ elements: t3._root.interaction.options, className: "active", onchange(e4) {
t3._representation = e4.target.getAttribute("data-type").toUpperCase(), t3._recalc && t3._updateOutput("swatch");
} }) };
this._components = r3;
}
_bindEvents() {
const { _root: t3, options: e3 } = this, o3 = [i2(t3.interaction.clear, "click", () => this._clearColor()), i2([t3.interaction.cancel, t3.preview.lastColor], "click", () => {
this.setHSVA(...(this._lastColor || this._color).toHSVA(), true), this._emit("cancel");
}), i2(t3.interaction.save, "click", () => {
!this.applyColor() && !e3.showAlways && this.hide();
}), i2(t3.interaction.result, ["keyup", "input"], (t4) => {
this.setColor(t4.target.value, true) && !this._initializingActive && (this._emit("change", this._color, "input", this), this._emit("changestop", "input", this)), t4.stopImmediatePropagation();
}), i2(t3.interaction.result, ["focus", "blur"], (t4) => {
this._recalc = "blur" === t4.type, this._recalc && this._updateOutput(null);
}), i2([t3.palette.palette, t3.palette.picker, t3.hue.slider, t3.hue.picker, t3.opacity.slider, t3.opacity.picker], ["mousedown", "touchstart"], () => this._recalc = true, { passive: true })];
if (!e3.showAlways) {
const n3 = e3.closeWithKey;
o3.push(i2(t3.button, "click", () => this.isOpen() ? this.hide() : this.show()), i2(document, "keyup", (t4) => this.isOpen() && (t4.key === n3 || t4.code === n3) && this.hide()), i2(document, ["touchstart", "mousedown"], (e4) => {
this.isOpen() && !l2(e4).some((e5) => e5 === t3.app || e5 === t3.button) && this.hide();
}, { capture: true }));
}
if (e3.adjustableNumbers) {
const e4 = { rgba: [255, 255, 255, 1], hsva: [360, 100, 100, 1], hsla: [360, 100, 100, 1], cmyk: [100, 100, 100, 100] };
p2(t3.interaction.result, (t4, o4, n3) => {
const i3 = e4[this.getColorRepresentation().toLowerCase()];
if (i3) {
const e5 = i3[n3], s3 = t4 + (e5 >= 100 ? 1e3 * o4 : o4);
return s3 <= 0 ? 0 : Number((s3 < e5 ? s3 : e5).toPrecision(3));
}
return t4;
});
}
if (e3.autoReposition && !e3.inline) {
let t4 = null;
const n3 = this;
o3.push(i2(window, ["scroll", "resize"], () => {
n3.isOpen() && (e3.closeOnScroll && n3.hide(), null === t4 ? (t4 = setTimeout(() => t4 = null, 100), requestAnimationFrame(function e4() {
n3._rePositioningPicker(), null !== t4 && requestAnimationFrame(e4);
})) : (clearTimeout(t4), t4 = setTimeout(() => t4 = null, 100)));
}, { capture: true }));
}
this._eventBindings = o3;
}
_rePositioningPicker() {
const { options: t3 } = this;
if (!t3.inline) {
if (!this._nanopop.update({ container: document.body.getBoundingClientRect(), position: t3.position })) {
const t4 = this._root.app, e3 = t4.getBoundingClientRect();
t4.style.top = (window.innerHeight - e3.height) / 2 + "px", t4.style.left = (window.innerWidth - e3.width) / 2 + "px";
}
}
}
_updateOutput(t3) {
const { _root: e3, _color: o3, options: n3 } = this;
if (e3.interaction.type()) {
const t4 = `to${e3.interaction.type().getAttribute("data-type")}`;
e3.interaction.result.value = "function" == typeof o3[t4] ? o3[t4]().toString(n3.outputPrecision) : "";
}
!this._initializingActive && this._recalc && this._emit("change", o3, t3, this);
}
_clearColor(t3 = false) {
const { _root: e3, options: o3 } = this;
o3.useAsButton || e3.button.style.setProperty("--pcr-color", "rgba(0, 0, 0, 0.15)"), e3.button.classList.add("clear"), o3.showAlways || this.hide(), this._lastColor = null, this._initializingActive || t3 || (this._emit("save", null), this._emit("clear"));
}
_parseLocalColor(t3) {
const { values: e3, type: o3, a: n3 } = w2(t3), { lockOpacity: i3 } = this.options, s3 = void 0 !== n3 && 1 !== n3;
return e3 && 3 === e3.length && (e3[3] = void 0), { values: !e3 || i3 && s3 ? null : e3, type: o3 };
}
_t(t3) {
return this.options.i18n[t3] || L2.I18N_DEFAULTS[t3];
}
_emit(t3, ...e3) {
this._eventListener[t3].forEach((t4) => t4(...e3, this));
}
on(t3, e3) {
return this._eventListener[t3].push(e3), this;
}
off(t3, e3) {
const o3 = this._eventListener[t3] || [], n3 = o3.indexOf(e3);
return ~n3 && o3.splice(n3, 1), this;
}
addSwatch(t3) {
const { values: e3 } = this._parseLocalColor(t3);
if (e3) {
const { _swatchColors: t4, _root: o3 } = this, n3 = A2(...e3), s3 = r2(`<button type="button" style="--pcr-color: ${n3.toRGBA().toString(0)}" aria-label="${this._t("btn:swatch")}"/>`);
return o3.swatches.appendChild(s3), t4.push({ el: s3, color: n3 }), this._eventBindings.push(i2(s3, "click", () => {
this.setHSVA(...n3.toHSVA(), true), this._emit("swatchselect", n3), this._emit("change", n3, "swatch", this);
})), true;
}
return false;
}
removeSwatch(t3) {
const e3 = this._swatchColors[t3];
if (e3) {
const { el: o3 } = e3;
return this._root.swatches.removeChild(o3), this._swatchColors.splice(t3, 1), true;
}
return false;
}
applyColor(t3 = false) {
const { preview: e3, button: o3 } = this._root, n3 = this._color.toRGBA().toString(0);
return e3.lastColor.style.setProperty("--pcr-color", n3), this.options.useAsButton || o3.style.setProperty("--pcr-color", n3), o3.classList.remove("clear"), this._lastColor = this._color.clone(), this._initializingActive || t3 || this._emit("save", this._color), this;
}
destroy() {
cancelAnimationFrame(this._setupAnimationFrame), this._eventBindings.forEach((t3) => s2(...t3)), Object.keys(this._components).forEach((t3) => this._components[t3].destroy());
}
destroyAndRemove() {
this.destroy();
const { root: t3, app: e3 } = this._root;
t3.parentElement && t3.parentElement.removeChild(t3), e3.parentElement.removeChild(e3), Object.keys(this).forEach((t4) => this[t4] = null);
}
hide() {
return !!this.isOpen() && (this._root.app.classList.remove("visible"), this._emit("hide"), true);
}
show() {
return !this.options.disabled && !this.isOpen() && (this._root.app.classList.add("visible"), this._rePositioningPicker(), this._emit("show", this._color), this);
}
isOpen() {
return this._root.app.classList.contains("visible");
}
setHSVA(t3 = 360, e3 = 0, o3 = 0, n3 = 1, i3 = false) {
const s3 = this._recalc;
if (this._recalc = false, t3 < 0 || t3 > 360 || e3 < 0 || e3 > 100 || o3 < 0 || o3 > 100 || n3 < 0 || n3 > 1)
return false;
this._color = A2(t3, e3, o3, n3);
const { hue: r3, opacity: a3, palette: l3 } = this._components;
return r3.update(t3 / 360), a3.update(n3), l3.update(e3 / 100, 1 - o3 / 100), i3 || this.applyColor(), s3 && this._updateOutput(), this._recalc = s3, true;
}
setColor(t3, e3 = false) {
if (null === t3)
return this._clearColor(e3), true;
const { values: o3, type: n3 } = this._parseLocalColor(t3);
if (o3) {
const t4 = n3.toUpperCase(), { options: i3 } = this._root.interaction, s3 = i3.find((e4) => e4.getAttribute("data-type") === t4);
if (s3 && !s3.hidden)
for (const t5 of i3)
t5.classList[t5 === s3 ? "add" : "remove"]("active");
return !!this.setHSVA(...o3, e3) && this.setColorRepresentation(t4);
}
return false;
}
setColorRepresentation(t3) {
return t3 = t3.toUpperCase(), !!this._root.interaction.options.find((e3) => e3.getAttribute("data-type").startsWith(t3) && !e3.click());
}
getColorRepresentation() {
return this._representation;
}
getColor() {
return this._color;
}
getSelectedColor() {
return this._lastColor;
}
getRoot() {
return this._root;
}
disable() {
return this.hide(), this.options.disabled = true, this._root.button.classList.add("disabled"), this;
}
enable() {
return this.options.disabled = false, this._root.button.classList.remove("disabled"), this;
}
}
return E2(L2, "utils", o2), E2(L2, "version", "1.8.2"), E2(L2, "I18N_DEFAULTS", { "ui:dialog": "color picker dialog", "btn:toggle": "toggle color picker dialog", "btn:swatch": "color swatch", "btn:last-color": "use previous color", "btn:save": "Save", "btn:cancel": "Cancel", "btn:clear": "Clear", "aria:btn:save": "save and close", "aria:btn:cancel": "cancel and close", "aria:btn:clear": "clear and close", "aria:input": "color input field", "aria:palette": "color selection area", "aria:hue": "hue selection slider", "aria:opacity": "selection slider" }), E2(L2, "DEFAULT_OPTIONS", { appClass: null, theme: "classic", useAsButton: false, padding: 8, disabled: false, comparison: true, closeOnScroll: false, outputPrecision: 0, lockOpacity: false, autoReposition: true, container: "body", components: { interaction: {} }, i18n: {}, swatches: null, inline: false, sliders: null, default: "#42445a", defaultRepresentation: null, position: "bottom-middle", adjustableNumbers: true, showAlways: false, closeWithKey: "Escape" }), E2(L2, "create", (t3) => new L2(t3)), e2 = e2.default;
})();
});
}
});
// src/main.ts
var main_exports = {};
__export(main_exports, {
default: () => CodeblockStylerPlugin
});
module.exports = __toCommonJS(main_exports);
var import_obsidian4 = require("obsidian");
// src/Settings.ts
var THEME_DEFAULT_SETTINGS = {
codeblock: {
lineNumbers: true,
unwrapLines: true,
wrapLinesActive: false,
curvature: 4
},
gutter: {
highlight: true,
activeLine: false
},
header: {
title: {
textFont: "",
textBold: false,
textItalic: true
},
languageTag: {
display: "none",
textFont: "",
textBold: true,
textItalic: false
},
languageIcon: {
display: "none",
displayColor: true
},
fontSize: 14,
collapsePlaceholder: ""
},
highlights: {
activeCodeblockLine: false,
activeEditorLine: false
},
advanced: {
gradientHighlights: false,
gradientHighlightsColorStop: "70%",
languageBorderColor: false,
languageBorderWidth: 5,
iconSize: 28
}
};
var THEME_FALLBACK_COLORS = {
codeblock: {
backgroundColor: "--code-background",
textColor: "--code-normal"
},
gutter: {
backgroundColor: "--code-background",
textColor: "--text-faint",
activeTextColor: "--text-muted"
},
header: {
backgroundColor: "--code-background",
title: {
textColor: "--code-comment"
},
languageTag: {
backgroundColor: "--code-background",
textColor: "--code-comment"
},
lineColor: "--color-base-30"
},
highlights: {
activeCodeblockLineColor: "--color-base-30",
activeEditorLineColor: "--color-base-20",
defaultColor: "--text-highlight-bg",
alternativeHighlights: {}
},
advanced: {
buttonColor: "--text-muted",
buttonActiveColor: "--text-normal"
}
};
var DEFAULT_THEME = {
settings: THEME_DEFAULT_SETTINGS,
colors: {
light: THEME_FALLBACK_COLORS,
dark: THEME_FALLBACK_COLORS
}
};
var SOLARIZED_THEME = {
settings: THEME_DEFAULT_SETTINGS,
colors: {
light: {
codeblock: {
backgroundColor: "#FCF6E4",
textColor: "#bababa"
},
gutter: {
backgroundColor: "#EDE8D6",
textColor: "#6c6c6c",
activeTextColor: "#8c8c8c"
},
header: {
backgroundColor: "#D5CCB4",
title: {
textColor: "#866704"
},
languageTag: {
backgroundColor: "#B8B5AA",
textColor: "#C25F30"
},
lineColor: "#EDD489"
},
highlights: {
activeCodeblockLineColor: "#EDE8D6",
activeEditorLineColor: "#60460633",
defaultColor: "#E9DFBA",
alternativeHighlights: {}
},
advanced: {
buttonColor: "--text-muted",
buttonActiveColor: "--text-normal"
}
},
dark: {
codeblock: {
backgroundColor: "#002b36",
textColor: "#bababa"
},
gutter: {
backgroundColor: "#073642",
textColor: "#6c6c6c",
activeTextColor: "#4c4c4c"
},
header: {
backgroundColor: "#0a4554",
title: {
textColor: "#dadada"
},
languageTag: {
backgroundColor: "#008080",
textColor: "#000000"
},
lineColor: "#46cced"
},
highlights: {
activeCodeblockLineColor: "#073642",
activeEditorLineColor: "#468eeb33",
defaultColor: "#054b5c",
alternativeHighlights: {}
},
advanced: {
buttonColor: "--text-muted",
buttonActiveColor: "--text-normal"
}
}
}
};
var DEFAULT_SETTINGS = {
themes: {
"Default": DEFAULT_THEME,
"Solarized": SOLARIZED_THEME
},
selectedTheme: "Default",
currentTheme: structuredClone(DEFAULT_THEME),
newTheme: "",
newHighlight: "",
excludedLanguages: "ad-*",
excludedCodeblocks: "dataview, dataviewjs, math",
specialLanguages: ["^preview$", "^include$", "^output$", "^run-.+$"],
redirectLanguages: {}
};
var PARAMETERS = ["title", "fold", "ln", "unwrap", "ignore"];
var PRIMARY_DELAY = 10;
var SECONDARY_DELAY = 200;
var PRISM_LANGUAGES = {
// Prism Languages: https://prismjs.com/plugins/show-language/
// "none": "Plain text", // NOTE: Obsidian uses this for codeblocks without language names
"plain": "Plain text",
"plaintext": "Plain text",
"text": "Plain text",
"txt": "Plain text",
"html": "HTML",
"xml": "XML",
"svg": "SVG",
"mathml": "MathML",
"ssml": "SSML",
"rss": "RSS",
"css": "CSS",
"clike": "C-like",
"js": "JavaScript",
"abap": "ABAP",
"abnf": "ABNF",
"al": "AL",
"antlr4": "ANTLR4",
"g4": "ANTLR4",
"apacheconf": "Apache Configuration",
"apl": "APL",
"aql": "AQL",
"ino": "Arduino",
"arff": "ARFF",
"armasm": "ARM Assembly",
"arm-asm": "ARM Assembly",
"art": "Arturo",
"asciidoc": "AsciiDoc",
"adoc": "AsciiDoc",
"aspnet": "ASP.NET (C#)",
"asm6502": "6502 Assembly",
"asmatmel": "Atmel AVR Assembly",
"autohotkey": "AutoHotkey",
"autoit": "AutoIt",
"avisynth": "AviSynth",
"avs": "AviSynth",
"avro-idl": "Avro IDL",
"avdl": "Avro IDL",
"awk": "AWK",
"gawk": "GAWK",
"sh": "Shell",
"basic": "BASIC",
"bbcode": "BBcode",
"bbj": "BBj",
"bnf": "BNF",
"rbnf": "RBNF",
"bqn": "BQN",
"bsl": "BSL (1C:Enterprise)",
"oscript": "OneScript",
"csharp": "C#",
"cs": "C#",
"dotnet": "C#",
"cpp": "C++",
"cfscript": "CFScript",
"cfc": "CFScript",
"cil": "CIL",
"cilkc": "Cilk/C",
"cilk-c": "Cilk/C",
"cilkcpp": "Cilk/C++",
"cilk-cpp": "Cilk/C++",
"cilk": "Cilk/C++",
"cmake": "CMake",
"cobol": "COBOL",
"coffee": "CoffeeScript",
"conc": "Concurnas",
"csp": "Content-Security-Policy",
"css-extras": "CSS Extras",
"csv": "CSV",
"cue": "CUE",
"dataweave": "DataWeave",
"dax": "DAX",
"django": "Django/Jinja2",
"jinja2": "Django/Jinja2",
"dns-zone-file": "DNS zone file",
"dns-zone": "DNS zone file",
"dockerfile": "Docker",
"dot": "DOT (Graphviz)",
"gv": "DOT (Graphviz)",
"ebnf": "EBNF",
"editorconfig": "EditorConfig",
"ejs": "EJS",
"etlua": "Embedded Lua templating",
"erb": "ERB",
"excel-formula": "Excel Formula",
"xlsx": "Excel Formula",
"xls": "Excel Formula",
"fsharp": "F#",
"firestore-security-rules": "Firestore security rules",
"ftl": "FreeMarker Template Language",
"gml": "GameMaker Language",
"gamemakerlanguage": "GameMaker Language",
"gap": "GAP (CAS)",
"gcode": "G-code",
"gdscript": "GDScript",
"gedcom": "GEDCOM",
"gettext": "gettext",
"po": "gettext",
"glsl": "GLSL",
"gn": "GN",
"gni": "GN",
"linker-script": "GNU Linker Script",
"ld": "GNU Linker Script",
"go-module": "Go module",
"go-mod": "Go module",
"graphql": "GraphQL",
"hbs": "Handlebars",
"hs": "Haskell",
"hcl": "HCL",
"hlsl": "HLSL",
"http": "HTTP",
"hpkp": "HTTP Public-Key-Pins",
"hsts": "HTTP Strict-Transport-Security",
"ichigojam": "IchigoJam",
"icu-message-format": "ICU Message Format",
"idr": "Idris",
"ignore": ".ignore",
"gitignore": ".gitignore",
"hgignore": ".hgignore",
"npmignore": ".npmignore",
"inform7": "Inform 7",
"javadoc": "JavaDoc",
"javadoclike": "JavaDoc-like",
"javastacktrace": "Java stack trace",
"jq": "JQ",
"jsdoc": "JSDoc",
"js-extras": "JS Extras",
"json": "JSON",
"webmanifest": "Web App Manifest",
"json5": "JSON5",
"jsonp": "JSONP",
"jsstacktrace": "JS stack trace",
"js-templates": "JS Templates",
"keepalived": "Keepalived Configure",
"kts": "Kotlin Script",
"kt": "Kotlin",
"kumir": "KuMir (\u041A\u0443\u041C\u0438\u0440)",
"kum": "KuMir (\u041A\u0443\u041C\u0438\u0440)",
"latex": "LaTeX",
"tex": "TeX",
"context": "ConTeXt",
"lilypond": "LilyPond",
"ly": "LilyPond",
"emacs": "Lisp",
"elisp": "Lisp",
"emacs-lisp": "Lisp",
"llvm": "LLVM IR",
"log": "Log file",
"lolcode": "LOLCODE",
"magma": "Magma (CAS)",
"md": "Markdown",
"markup-templating": "Markup templating",
"matlab": "MATLAB",
"maxscript": "MAXScript",
"mel": "MEL",
"metafont": "METAFONT",
"mongodb": "MongoDB",
"moon": "MoonScript",
"n1ql": "N1QL",
"n4js": "N4JS",
"n4jsd": "N4JS",
"nand2tetris-hdl": "Nand To Tetris HDL",
"naniscript": "Naninovel Script",
"nani": "Naninovel Script",
"nasm": "NASM",
"neon": "NEON",
"nginx": "nginx",
"nsis": "NSIS",
"objectivec": "Objective-C",
"objc": "Objective-C",
"ocaml": "OCaml",
"opencl": "OpenCL",
"openqasm": "OpenQasm",
"qasm": "OpenQasm",
"parigp": "PARI/GP",
"objectpascal": "Object Pascal",
"psl": "PATROL Scripting Language",
"pcaxis": "PC-Axis",
"px": "PC-Axis",
"peoplecode": "PeopleCode",
"pcode": "PeopleCode",
"php": "PHP",
"phpdoc": "PHPDoc",
"php-extras": "PHP Extras",
"plant-uml": "PlantUML",
"plantuml": "PlantUML",
"plsql": "PL/SQL",
"powerquery": "PowerQuery",
"pq": "PowerQuery",
"mscript": "PowerQuery",
"powershell": "PowerShell",
"promql": "PromQL",
"properties": ".properties",
"protobuf": "Protocol Buffers",
"purebasic": "PureBasic",
"pbfasm": "PureBasic",
"purs": "PureScript",
"py": "Python",
"qsharp": "Q#",
"qs": "Q#",
"q": "Q (kdb+ database)",
"qml": "QML",
"rkt": "Racket",
"cshtml": "Razor C#",
"razor": "Razor C#",
"jsx": "React JSX",
"tsx": "React TSX",
"renpy": "Ren'py",
"rpy": "Ren'py",
"res": "ReScript",
"rest": "reST (reStructuredText)",
"robotframework": "Robot Framework",
"robot": "Robot Framework",
"rb": "Ruby",
"sas": "SAS",
"sass": "Sass (Sass)",
"scss": "Sass (SCSS)",
"shell-session": "Shell session",
"sh-session": "Shell session",
"shellsession": "Shell session",
"sml": "SML",
"smlnj": "SML/NJ",
"solidity": "Solidity (Ethereum)",
"sol": "Solidity (Ethereum)",
"solution-file": "Solution file",
"sln": "Solution file",
"soy": "Soy (Closure Template)",
"sparql": "SPARQL",
"rq": "SPARQL",
"splunk-spl": "Splunk SPL",
"sqf": "SQF: Status Quo Function (Arma 3)",
"sql": "SQL",
"stata": "Stata Ado",
"iecst": "Structured Text (IEC 61131-3)",
"supercollider": "SuperCollider",
"sclang": "SuperCollider",
"systemd": "Systemd configuration file",
"t4-templating": "T4 templating",
"t4-cs": "T4 Text Templates (C#)",
"t4": "T4 Text Templates (C#)",
"t4-vb": "T4 Text Templates (VB)",
"tap": "TAP",
"tt2": "Template Toolkit 2",
"toml": "TOML",
"trickle": "trickle",
"troy": "troy",
"trig": "TriG",
"ts": "TypeScript",
"tsconfig": "TSConfig",
"uscript": "UnrealScript",
"uc": "UnrealScript",
"uorazor": "UO Razor Script",
"uri": "URI",
"url": "URL",
"vbnet": "VB.Net",
"vhdl": "VHDL",
"vim": "vim",
"visual-basic": "Visual Basic",
"vba": "VBA",
"vb": "Visual Basic",
"wasm": "WebAssembly",
"web-idl": "Web IDL",
"webidl": "Web IDL",
"wgsl": "WGSL",
"wiki": "Wiki markup",
"wolfram": "Wolfram language",
"nb": "Mathematica Notebook",
"wl": "Wolfram language",
"xeoracube": "XeoraCube",
"xml-doc": "XML doc (.net)",
"xojo": "Xojo (REALbasic)",
"xquery": "XQuery",
"yaml": "YAML",
"yml": "YAML",
"yang": "YANG"
};
var MANUAL_LANGUAGES = {
// Manually generated list from https://prismjs.com/ - 297 languages
"css": "CSS",
"clike": "C-like",
"javascript": "JavaScript",
"js": "JavaScript",
"abap": "ABAP",
"abnf": "ABNF",
"actionscript": "ActionScript",
"ada": "Ada",
"agda": "Agda",
"al": "AL",
"antlr4": "ANTLR4",
"g4": "ANTLR4",
"apacheconf": "Apache Configuration",
"apex": "Apex",
"apl": "APL",
"applescript": "AppleScript",
"aql": "AQL",
"arduino": "Arduino",
"ino": "Arduino",
"arff": "ARFF",
"armasm": "ARM Assembly",
"arm-asm": "ARM Assembly",
"arturo": "Arturo",
"art": "Arturo",
"asciidoc": "AsciiDoc",
"adoc": "AsciiDoc",
"aspnet": "ASP.NET (C#)",
"asm6502": "6502 Assembly",
"asmatmel": "Atmel AVR Assembly",
"autohotkey": "AutoHotkey",
"autoit": "AutoIt",
"avisynth": "AviSynth",
"avs": "AviSynth",
"avro-idl": "Avro IDL",
"avdl": "Avro IDL",
"awk": "AWK",
"gawk": "GAWK",
"bash": "Shell",
"sh": "Shell",
"shell": "Shell",
"basic": "BASIC",
"batch": "Batch",
"bbcode": "BBcode",
"shortcode": "BBcode",
"bbj": "BBj",
"birb": "Birb",
"bison": "Bison",
"bnf": "BNF",
"rbnf": "BNF",
"bqn": "BQN",
"brainfuck": "Brainfuck",
"brightscript": "BrightScript",
"bro": "Bro",
"bsl": "BSL (1C)",
"oscript": "BSL (1C)",
"c": "C",
"csharp": "C#",
"cs": "C#",
"dotnet": "C#",
"cpp": "C++",
"cfscript": "CFScript",
"cfc": "CFScript",
"chaiscript": "ChaiScript",
"cil": "CIL",
"cilkc": "Cilk/C",
"cilk-c": "Cilk/C",
"cilkcpp": "Cilk/C++",
"cilk-cpp": "Cilk/C++",
"cilk": "Cilk/C++",
"clojure": "Clojure",
"cmake": "CMake",
"cobol": "COBOL",
"coffeescript": "CoffeeScript",
"coffee": "CoffeeScript",
"concurnas": "Concurnas",
"conc": "Concurnas",
"csp": "Content-Security-Policy",
"cooklang": "Cooklang",
"coq": "Coq",
"crystal": "Crystal",
"css-extras": "CSS Extras",
"csv": "CSV",
"cue": "CUE",
"cypher": "Cypher",
"d": "D",
"dart": "Dart",
"dataweave": "DataWeave",
"dax": "DAX",
"dhall": "Dhall",
"diff": "Diff",
"django": "Django/Jinja2",
"jinja2": "Django/Jinja2",
"dns-zone-file": "DNS zone file",
"dns-zone": "DNS zone file",
"docker": "Docker",
"dockerfile": "Docker",
"dot": "DOT (Graphviz)",
"gv": "DOT (Graphviz)",
"ebnf": "EBNF",
"editorconfig": "EditorConfig",
"eiffel": "Eiffel",
"ejs": "EJS",
"eta": "EJS",
"elixir": "Elixir",
"elm": "Elm",
"etlua": "Embedded Lua templating",
"erb": "ERB",
"erlang": "Erlang",
"excel-formula": "Excel Formula",
"xlsx": "Excel Formula",
"xls": "Excel Formula",
"fsharp": "F#",
"factor": "Factor",
"false": "False",
"firestore-security-rules": "Firestore security rules",
"flow": "Flow",
"fortran": "Fortran",
"ftl": "FreeMarker Template Language",
"gml": "GameMaker Language",
"gamemakerlanguage": "GameMaker Language",
"gap": "GAP (CAS)",
"gcode": "G-code",
"gdscript": "GDScript",
"gedcom": "GEDCOM",
"gettext": "gettext",
"po": "gettext",
"gherkin": "Gherkin",
"git": "Git",
"glsl": "GLSL",
"gn": "GN",
"gni": "GN",
"linker-script": "GNU Linker Script",
"ld": "GNU Linker Script",
"go": "Go",
"go-module": "Go module",
"go-mod": "Go module",
"gradle": "Gradle",
"graphql": "GraphQL",
"groovy": "Groovy",
"haml": "Haml",
"handlebars": "Handlebars",
"hbs": "Handlebars",
"mustache": "Handlebars",
"haskell": "Haskell",
"hs": "Haskell",
"haxe": "Haxe",
"hcl": "HCL",
"hlsl": "HLSL",
"hoon": "Hoon",
"http": "HTTP",
"hpkp": "HTTP Public-Key-Pins",
"hsts": "HTTP Strict-Transport-Security",
"ichigojam": "IchigoJam",
"icon": "Icon",
"icu-message-format": "ICU Message Format",
"idris": "Idris",
"idr": "Idris",
"inform7": "Inform 7",
"ini": "Ini",
"io": "Io",
"j": "J",
"java": "Java",
"javadoc": "JavaDoc",
"javadoclike": "JavaDoc-like",
"javastacktrace": "Java stack trace",
"jexl": "Jexl",
"jolie": "Jolie",
"jq": "JQ",
"jsdoc": "JSDoc",
"js-extras": "JS Extras",
"json": "JSON",
"webmanifest": "JSON",
"json5": "JSON5",
"jsonp": "JSONP",
"jsstacktrace": "JS stack trace",
"js-templates": "JS Templates",
"julia": "Julia",
"keepalived": "Keepalived Configure",
"keyman": "Keyman",
"kotlin": "Kotlin",
"kt": "Kotlin",
"kts": "Kotlin",
"kumir": "KuMir (\u041A\u0443\u041C\u0438\u0440)",
"kum": "KuMir (\u041A\u0443\u041C\u0438\u0440)",
"kusto": "Kusto",
"latex": "LaTeX",
"tex": "LaTeX",
"context": "LaTeX",
"latte": "Latte",
"less": "Less",
"lilypond": "LilyPond",
"ly": "LilyPond",
"liquid": "Liquid",
"lisp": "Lisp",
"emacs": "Lisp",
"elisp": "Lisp",
"emacs-lisp": "Lisp",
"livescript": "LiveScript",
"llvm": "LLVM IR",
"log": "Log file",
"lolcode": "LOLCODE",
"lua": "Lua",
"magma": "Magma (CAS)",
"makefile": "Makefile",
"markdown": "Markdown",
"md": "Markdown",
"markup-templating": "Markup templating",
"mata": "Mata",
"matlab": "MATLAB",
"maxscript": "MAXScript",
"mel": "MEL",
"mermaid": "Mermaid",
"metafont": "METAFONT",
"mizar": "Mizar",
"mongodb": "MongoDB",
"monkey": "Monkey",
"moonscript": "MoonScript",
"moon": "MoonScript",
"n1ql": "N1QL",
"n4js": "N4JS",
"n4jsd": "N4JS",
"nand2tetris-hdl": "Nand To Tetris HDL",
"naniscript": "Naninovel Script",
"nani": "Naninovel Script",
"nasm": "NASM",
"neon": "NEON",
"nevod": "Nevod",
"nginx": "nginx",
"nim": "Nim",
"nix": "Nix",
"nsis": "NSIS",
"objectivec": "Objective-C",
"objc": "Objective-C",
"ocaml": "OCaml",
"odin": "Odin",
"opencl": "OpenCL",
"openqasm": "OpenQasm",
"qasm": "OpenQasm",
"oz": "Oz",
"parigp": "PARI/GP",
"parser": "Parser",
"pascal": "Pascal",
"pascaligo": "Pascaligo",
"psl": "PATROL Scripting Language",
"pcaxis": "PC-Axis",
"px": "PC-Axis",
"peoplecode": "PeopleCode",
"pcode": "PeopleCode",
"perl": "Perl",
"php": "PHP",
"phpdoc": "PHPDoc",
"php-extras": "PHP Extras",
"plant-uml": "PlantUML",
"plantuml": "PlantUML",
"plsql": "PL/SQL",
"powerquery": "PowerQuery",
"pq": "PowerQuery",
"mscript": "PowerQuery",
"powershell": "PowerShell",
"processing": "Processing",
"prolog": "Prolog",
"promql": "PromQL",
"properties": ".properties",
"protobuf": "Protocol Buffers",
"pug": "Pug",
"puppet": "Puppet",
"pure": "Pure",
"purebasic": "PureBasic",
"pbfasm": "PureBasic",
"purescript": "PureScript",
"purs": "PureScript",
"python": "Python",
"py": "Python",
"qsharp": "Q#",
"qs": "Q#",
"q": "Q (kdb+ database)",
"qml": "QML",
"qore": "Qore",
"r": "R",
"racket": "Racket",
"rkt": "Racket",
"cshtml": "Razor C#",
"jsx": "React JSX",
"tsx": "React TSX",
"reason": "Reason",
"regex": "Regex",
"rego": "Rego",
"renpy": "Ren'py",
"rpy": "Ren'py",
"rescript": "ReScript",
"res": "ReScript",
"rest": "reST (reStructuredText)",
"rip": "Rip",
"roboconf": "Roboconf",
"robotframework": "Robot Framework",
"robot": "Robot Framework",
"ruby": "Ruby",
"rb": "Ruby",
"rust": "Rust",
"sas": "SAS",
"sass": "Sass (Sass)",
"scss": "Sass (SCSS)",
"scala": "Scala",
"scheme": "Scheme",
"shell-session": "Shell session",
"sh-session": "Shell session",
"shellsession": "Shell session",
"smali": "Smali",
"smalltalk": "Smalltalk",
"smarty": "Smarty",
"sml": "SML",
"smlnj": "SML",
"solidity": "Solidity (Ethereum)",
"sol": "Solidity (Ethereum)",
"solution-file": "Solution file",
"sln": "Solution file",
"soy": "Soy (Closure Template)",
"sparql": "SPARQL",
"rq": "SPARQL",
"splunk-spl": "Splunk SPL",
"sqf": "SQF",
"sql": "SQL",
"squirrel": "Squirrel",
"stan": "Stan",
"stata": "Stata Ado",
"iecst": "Structured Text (IEC 61131-3)",
"stylus": "Stylus",
"supercollider": "SuperCollider",
"sclang": "SuperCollider",
"swift": "Swift",
"systemd": "Systemd configuration file",
"t4-templating": "T4 templating",
"t4-cs": "T4 Text Templates (C#)",
"t4": "T4 Text Templates (C#)",
"t4-vb": "T4 Text Templates (VB)",
"tap": "TAP",
"tcl": "Tcl",
"tt2": "Template Toolkit 2",
"textile": "Textile",
"toml": "TOML",
"tremor": "Tremor",
"trickle": "Tremor",
"troy": "Tremor",
"turtle": "Turtle",
"trig": "Turtle",
"twig": "Twig",
"typescript": "TypeScript",
"ts": "TypeScript",
"typoscript": "TypoScript",
"tsconfig": "TSConfig",
"unrealscript": "UnrealScript",
"uscript": "UnrealScript",
"uc": "UnrealScript",
"uorazor": "UO Razor Script",
"uri": "URI",
"url": "URI",
"v": "V",
"vala": "Vala",
"vbnet": "VB.Net",
"velocity": "Velocity",
"verilog": "Verilog",
"vhdl": "VHDL",
"vim": "vim",
"visual-basic": "Visual Basic",
"vb": "Visual Basic",
"warpscript": "WarpScript",
"wasm": "WebAssembly",
"web-idl": "Web IDL",
"webidl": "Web IDL",
"wgsl": "WGSL",
"wiki": "Wiki markup",
"wolfram": "Wolfram language",
"mathematica": "Wolfram language",
"nb": "Wolfram language",
"wl": "Wolfram language",
"wren": "Wren",
"xeora": "Xeora",
"xeoracube": "Xeora",
"xml-doc": "XML doc (.net)",
"xojo": "Xojo (REALbasic)",
"xquery": "XQuery",
"yaml": "YAML",
"yml": "YAML",
"yang": "YANG",
"zig": "Zig"
};
var LANGUAGE_NAMES = { ...PRISM_LANGUAGES, ...MANUAL_LANGUAGES };
var LANGUAGE_ICONS_DATA = {
// Icons from https://github.com/vscode-icons/vscode-icons/wiki/ListOfFiles and https://devicon.dev/
".gitignore": `<path d="M29.472,14.753,17.247,2.528a1.8,1.8,0,0,0-2.55,0L12.158,5.067l3.22,3.22a2.141,2.141,0,0,1,2.712,2.73l3.1,3.1a2.143,2.143,0,1,1-1.285,1.21l-2.895-2.895v7.617a2.141,2.141,0,1,1-1.764-.062V12.3a2.146,2.146,0,0,1-1.165-2.814L10.911,6.314,2.528,14.7a1.8,1.8,0,0,0,0,2.551L14.753,29.472a1.8,1.8,0,0,0,2.55,0L29.472,17.3a1.8,1.8,0,0,0,0-2.551" style="fill:#dd4c35"/><path d="M12.158,5.067l3.22,3.22a2.141,2.141,0,0,1,2.712,2.73l3.1,3.1a2.143,2.143,0,1,1-1.285,1.21l-2.895-2.895v7.617a2.141,2.141,0,1,1-1.764-.062V12.3a2.146,2.146,0,0,1-1.165-2.814L10.911,6.314" style="fill:#fff"/>`,
".hgignore": `<path d="M28.042,23.172c4.989-8.3-1.054-21.751-12.1-20.384C5.955,4.022,5.794,14.53,14.593,17.026c7.614,2.162,1.573,6.992,1.749,10.208s6.62,4.382,11.7-4.063" style="fill:#1b1b1b"/><circle cx="9.784" cy="24.257" r="4.332" style="fill:#1b1b1b"/><circle cx="4.835" cy="15.099" r="2.835" style="fill:#1b1b1b"/><path d="M28.231,22.835c4.989-8.3-1.054-21.751-12.1-20.384C6.144,3.686,5.983,14.194,14.781,16.69c7.614,2.162,1.573,6.992,1.749,10.208s6.62,4.382,11.7-4.063" style="fill:#bfbfbf"/><circle cx="9.972" cy="23.921" r="4.332" style="fill:#bfbfbf"/><circle cx="5.023" cy="14.762" r="2.835" style="fill:#bfbfbf"/><path d="M17.811,28.168a.669.669,0,0,1,.635-.994,7,7,0,0,0,3.7-.746c3.247-1.841,8.244-10.7,5.731-16.285A12.77,12.77,0,0,0,25.049,5.7c-.236-.249-.1-.236.059-.152a10.08,10.08,0,0,1,2.857,3.676,14.578,14.578,0,0,1,1.1,10.279c-.494,1.817-2.2,5.928-4.691,7.706s-5.424,2.8-6.563.955M15.548,16.673c-1.7-.5-3.894-1.208-5.163-2.867A8.088,8.088,0,0,1,8.854,10.49c-.043-.27-.08-.5,0-.558a21.882,21.882,0,0,0,1.688,2.723,6.487,6.487,0,0,0,3.526,2.256,12.383,12.383,0,0,1,3.867,1.37c.739.629.8,1.989.552,2.142s-.759-1.1-2.938-1.749m-8.155,10.4c3.369,3.121,8.439-1.166,6.207-4.954-.251-.425-.576-.749-.469-.423.714,2.178.054,3.9-1.176,4.788a4.063,4.063,0,0,1-4.192.328c-.39-.2-.551.092-.37.261m-3.93-10.16c.018.2.292.458.722.576a2.969,2.969,0,0,0,2.55-.413,2.759,2.759,0,0,0,.81-3.452c-.172-.308-.4-.533-.218-.041A2.68,2.68,0,0,1,6.148,16.53a2.439,2.439,0,0,1-2.1.164c-.391-.119-.6.016-.58.223"/><path d="M19.056,28.407c-.033.389.414.466,1.016.376a6.755,6.755,0,0,0,2.313-.648,9.54,9.54,0,0,0,3.314-2.63c2.662-3.473,3.6-7.582,3.46-8.173A16.172,16.172,0,0,1,27,22.692c-1.888,2.968-3.256,4.548-6.413,5.314-.879.213-1.485-.112-1.529.4m-7-13.5A7.967,7.967,0,0,0,14.6,16.089a12.2,12.2,0,0,1,2.96,1.31c.378.253.618.819.642.317s-.285-.934-.976-1.164a15.274,15.274,0,0,0-2.009-.674c-.485-.1-1.273-.285-1.949-.493-.371-.114-.748-.313-1.214-.483M10.037,27.718c.429-.09,2.924-.736,3.51-2.788.183-.64.215-.511.164-.165a3.8,3.8,0,0,1-3.358,3.123c-.289.03-.668-.1-.315-.17M5.046,17.2a7.991,7.991,0,0,0,1.195-.336,2.383,2.383,0,0,0,1.232-1.741c.064-.505.083-.378.109-.1a2.627,2.627,0,0,1-2.147,2.324c-.2.028-.56.011-.389-.143" style="fill:#fff"/><path d="M27.54,17.446c2.124-6.123-2.321-15.37-11.315-14.258-8.126,1-8.257,9.557-1.1,11.59,8.112,1.228,3.227,7.347,2.535,10.433-.621,2.766,6.555,3.221,9.876-7.765M7.219,26.2a2.028,2.028,0,0,1,1.332.442,3.525,3.525,0,0,0,3.755-.983A4.154,4.154,0,0,0,12.869,22c-.806-2.319-4.229-2.278-5.758-.353-1.654,2.15-.4,4.539.108,4.548M2.676,15.451a1.166,1.166,0,0,0,.908.863c.731.1.88.434,1.743.263A2.464,2.464,0,0,0,7.1,14.916a1.771,1.771,0,0,0-.824-2.14,2.689,2.689,0,0,0-3.047.363,2.263,2.263,0,0,0-.558,2.312" style="fill:#999"/><path d="M21.981,22.228c-2.2-.272-5.36,4.69-2.378,4.109h0a5.645,5.645,0,0,0,3.683-1.932,23.136,23.136,0,0,0,4.055-7.2c.5-1.861.251-4.745-.269-2.036-.533,2.781-2.893,7.336-5.091,7.064M10.523,26.362A2.778,2.778,0,0,0,12.5,22.99c-.165-1.276-.861,1.584-2.15,2.012-1.953.648-1.733,1.861.176,1.361m-4.978-10.2c.663-.173,1.54-1.077,1.1-1.767-.537-.85-2.033-.122-2.084.824s.277,1.127.979.943" style="fill:#f3f3f3"/>`,
".npmignore": `<path d="M2,10.555H30v9.335H16v1.556H9.778V19.889H2Zm1.556,7.779H6.667V13.666H8.222v4.667H9.778V12.111H3.556Zm7.778-6.223v7.779h3.111V18.334h3.111V12.111Zm3.111,1.556H16v3.112H14.444Zm4.667-1.556v6.223h3.111V13.666h1.556v4.667h1.556V13.666h1.556v4.667h1.556V12.111Z" style="fill:#cb3837"/>`,
".properties": `<path d="M23.265,24.381l.9-.894c4.164.136,4.228-.01,4.411-.438l1.144-2.785L29.805,20l-.093-.231c-.049-.122-.2-.486-2.8-2.965V15.5c3-2.89,2.936-3.038,2.765-3.461L28.538,9.225c-.171-.422-.236-.587-4.37-.474l-.9-.93a20.166,20.166,0,0,0-.141-4.106l-.116-.263-2.974-1.3c-.438-.2-.592-.272-3.4,2.786l-1.262-.019c-2.891-3.086-3.028-3.03-3.461-2.855L9.149,3.182c-.433.175-.586.237-.418,4.437l-.893.89c-4.162-.136-4.226.012-4.407.438L2.285,11.733,2.195,12l.094.232c.049.12.194.48,2.8,2.962l0,1.3c-3,2.89-2.935,3.038-2.763,3.462l1.138,2.817c.174.431.236.584,4.369.476l.9.935a20.243,20.243,0,0,0,.137,4.1l.116.265,2.993,1.308c.435.182.586.247,3.386-2.8l1.262.016c2.895,3.09,3.043,3.03,3.466,2.859l2.759-1.115C23.288,28.644,23.44,28.583,23.265,24.381ZM11.407,17.857a4.957,4.957,0,1,1,6.488,2.824A5.014,5.014,0,0,1,11.407,17.857Z" style="fill:#99b8c4"/>`,
"6502 Assembly": `<defs><linearGradient id="a" x1="836.63" y1="36.205" x2="843.802" y2="14.48" gradientTransform="translate(525.922 30.249) rotate(180) scale(0.607 0.607)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff" stop-opacity="0"/><stop offset="1" stop-color="#fff" stop-opacity="0.275"/></linearGradient></defs><title>file_type_assembly</title><path d="M16,2c-1.246,3.056-2,5.057-3.391,8.022A21.884,21.884,0,0,0,16.2,13.156a14.858,14.858,0,0,1-4-2.283C10.43,14.579,7.646,19.855,2,30c5.186-2.994,9.012-4.648,12.691-4.966V24.2h-.834v-.837h.834V24.2h1.675V22.521H14.691v-.834h-.834V20.013h.834v-.834h1.675v.834H17.2v.837h-.837v-.837H14.691v1.675h1.675v.834H17.2V24.2h-.837v.783c3.98.1,8.006,1.772,13.634,5.021-.863-1.589-1.636-3.021-2.372-4.385a25.526,25.526,0,0,0-4.833-3.333A14.436,14.436,0,0,1,26.65,23.8C19.17,9.872,18.565,8.02,16,2ZM10.511,19.179h1.671v.834h.837v5.021h-.837V22.521H10.511v2.512H9.673V20.013h.837Zm0,.834v1.675h1.671V20.013Zm7.526-.834h.837v.834h.837v.837h.834v-.837h.837v-.834h.837v5.855h-.837V20.85h-.837v.837h-.834V20.85h-.837v4.184h-.837Z" style="fill:#0000bf"/><path d="M23.881,18.642c-6.069-8.237-7.476-14.876-7.832-16.461A175.217,175.217,0,0,0,23.881,18.642Z" style="fill:#fff;fill-opacity:0.165680468082428"/><path d="M16.051,2.12,15.6,3.227c-.159.391-.311.765-.461,1.131s-.3.724-.448,1.077-.3.7-.448,1.053-.3.706-.465,1.066-.329.729-.506,1.111-.362.778-.561,1.193c-.028.057-.061.123-.089.181A21.872,21.872,0,0,0,16.2,13.156a14.879,14.879,0,0,1-3.989-2.276l-.14.287c-.065.133-.144.283-.212.42l-.106.219c-.878,1.793-2.006,3.984-3.524,6.822,3.551-2,7.381-4.887,14.338-2.4-.349-.661-.67-1.28-.971-1.863s-.581-1.128-.841-1.644-.5-1-.725-1.463-.433-.9-.629-1.313-.38-.818-.554-1.2-.339-.754-.5-1.118S18.047,6.9,17.9,6.546s-.291-.709-.434-1.066c-.036-.091-.073-.186-.109-.277C16.949,4.247,16.536,3.258,16.051,2.12Z" style="fill:url(#a)"/>`,
"ActionScript": `<path d="M2,15.281c1.918,0,2.11-1.055,2.11-1.918a17.119,17.119,0,0,0-.192-2.205,18.723,18.723,0,0,1-.192-2.205c0-2.4,1.63-3.452,3.836-3.452h.575V6.938H7.658c-1.534,0-2.11.767-2.11,2.205a14.412,14.412,0,0,0,.192,1.918,14.306,14.306,0,0,1,.192,2.014c0,1.726-.671,2.493-1.918,2.877v.1c1.151.288,1.918,1.151,1.918,2.877a14.306,14.306,0,0,1-.192,2.014,13,13,0,0,0-.192,1.918c0,1.438.575,2.3,2.11,2.3h.479V26.6H7.562c-2.205,0-3.836-.959-3.836-3.644a18.723,18.723,0,0,1,.192-2.205,15.68,15.68,0,0,0,.192-2.11c0-.863-.288-1.918-2.11-1.918Z" style="fill:#c41718"/><path d="M9.479,18.062,8.233,21.8H6.6L10.63,9.911h1.822L16.479,21.8H14.945L13.7,18.062Zm3.932-1.151L12.26,13.459a9.364,9.364,0,0,1-.575-2.205h0c-.192.671-.384,1.438-.575,2.11L9.959,16.815h3.452Z" style="fill:#c41718"/><path d="M17.918,19.979a5.941,5.941,0,0,0,2.781.767c1.534,0,2.493-.863,2.493-2.014s-.671-1.726-2.205-2.4c-1.918-.671-3.164-1.726-3.164-3.356,0-1.822,1.534-3.26,3.836-3.26a5.135,5.135,0,0,1,2.589.575l-.384,1.247a5.519,5.519,0,0,0-2.3-.479c-1.63,0-2.205.959-2.205,1.822,0,1.151.767,1.63,2.4,2.3,2.014.767,3.068,1.726,3.068,3.452,0,1.822-1.342,3.452-4.123,3.452a5.807,5.807,0,0,1-3.068-.767Z" style="fill:#c41718"/><path d="M30,16.623c-1.918,0-2.11,1.151-2.11,1.918a15.68,15.68,0,0,0,.192,2.11,15.738,15.738,0,0,1,.192,2.205c0,2.685-1.63,3.644-3.836,3.644h-.575V25.062h.479c1.438,0,2.11-.863,2.11-2.3a13,13,0,0,0-.192-1.918,14.306,14.306,0,0,1-.192-2.014c0-1.726.767-2.589,1.918-2.877v-.1c-1.151-.288-1.918-1.151-1.918-2.877a14.306,14.306,0,0,1,.192-2.014,13,13,0,0,0,.192-1.918c0-1.438-.575-2.205-2.11-2.3h-.479V5.4h.575c2.205,0,3.836,1.055,3.836,3.452a17.119,17.119,0,0,1-.192,2.205,17.119,17.119,0,0,0-.192,2.205c0,.959.288,1.918,2.11,1.918Z" style="fill:#c41718"/>`,
"Ada": `<path d="M24.554,20.075c.209.27,1.356.961,1.37,1.246a6.921,6.921,0,0,0-1.4-.324c-.468-.142-.951-.293-1.412-.48a9.2,9.2,0,0,1-2.375-1.3A3.146,3.146,0,0,1,19.3,16.75a1.722,1.722,0,0,1,1.767-1.822,3.584,3.584,0,0,1,1.593.321c.146.066,1.31.606,1.256.809a5.5,5.5,0,0,0-1.41-.112c-.649.244-.4.828-.168,1.311a7.877,7.877,0,0,0,1.078,1.554C23.58,19.005,24.3,20.082,24.554,20.075Z" style="fill:#0f23c3"/><path d="M24.141,16.276c.128-.59.819-1.384,1.344-.773a4.2,4.2,0,0,1,.578,1.918c.12.656.2,1.327.261,1.982.038.379.34,1.794.123,2.075a23.24,23.24,0,0,1-2.922-2.838,3.763,3.763,0,0,1-.925-1.7C22.5,15.867,23.479,16.21,24.141,16.276Z" style="fill:#1a1978"/><path d="M26.3,17.781c.141-.732-.406-2.592-1.067-2.949a.06.06,0,0,0,.044-.007c-.156-.444-1.359,1.116-1.228,1.174-.316-.138.774-1.984.988-2.16.7-.578,1.372-.086,1.845.543a6.036,6.036,0,0,1,.733,4.434,4.5,4.5,0,0,1-.421,1.312c-.1.22-.45,1.1-.682,1.174A14.754,14.754,0,0,0,26.3,17.781Z" style="fill:#0f23c3"/><path d="M3.687,8.4c.179-.188-.041-1.527.324-1.548.262-.015.553,1.741.627,1.968a9.2,9.2,0,0,0,1.127,2.329,7.529,7.529,0,0,0,4.016,2.978,4.55,4.55,0,0,0,2.366.2c.931-.208,1.82-.577,2.757-.765,1.35-.27,3.342-.352,4.438.647.7.641.376.76.043,1.421a2.445,2.445,0,0,0,.178,2.562c.235.342,1.033.827.675,1.094-.567.424-1.277-.452-1.636-.776-1.4-1.264-2.711-1.313-4.492-1.074a8.987,8.987,0,0,1-4.883-.708A9.469,9.469,0,0,1,3.687,8.4Z" style="fill:#d2d2d2"/><path d="M19.941,30a3.615,3.615,0,0,1-2.325-.817c.469-.092,1.021.025,1.508-.044a9.7,9.7,0,0,0,1.754-.43A10.537,10.537,0,0,0,23.9,27.155a6.55,6.55,0,0,0,2.757-5.214c.149-.088.316,1.034.319,1.091a5.789,5.789,0,0,1-.19,1.727,6.867,6.867,0,0,1-1.423,2.774A7.286,7.286,0,0,1,19.941,30Z" style="fill:#d2d2d2"/><path d="M18.962,19.109a5.76,5.76,0,0,1-2.05.859,13.38,13.38,0,0,1-2.224.549,8.861,8.861,0,0,1-4.435-.51,9.939,9.939,0,0,1-3.849-2.4C6.052,17.24,4.3,15.19,4.856,14.557c.248-.282.875.846,1,.992a5,5,0,0,0,1.357,1.11,10.917,10.917,0,0,0,4.035,1.456,6.693,6.693,0,0,0,2.34-.094,12.743,12.743,0,0,1,1.694-.485,4,4,0,0,1,2.113.457C17.739,18.163,18.918,18.736,18.962,19.109Z" style="fill:#d2d2d2"/><path d="M28.313,15.078a19.277,19.277,0,0,1-.453,3.774c-.176-.242.016-1.47,0-1.792a6.032,6.032,0,0,0-.384-2.087A4.925,4.925,0,0,0,26.1,13.312a14.728,14.728,0,0,1-1.27-1.536c-1.837-2.382-3.245-5.211-2.9-8.3.034-.308.069-1.448.411-1.445.152,0,.266,1.561.29,1.718a12.527,12.527,0,0,0,1.224,4.116c.67,1.222,1.947,2.023,2.825,3.1A6.579,6.579,0,0,1,28.313,15.078Z" style="fill:#d2d2d2"/><path d="M15.7,26.935a10.845,10.845,0,0,0,6.436-.687,6.941,6.941,0,0,0,4.278-4.418c.319.2-.048,1.529-.128,1.781a5.726,5.726,0,0,1-1.01,1.813,8.933,8.933,0,0,1-3.257,2.514C20.316,28.71,16.357,29.59,15.7,26.935Z" style="fill:#d2d2d2"/><path d="M19.151,19.376c.367,2.107-2.957,3.124-4.478,3.213-1.859.11-4.929-.292-6.06-2.031-.673-1.035.781-.09,1.188.058a8.663,8.663,0,0,0,3.06.5,11.6,11.6,0,0,0,3.305-.5,13.725,13.725,0,0,0,1.533-.576C18,19.908,18.823,19.349,19.151,19.376Z" style="fill:#d2d2d2"/><path d="M24.142,23.46c.4-.945-1.883-1.578-2.445-1.858a4.857,4.857,0,0,1-1.315-.867c-.181-.181-.872-.92-.807-1.219a4.912,4.912,0,0,1,1.087-.175,5.93,5.93,0,0,1,.855.588,10.323,10.323,0,0,0,.964.5A15.615,15.615,0,0,0,24.6,21.2c.308.09,1.549.208,1.727.428C26.287,21.924,24.357,23.649,24.142,23.46Z" style="fill:#d2d2d2"/><path d="M26.1,22.172c.265.43-1.08,1.831-1.363,2.105a9.34,9.34,0,0,1-2.566,1.728,7.748,7.748,0,0,1-2.56.753c-.679.058-1.966-.124-2.141-.979a6.951,6.951,0,0,1,1.177-.086c.462-.059.921-.149,1.376-.246a13.065,13.065,0,0,0,2.184-.645,11.506,11.506,0,0,0,2.084-1.11,10.872,10.872,0,0,0,1.078-.822C25.474,22.781,25.986,22.168,26.1,22.172Z" style="fill:#d2d2d2"/><path d="M18.758,11.965c-.1-1.308,2.612-1.3,3.271-1.092a5.976,5.976,0,0,1,2.982,2.475c-1.082.8-2.449.094-3.3-.654a4.324,4.324,0,0,0-1.481-1.029C19.421,11.4,19.412,11.759,18.758,11.965Z" style="fill:#d2d2d2"/><path d="M25.783,13.341c-.444-.029-.316.071-.647-.212-.358-.307-.614-.795-.945-1.141-.534-.558-1.242-.895-1.723-1.485a7.269,7.269,0,0,1-1.624-4.848c.018-1.489.407.187.551.675a12.276,12.276,0,0,0,1.126,2.708,46.055,46.055,0,0,0,3.4,4.321C25.882,13.361,25.824,13.338,25.783,13.341Z" style="fill:#d2d2d2"/><path d="M20.068,14.756c.033-.625-.911-.792-1.211-1.42-.164-.343-.211-.569.029-.7.082-.045.383.012.5-.02.271-.076.335-.273.581-.4A1.193,1.193,0,0,1,21.6,13.237,1.821,1.821,0,0,1,20.068,14.756Z" style="fill:#d2d2d2"/><path d="M20.5,14.745a1.931,1.931,0,0,0,1.323-1.7c.524.139.928.658,1.521.771a2.584,2.584,0,0,0,1.029-.017c.207-.045.54-.274.721-.259-.033.163-.464.546-.565.717a4.242,4.242,0,0,0-.388.9c-.229.741-.061.739-.709.311a4.284,4.284,0,0,0-1.957-.72C21.209,14.722,20.594,14.767,20.5,14.745Z" style="fill:#d2d2d2"/><path d="M19.905,20.734a2.008,2.008,0,0,1-1.4,1.712c-.205.091-2.018.733-2.032.348-.007-.2,1.624-.954,1.809-1.11a3.355,3.355,0,0,0,.867-1.071c.055-.112.232-.925.271-.943C19.644,19.564,19.908,20.6,19.905,20.734Z" style="fill:#d2d2d2"/><path d="M11.373,12.532a10.625,10.625,0,0,1,3.71-.914,10.282,10.282,0,0,1,1.865.024c.366.039,1.469.054,1.74.343a.255.255,0,0,1-.273.173c-.037.077.251.371.3.425-.034.034-1.445-.4-1.572-.424a10.632,10.632,0,0,0-2.282-.134,16,16,0,0,0-1.841.194A6.224,6.224,0,0,1,11.373,12.532Z" style="fill:#d2d2d2"/><path d="M22.512,10.731a1.888,1.888,0,0,1-1.517-.6c-.247-.349-.737-1.692-.385-2.021.209-.2.384.662.484.846A10.822,10.822,0,0,0,22.512,10.731Z" style="fill:#d2d2d2"/><path d="M27.788,19.2a19.212,19.212,0,0,1-.749,3.313c-.173-.077-.275-.778-.562-.95a4.07,4.07,0,0,0,.76-1.154C27.389,20.107,27.54,19.363,27.788,19.2Z" style="fill:#d2d2d2"/><path d="M19.981,11.843c-.132.268-.932,1.1-1.118.481C18.756,11.968,19.739,11.483,19.981,11.843Zm-.747.45c.228.006.012-.248.012-.266C19.245,11.984,18.878,12.293,19.234,12.293Z" style="fill:#d2d2d2"/>`,
"AL": `<path d="M11.616,7.986A1.559,1.559,0,0,0,10.16,7H10.1a1.558,1.558,0,0,0-1.456.986L2,25H5.806l1.015-2.834h6.621L14.457,25h3.8ZM7.944,18.956l2.188-6.111,2.188,6.116Z" style="fill:#2ea98e"/><path d="M23.829,21.671V7.129H20.3V22.747A2.346,2.346,0,0,0,22.57,25H30V21.672Z" style="fill:#2ea98e"/>`,
"ANTLR4": `<path d="M14.177,7.278a2.08,2.08,0,0,1,3.041-.8A3.571,3.571,0,0,1,18.2,8.022c1.356,3.122,2.9,6.165,4.119,9.345.645,1.5,1.429,2.938,1.994,4.468a1.455,1.455,0,0,1-2.258,1.376c-2.8-1.572-5.628-3.094-8.385-4.731,2.009.008,4.018-.008,6.025.013a19.707,19.707,0,0,0-1.288-2.918c-.781-1.858-1.6-3.7-2.358-5.565a9.783,9.783,0,0,0-1.032,2.125c-1.3,3.182-2.87,6.241-4.136,9.435-.281.59-.424,1.344-1.035,1.69a1.447,1.447,0,0,1-2.094-.738c-.241-.61.151-1.2.382-1.743.779-1.725,1.645-3.413,2.283-5.2C11.65,12.8,12.916,10.041,14.177,7.278Z" style="fill:#fefefe"/><path d="M13.817,2.2A13.923,13.923,0,0,1,29.526,12.549a13.733,13.733,0,0,1-2.082,11.519A14.074,14.074,0,0,1,7.738,27.293a13.852,13.852,0,0,1-5.615-9.483A14.152,14.152,0,0,1,3.451,9.85,13.961,13.961,0,0,1,13.817,2.2m.359,5.08c-1.261,2.762-2.526,5.525-3.762,8.3-.638,1.786-1.5,3.473-2.283,5.2-.231.542-.623,1.133-.382,1.743a1.447,1.447,0,0,0,2.094.738c.61-.347.753-1.1,1.035-1.69,1.266-3.194,2.833-6.253,4.136-9.435a9.783,9.783,0,0,1,1.032-2.125c.756,1.868,1.577,3.707,2.358,5.565a19.707,19.707,0,0,1,1.288,2.918c-2.007-.02-4.016-.005-6.025-.013,2.757,1.637,5.588,3.159,8.385,4.731a1.455,1.455,0,0,0,2.258-1.376c-.565-1.529-1.349-2.971-1.994-4.468-1.22-3.179-2.762-6.223-4.119-9.345a3.571,3.571,0,0,0-.982-1.544A2.08,2.08,0,0,0,14.177,7.278Z" style="fill:#e44a32"/>`,
"Apache Configuration": `<defs><linearGradient id="a" x1="-5602.682" y1="768.541" x2="-5598.727" y2="763.917" gradientTransform="matrix(0.423, -0.906, -0.906, -0.423, 3082.853, -4748.551)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f69923"/><stop offset="0.312" stop-color="#f79a23"/><stop offset="0.838" stop-color="#e97826"/></linearGradient><linearGradient id="b" x1="-5631.952" y1="769.052" x2="-5603.737" y2="769.052" gradientTransform="matrix(0.423, -0.906, -0.906, -0.423, 3082.853, -4748.551)" gradientUnits="userSpaceOnUse"><stop offset="0.323" stop-color="#9e2064"/><stop offset="0.63" stop-color="#c92037"/><stop offset="0.751" stop-color="#cd2335"/><stop offset="1" stop-color="#e97826"/></linearGradient><linearGradient id="c" x1="-5628.546" y1="766.221" x2="-5611.733" y2="766.221" gradientTransform="matrix(0.423, -0.906, -0.906, -0.423, 3082.853, -4748.551)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#282662"/><stop offset="0.095" stop-color="#662e8d"/><stop offset="0.788" stop-color="#9f2064"/><stop offset="0.949" stop-color="#cd2032"/></linearGradient><linearGradient id="d" x1="-5630.367" y1="769.316" x2="-5602.152" y2="769.316" xlink:href="#b"/><linearGradient id="e" x1="-5628.31" y1="768.933" x2="-5613.482" y2="768.933" xlink:href="#c"/><linearGradient id="f" x1="-5630.367" y1="766.394" x2="-5602.152" y2="766.394" xlink:href="#b"/><linearGradient id="g" x1="-5632.118" y1="766.539" x2="-5603.902" y2="766.539" xlink:href="#b"/><linearGradient id="h" x1="-5630.367" y1="765.526" x2="-5602.152" y2="765.526" xlink:href="#b"/><linearGradient id="i" x1="-5630.367" y1="765.625" x2="-5602.152" y2="765.625" xlink:href="#b"/><linearGradient id="j" x1="-5614.516" y1="765.645" x2="-5608.28" y2="765.645" xlink:href="#b"/></defs><title>file_type_apache</title><path d="M19.993,2.133a10.267,10.267,0,0,0-2.04,2.056l.8,1.51a19.733,19.733,0,0,1,1.708-2.144c.044-.049.068-.072.068-.072l-.068.072a17.865,17.865,0,0,0-1.6,2.174,30.1,30.1,0,0,0,3.111-.385,3.288,3.288,0,0,0-.3-2.5S20.9,1.6,19.993,2.133Z" style="fill:url(#a)"/><path d="M18.638,10.749l.018,0-.115.013-.021.009Z" style="fill:none"/><path d="M17.821,13.455c-.066.015-.132.026-.2.036C17.689,13.481,17.756,13.469,17.821,13.455Z" style="fill:none"/><path d="M12.27,19.524c.009-.023.017-.045.025-.068q.264-.7.523-1.357.291-.741.575-1.436.3-.733.59-1.418.305-.718.6-1.384.24-.542.474-1.049.078-.169.155-.335.153-.329.3-.645.138-.291.274-.57c.03-.062.06-.123.09-.185l.015-.03-.1.011-.078-.154c-.007.015-.015.03-.023.045q-.211.418-.417.845-.119.246-.238.495-.328.689-.645,1.389T13.766,15.1q-.3.7-.594,1.4t-.567,1.387q-.289.72-.562,1.426-.062.159-.123.318-.219.569-.426,1.124l.123.243.11-.012.012-.033Q12.008,20.216,12.27,19.524Z" style="fill:none"/><path d="M17.57,13.5Z" style="fill:none"/><path d="M17.305,14.818l-.315.055h0l.161-.025C17.2,14.839,17.253,14.829,17.305,14.818Z" style="fill:#be202e"/><path d="M17.305,14.818l-.315.055h0l.161-.025C17.2,14.839,17.253,14.829,17.305,14.818Z" style="fill:#be202e;opacity:0.3499999940395355;isolation:isolate"/><path d="M17.573,13.5h0l.05-.007c.068-.01.135-.022.2-.036l-.248.042Z" style="fill:#be202e"/><path d="M17.573,13.5h0l.05-.007c.068-.01.135-.022.2-.036l-.248.042Z" style="fill:#be202e;opacity:0.3499999940395355;isolation:isolate"/><path d="M16.394,9.6q.365-.682.739-1.332.388-.674.784-1.305l.046-.075q.392-.62.79-1.191l-.8-1.51-.182.225c-.231.288-.47.6-.716.925-.277.37-.562.764-.851,1.179-.267.383-.538.784-.809,1.2-.231.353-.462.717-.692,1.09l-.026.042L15.718,10.9Q16.052,10.244,16.394,9.6Z" style="fill:url(#b)"/><path d="M11.651,21.192q-.207.568-.415,1.159l-.006.017-.059.167c-.093.266-.175.5-.361,1.049a2.107,2.107,0,0,1,.786.926,1.68,1.68,0,0,0-.544-1.154,3.621,3.621,0,0,0,3.489-1.42,2.791,2.791,0,0,0,.165-.313,1.451,1.451,0,0,1-1.4.513l0,0,0,0a4.059,4.059,0,0,0,2.046-1.672c.111-.178.218-.372.328-.587a3.3,3.3,0,0,1-3.109,1.01l-.842.092C11.7,21.05,11.677,21.121,11.651,21.192Z" style="fill:url(#c)"/><path d="M12.044,19.306q.273-.706.562-1.426.276-.69.567-1.387t.594-1.4q.308-.711.629-1.419t.645-1.389q.118-.248.238-.495.207-.426.417-.845c.007-.015.015-.03.023-.045L14.677,8.847l-.051.083c-.242.4-.484.8-.721,1.216s-.475.844-.7,1.276q-.291.547-.568,1.1l-.11.225c-.227.467-.432.918-.617,1.352q-.315.737-.556,1.406c-.107.293-.2.576-.292.847-.073.232-.142.464-.208.7q-.234.818-.4,1.631L11.5,20.748q.208-.554.426-1.124Z" style="fill:url(#d)"/><path d="M10.435,18.755a16.07,16.07,0,0,0-.272,1.974c0,.023,0,.046-.005.069a4.15,4.15,0,0,0-1.2-1.029,5.825,5.825,0,0,1,1.172,2.693,2.642,2.642,0,0,1-1.325-.226,2.662,2.662,0,0,0,1.13.686,3.247,3.247,0,0,0-1.571.783,3.359,3.359,0,0,1,1.861-.342C9.51,25.389,8.793,27.626,8.076,30a.625.625,0,0,0,.425-.413c.128-.43.976-3.251,2.306-6.959l.115-.318.032-.089q.211-.583.437-1.19l.1-.277,0-.005L10.45,18.684C10.445,18.707,10.439,18.731,10.435,18.755Z" style="fill:url(#e)"/><path d="M15.88,11.078l-.09.185q-.135.279-.274.57-.15.315-.3.645c-.052.111-.1.222-.155.335q-.234.508-.474,1.049-.3.666-.6,1.384-.291.685-.59,1.418-.284.7-.575,1.436-.259.661-.523,1.357c-.009.023-.017.045-.025.068q-.262.693-.529,1.422l-.012.033.842-.092-.05-.009a6,6,0,0,0,3.21-1.807,7.984,7.984,0,0,0,1.1-1.524,13.139,13.139,0,0,0,.706-1.467c.195-.472.382-.982.562-1.536a3.053,3.053,0,0,1-.788.274c-.051.011-.1.021-.156.03s-.107.018-.161.025h0a3.668,3.668,0,0,0,1.962-1.913,3.344,3.344,0,0,1-1.13.495c-.066.015-.132.026-.2.036l-.05.007h0a3.821,3.821,0,0,0,.839-.469c.051-.038.1-.078.148-.12.073-.063.142-.129.208-.2.042-.044.083-.09.123-.138a3.27,3.27,0,0,0,.263-.362c.025-.04.05-.08.074-.122.031-.06.061-.119.09-.178.131-.264.236-.5.319-.706.042-.1.078-.2.109-.288.013-.035.025-.07.036-.1.033-.1.06-.187.081-.265a2.605,2.605,0,0,0,.062-.275h0a1.01,1.01,0,0,1-.109.075,3.965,3.965,0,0,1-1.162.4l.773-.085-.773.085-.018,0-.119.019.021-.009-2.645.29Z" style="fill:url(#f)"/><path d="M18.858,5.73c-.235.361-.492.771-.768,1.236l-.044.074q-.358.6-.759,1.327-.346.626-.719,1.347-.326.629-.672,1.336l2.645-.29A3.216,3.216,0,0,0,19.99,9.62c.089-.128.178-.262.267-.4.272-.424.538-.891.776-1.355a14.074,14.074,0,0,0,.588-1.294,6.8,6.8,0,0,0,.233-.7c.048-.184.086-.358.115-.524A30.152,30.152,0,0,1,18.858,5.73Z" style="fill:url(#g)"/><path d="M17.149,14.848c-.053.009-.107.018-.161.025h0C17.042,14.866,17.1,14.857,17.149,14.848Z" style="fill:#be202e"/><path d="M17.149,14.848c-.053.009-.107.018-.161.025h0C17.042,14.866,17.1,14.857,17.149,14.848Z" style="fill:#be202e;opacity:0.3499999940395355;isolation:isolate"/><path d="M17.149,14.848c-.053.009-.107.018-.161.025h0C17.042,14.866,17.1,14.857,17.149,14.848Z" style="fill:url(#h)"/><path d="M17.57,13.5l.05-.007-.05.007Z" style="fill:#be202e"/><path d="M17.57,13.5l.05-.007-.05.007Z" style="fill:#be202e;opacity:0.3499999940395355;isolation:isolate"/><path d="M17.57,13.5l.05-.007-.05.007Z" style="fill:url(#i)"/><path d="M17.572,13.5h0Z" style="fill:#be202e"/><path d="M17.572,13.5h0Z" style="fill:#be202e;opacity:0.3499999940395355;isolation:isolate"/><path d="M17.572,13.5h0Z" style="fill:url(#j)"/>`,
"Apex": `<path d="M13.652,8.338A4.906,4.906,0,0,1,17.2,6.814a4.957,4.957,0,0,1,4.32,2.56,5.972,5.972,0,0,1,2.442-.519,6.089,6.089,0,1,1-1.189,12.06,4.412,4.412,0,0,1-5.782,1.816A5.034,5.034,0,0,1,7.634,22.5a4.646,4.646,0,0,1-.96.1,4.732,4.732,0,0,1-2.337-8.812,5.438,5.438,0,0,1,9.315-5.453" style="fill:#0f9bd7"/><path d="M25.376,30.966h-.561a4.658,4.658,0,0,1-1.284-.137,1.9,1.9,0,0,1-.818-.482,1.726,1.726,0,0,1-.455-.843,6.77,6.77,0,0,1-.106-1.413,5.889,5.889,0,0,0-.084-1.33,1,1,0,0,0-.3-.544,1.223,1.223,0,0,0-.66-.179l-.236-.014V24.145l.236-.014a1.482,1.482,0,0,0,.549-.1.706.706,0,0,0,.273-.264,1.394,1.394,0,0,0,.181-.529,6.683,6.683,0,0,0,.044-.939,8.132,8.132,0,0,1,.112-1.643,1.7,1.7,0,0,1,.448-.841,2.144,2.144,0,0,1,.906-.492,4.514,4.514,0,0,1,1.2-.116h.561v1.9h-.25a2.589,2.589,0,0,0-.743.056.284.284,0,0,0-.148.117.839.839,0,0,0-.054.386q0,.372-.053,1.413a3.74,3.74,0,0,1-.166,1.009,1.945,1.945,0,0,1-.693,1,2.01,2.01,0,0,1,.7,1.044,4.627,4.627,0,0,1,.163,1.079c.027.657.041,1.074.041,1.256a.871.871,0,0,0,.057.408A.343.343,0,0,0,24.4,29a2.382,2.382,0,0,0,.728.06h.25Z" style="fill:#fff"/><path d="M21.118,25.788V24.382a1.752,1.752,0,0,0,.645-.129.936.936,0,0,0,.375-.354,1.621,1.621,0,0,0,.217-.624A6.88,6.88,0,0,0,22.4,22.3a8,8,0,0,1,.105-1.585,1.456,1.456,0,0,1,.381-.721,1.9,1.9,0,0,1,.8-.431,4.336,4.336,0,0,1,1.125-.105h.311v1.4a2.876,2.876,0,0,0-.835.073.53.53,0,0,0-.272.223,1.079,1.079,0,0,0-.088.513q0,.369-.053,1.4a3.531,3.531,0,0,1-.152.94,1.918,1.918,0,0,1-.313.595,2.47,2.47,0,0,1-.583.486,2.045,2.045,0,0,1,.565.466,1.869,1.869,0,0,1,.337.647,4.41,4.41,0,0,1,.152,1.02q.041.973.041,1.242a1.1,1.1,0,0,0,.094.539.584.584,0,0,0,.284.231,2.649,2.649,0,0,0,.823.079v1.406h-.311A4.474,4.474,0,0,1,23.6,30.59a1.644,1.644,0,0,1-.712-.419,1.478,1.478,0,0,1-.39-.724,6.621,6.621,0,0,1-.1-1.356,6.374,6.374,0,0,0-.094-1.4,1.232,1.232,0,0,0-.39-.671A1.431,1.431,0,0,0,21.118,25.788Z" style="fill:#0072a0"/><path d="M27.011,30.966H26.45V29.059h.25A2.329,2.329,0,0,0,27.426,29a.323.323,0,0,0,.165-.127.812.812,0,0,0,.058-.379q0-.36.05-1.375a3.725,3.725,0,0,1,.173-1.047,2.223,2.223,0,0,1,.387-.7,2.145,2.145,0,0,1,.3-.292,2.141,2.141,0,0,1-.4-.4,2.612,2.612,0,0,1-.421-1.092,17.525,17.525,0,0,1-.1-1.841,1.357,1.357,0,0,0-.053-.479c-.008-.016-.031-.062-.136-.106a2.524,2.524,0,0,0-.757-.06h-.25V19.2h.561a4.793,4.793,0,0,1,1.283.133,1.841,1.841,0,0,1,.818.485,1.781,1.781,0,0,1,.453.843,6.6,6.6,0,0,1,.109,1.414,6.359,6.359,0,0,0,.079,1.336.992.992,0,0,0,.3.537,1.226,1.226,0,0,0,.664.18l.236.014v1.879l-.236.014a1.482,1.482,0,0,0-.549.1.686.686,0,0,0-.27.262,1.484,1.484,0,0,0-.186.534,6.743,6.743,0,0,0-.043.931,8.383,8.383,0,0,1-.108,1.644,1.694,1.694,0,0,1-.446.846,2.143,2.143,0,0,1-.913.492A4.5,4.5,0,0,1,27.011,30.966Z" style="fill:#fff"/><path d="M30.708,25.788a1.752,1.752,0,0,0-.645.129.918.918,0,0,0-.372.354,1.725,1.725,0,0,0-.22.624,6.82,6.82,0,0,0-.047.973,8.27,8.27,0,0,1-.1,1.588,1.439,1.439,0,0,1-.378.724,1.9,1.9,0,0,1-.809.431,4.336,4.336,0,0,1-1.125.105H26.7V29.31a2.652,2.652,0,0,0,.82-.079A.572.572,0,0,0,27.8,29,1.05,1.05,0,0,0,27.9,28.5q0-.357.05-1.365a3.53,3.53,0,0,1,.158-.976,1.976,1.976,0,0,1,.343-.621A2.038,2.038,0,0,1,29,25.085a2.416,2.416,0,0,1-.633-.551,2.339,2.339,0,0,1-.375-.984,17.564,17.564,0,0,1-.094-1.8,1.571,1.571,0,0,0-.079-.586.487.487,0,0,0-.264-.226,2.8,2.8,0,0,0-.853-.079v-1.4h.311a4.576,4.576,0,0,1,1.213.123,1.587,1.587,0,0,1,.709.419,1.529,1.529,0,0,1,.39.727,6.436,6.436,0,0,1,.1,1.356,6.842,6.842,0,0,0,.088,1.4,1.223,1.223,0,0,0,.393.671,1.447,1.447,0,0,0,.8.231Z" style="fill:#0072a0"/>`,
"APL": `<path d="M30,28.275,16,2,2,28.275H14.162V30h3.676V28.275ZM17.838,24.826V13.161l6.215,11.665Zm-9.891,0,6.215-11.665V24.826Z" style="fill:#d2d2d2"/>`,
"AppleScript": `<path d="M17.181,4.437A5.993,5.993,0,0,1,21.579,2a5.979,5.979,0,0,1-1.447,4.476,4.729,4.729,0,0,1-4.17,1.961A5.2,5.2,0,0,1,17.181,4.437Z" style="fill:#a8c2ab"/><path d="M16.2,10.034c.946,0,2.7-1.3,4.989-1.3a6.249,6.249,0,0,1,5.484,2.8,6.08,6.08,0,0,0-3.028,5.3,6.235,6.235,0,0,0,3.772,5.7s-2.637,7.422-6.2,7.422c-1.636,0-2.908-1.1-4.631-1.1-1.757,0-3.5,1.144-4.635,1.144C8.7,30,4.587,22.959,4.587,17.3c0-5.568,3.478-8.489,6.74-8.489C13.448,8.811,15.093,10.034,16.2,10.034Z" style="fill:#a8c2ab"/>`,
"Arduino": `<defs><radialGradient id="a" cx="767.179" cy="5169.543" r="14.989" gradientTransform="translate(-718.112 -4953.917) scale(0.955 0.962)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#36bac0"/><stop offset="1" stop-color="#2d9094"/></radialGradient></defs><title>file_type_arduino</title><path d="M29.645,15.925A13.77,13.77,0,1,1,15.876,2.056,13.819,13.819,0,0,1,29.645,15.925Z" style="stroke:#02797e;stroke-linejoin:round;stroke-width:1.1367228454969267px;fill:url(#a)"/><path d="M10.581,11.648c2.41-.076,3.359.834,4.605,2.069.285.282.579.59.9.921l.922-.991a6.223,6.223,0,0,1,3.256-1.93c1.939-.211,3.119-.122,4.311.814a5.023,5.023,0,0,1,2.245,3.9,5.653,5.653,0,0,1-3.25,5.156,5.975,5.975,0,0,1-3.913.135,7.656,7.656,0,0,1-3.541-2.987c-1.678,2.142-3.187,3.253-5.235,3.155-7.452-.354-6.842-10.075-.3-10.247Zm1.657,7.994a9.193,9.193,0,0,0,2.856-2.9c-.74-1.243-2.209-2.824-3.455-3.134a4.328,4.328,0,0,0-3.224.777,3.384,3.384,0,0,0-.762,3.686,3.674,3.674,0,0,0,4.585,1.57Zm-2.98-3.487,3.278.005v1.21l-3.283.005Zm13.448,3.6A3.843,3.843,0,0,0,24.937,17a3.458,3.458,0,0,0-1.863-3.109,3.648,3.648,0,0,0-4.2.728,7.364,7.364,0,0,0-1.649,2.151A8.936,8.936,0,0,0,19.2,19.252,4.022,4.022,0,0,0,22.706,19.754Zm-1.955-2.376-1.088-.008,0-1.217,1.091,0V15.075l1.107-.008-.007,1.093,1.085,0v1.165l-1.021-.008v1.12H20.753Z" style="stroke:#000;stroke-width:0.12103096480927482px;opacity:0.1680999994277954;isolation:isolate"/><path d="M4.917,16.337c0,5.348,7.354,7.34,10.987,1.894,3.765,5.647,10.824,3.28,10.824-1.9S19.7,8.656,15.9,14.441c-3.6-5.719-10.987-3.453-10.987,1.9Zm1.931,0c0-3.86,5.455-5.078,7.992,0-2.588,4.889-7.992,3.859-7.992,0Zm10.119,0c2.286-5.178,7.889-3.751,7.872.008S19.186,21.277,16.967,16.337Z" style="fill:#fff;stroke:#000;stroke-width:0.24206192961854964px"/><rect x="8.898" y="15.795" width="3.237" height="1.067" style="fill:#fff"/><polygon points="20.644 16.846 19.576 16.846 19.576 15.712 20.644 15.712 20.644 14.644 21.779 14.644 21.779 15.712 22.847 15.712 22.847 16.846 21.779 16.846 21.779 17.914 20.644 17.914 20.644 16.846" style="fill:#fff"/>`,
"ARM Assembly": `<defs><linearGradient id="a" x1="836.63" y1="36.205" x2="843.802" y2="14.48" gradientTransform="translate(525.922 30.249) rotate(180) scale(0.607 0.607)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff" stop-opacity="0"/><stop offset="1" stop-color="#fff" stop-opacity="0.275"/></linearGradient></defs><title>file_type_assembly</title><path d="M16,2c-1.246,3.056-2,5.057-3.391,8.022A21.884,21.884,0,0,0,16.2,13.156a14.858,14.858,0,0,1-4-2.283C10.43,14.579,7.646,19.855,2,30c5.186-2.994,9.012-4.648,12.691-4.966V24.2h-.834v-.837h.834V24.2h1.675V22.521H14.691v-.834h-.834V20.013h.834v-.834h1.675v.834H17.2v.837h-.837v-.837H14.691v1.675h1.675v.834H17.2V24.2h-.837v.783c3.98.1,8.006,1.772,13.634,5.021-.863-1.589-1.636-3.021-2.372-4.385a25.526,25.526,0,0,0-4.833-3.333A14.436,14.436,0,0,1,26.65,23.8C19.17,9.872,18.565,8.02,16,2ZM10.511,19.179h1.671v.834h.837v5.021h-.837V22.521H10.511v2.512H9.673V20.013h.837Zm0,.834v1.675h1.671V20.013Zm7.526-.834h.837v.834h.837v.837h.834v-.837h.837v-.834h.837v5.855h-.837V20.85h-.837v.837h-.834V20.85h-.837v4.184h-.837Z" style="fill:#0000bf"/><path d="M23.881,18.642c-6.069-8.237-7.476-14.876-7.832-16.461A175.217,175.217,0,0,0,23.881,18.642Z" style="fill:#fff;fill-opacity:0.165680468082428"/><path d="M16.051,2.12,15.6,3.227c-.159.391-.311.765-.461,1.131s-.3.724-.448,1.077-.3.7-.448,1.053-.3.706-.465,1.066-.329.729-.506,1.111-.362.778-.561,1.193c-.028.057-.061.123-.089.181A21.872,21.872,0,0,0,16.2,13.156a14.879,14.879,0,0,1-3.989-2.276l-.14.287c-.065.133-.144.283-.212.42l-.106.219c-.878,1.793-2.006,3.984-3.524,6.822,3.551-2,7.381-4.887,14.338-2.4-.349-.661-.67-1.28-.971-1.863s-.581-1.128-.841-1.644-.5-1-.725-1.463-.433-.9-.629-1.313-.38-.818-.554-1.2-.339-.754-.5-1.118S18.047,6.9,17.9,6.546s-.291-.709-.434-1.066c-.036-.091-.073-.186-.109-.277C16.949,4.247,16.536,3.258,16.051,2.12Z" style="fill:url(#a)"/>`,
"AsciiDoc": `<path d="M30,30H2V2H30Z" style="fill:#e40046"/><path d="M23.731,24.83a.589.589,0,0,1-.763-.337L16.724,9.269,13.93,15.99h1.833a.59.59,0,0,1-.024,1.18H8.9a.59.59,0,0,1,.024-1.18h3.727l0-.013L16.184,7.5a.591.591,0,0,1,.533-.363h0a.592.592,0,0,1,.557.366l6.785,16.546.009.021A.59.59,0,0,1,23.731,24.83Z" style="fill:#fff"/><path d="M14.516,18.791H7.679a.59.59,0,0,0-.024,1.18H11L9.309,24.043a.59.59,0,0,0,1.085.464l0-.011,1.875-4.509.005-.016h2.215a.59.59,0,0,0,.023-1.18Z" style="fill:#fff"/>`,
"ASP.NET (C#)": `<title>file_type_aspx</title><polygon points="22.75 2 6.35 2 6.35 30 29.65 30 29.65 9 22.75 2" style="fill:#c5c5c5"/><polygon points="27.35 27.7 8.75 27.7 8.75 4.3 20.45 4.3 20.45 11.3 27.45 11.3 27.45 27.7 27.35 27.7" style="fill:#f5f5f5"/><path d="M12.1,30.994A11.094,11.094,0,1,1,23.194,19.9,11.106,11.106,0,0,1,12.1,30.994Zm0-20.3A9.2,9.2,0,1,0,21.3,19.9,9.216,9.216,0,0,0,12.1,10.7Z" style="fill:#33a9dc"/><rect x="2.099" y="19.455" width="20.003" height="0.89" style="fill:#33a9dc;stroke:#33a9dc;stroke-miterlimit:10"/><path d="M12.325,15.763a31.93,31.93,0,0,1-8.484-1.11l.242-.807a31.374,31.374,0,0,0,15.992,0l.239.807A28.076,28.076,0,0,1,12.325,15.763Z" style="fill:#33a9dc;stroke:#33a9dc;stroke-miterlimit:10"/><path d="M4.1,25.724l-.239-.807a31.652,31.652,0,0,1,16.472,0l-.242.807A31.38,31.38,0,0,0,4.1,25.724Z" style="fill:#33a9dc;stroke:#33a9dc;stroke-miterlimit:10"/><path d="M8.536,29.055A25.438,25.438,0,0,1,8,10.608l.776.331a24.558,24.558,0,0,0,.533,17.783Z" style="fill:#33a9dc;stroke:#33a9dc;stroke-miterlimit:10"/><path d="M15.6,29.055l-.776-.333a24.559,24.559,0,0,0,.531-17.783l.776-.331A25.443,25.443,0,0,1,15.6,29.055Z" style="fill:#33a9dc;stroke:#33a9dc;stroke-miterlimit:10"/><rect x="11.655" y="9.898" width="0.889" height="20.371" style="fill:#33a9dc;stroke:#33a9dc;stroke-miterlimit:10"/>`,
"AutoHotkey": `<defs><linearGradient id="a" x1="54.604" y1="168.388" x2="54.604" y2="194.885" gradientTransform="translate(-38.604 -165.636)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#d8d8d8"/><stop offset="1" stop-color="#a3a3a3"/></linearGradient><linearGradient id="b" x1="68.756" y1="209.152" x2="91.638" y2="209.152" gradientTransform="translate(-50.601 -159.449) scale(0.832 0.837)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#d7d7d7"/><stop offset="0.5" stop-color="#e7e7e7"/><stop offset="1" stop-color="#d7d7d7"/></linearGradient></defs><title>file_type_autohotkey</title><rect x="2" y="2.824" width="28" height="26.353" rx="3.088" ry="3.088" style="fill:url(#a)"/><path d="M26.856,29.181H5.144A3.148,3.148,0,0,1,2,26.037V5.963A3.148,3.148,0,0,1,5.144,2.819H26.856A3.148,3.148,0,0,1,30,5.963V26.037A3.148,3.148,0,0,1,26.856,29.181ZM5.144,2.963a3,3,0,0,0-3,3h0V26.037a3,3,0,0,0,3,3H26.856a3,3,0,0,0,3-3V5.963a3,3,0,0,0-3-3Z" style="fill:#8d8d8d"/><rect x="4.313" y="4.641" width="23.169" height="21.94" rx="2.571" ry="2.571" style="fill:url(#b)"/><path d="M24.911,26.641H6.884A2.634,2.634,0,0,1,4.253,24.01V7.212A2.634,2.634,0,0,1,6.884,4.581H24.911a2.634,2.634,0,0,1,2.631,2.631v16.8A2.634,2.634,0,0,1,24.911,26.641ZM6.884,4.7A2.514,2.514,0,0,0,4.373,7.212v16.8a2.514,2.514,0,0,0,2.511,2.511H24.911a2.514,2.514,0,0,0,2.511-2.511V7.212A2.514,2.514,0,0,0,24.911,4.7Z" style="fill:#f8f8f8"/><path d="M6.145,23.9l2.343-6.1h.87l2.5,6.1h-.92l-.712-1.848H7.673L7,23.9ZM7.9,21.4H9.974l-.637-1.7q-.291-.77-.433-1.265A7.776,7.776,0,0,1,8.576,19.6Z"/><path d="M13.607,23.9V17.8h.807v2.5h3.171V17.8h.807v6.1h-.807V21.021h-3.17V23.9Z"/><path d="M20.478,23.9V17.8h.807v3.025l3.03-3.025h1.094L22.85,20.267,25.522,23.9H24.456l-2.172-3.088-1,.974V23.9Z"/>`,
"AutoIt": `<circle cx="16" cy="16" r="12.551" style="fill:#5d83ac"/><path d="M2,16A14,14,0,1,1,16,30,14,14,0,0,1,2,16ZM16,4.789A11.211,11.211,0,1,0,27.211,16,11.211,11.211,0,0,0,16,4.789Z" style="fill:#f0f0f0"/><path d="M24.576,20.156l-6.4-9.264a3.131,3.131,0,0,0-.819-.819,2.36,2.36,0,0,0-2.442.023,3.543,3.543,0,0,0-.812.8L7.533,20.156h3.752l4.808-6.8,1.838,2.71q.26.368.544.789t.5.7q-.368-.031-.865-.031h-3.53l-1.914,2.634Z" style="fill:#f0f0f0"/>`,
"Avro IDL": `<path d="M2,11.649h.025a4.785,4.785,0,0,0,2.911,1.336c2.308.221,4.59-.485,6.9-.326a7.03,7.03,0,0,1,2.68.664c.5-.319.989-.662,1.486-.989.5.327.984.674,1.488.989a6.834,6.834,0,0,1,2.487-.65c1.995-.167,3.967.308,5.957.359a5.2,5.2,0,0,0,4.026-1.383H30v.236c-.178.747-.882,1.176-1.284,1.79a4.948,4.948,0,0,1-.731.791,3.8,3.8,0,0,1-.565.748,2.551,2.551,0,0,0-.594.541,2.181,2.181,0,0,1-.96.749,1.149,1.149,0,0,1-.565.56,6.69,6.69,0,0,1-1.94.184c.723.548,1.5,1.02,2.246,1.535.782.513,1.54,1.061,2.326,1.568H4.089c1.5-1.058,3.057-2.035,4.55-3.1A6.8,6.8,0,0,1,6.7,17.065a1.155,1.155,0,0,1-.569-.562,2.28,2.28,0,0,1-1.043-.86c-.268-.3-.67-.466-.853-.843-.2-.436-.658-.664-.909-1.067-.4-.642-1.137-1.076-1.327-1.846v-.239m2.939,8.528q11.059.009,22.12,0c-3.668-2.51-7.376-4.961-11.059-7.448-3.684,2.487-7.392,4.941-11.061,7.449M4.167,13.2a7.842,7.842,0,0,0,2.84.731c1.163.123,2.341.046,3.5.236a2.7,2.7,0,0,1,1.607.781c.659-.452,1.332-.885,1.987-1.342l.012-.064a5.294,5.294,0,0,0-1.877-.5c-2.693-.316-5.387.712-8.067.16m13.652.356c.688.466,1.382.925,2.07,1.392a2.488,2.488,0,0,1,1.3-.719,19.859,19.859,0,0,1,3.137-.248,9.105,9.105,0,0,0,3.5-.768c-2.582.5-5.168-.409-7.761-.2a6.256,6.256,0,0,0-2.245.545M3.339,13.166a7.264,7.264,0,0,0,2.723,1.3c-.219-.153-.376-.416-.657-.457a7.955,7.955,0,0,1-2.066-.844m23.333.825c-.317.023-.5.3-.733.473a7.232,7.232,0,0,0,2.724-1.3,8.106,8.106,0,0,1-1.991.824m-22.5.126a5.121,5.121,0,0,0,2.589,1.1c-.115-.128-.209-.312-.4-.334a10.459,10.459,0,0,1-2.19-.771m21.467.768c-.189.022-.284.2-.394.336a5.187,5.187,0,0,0,2.6-1.109,10.477,10.477,0,0,1-2.2.773M6.3,14.206a3.243,3.243,0,0,0,2.445.352c-.1-.08-.181-.215-.325-.206q-1.063-.04-2.12-.146m17.351.139c-.171-.019-.291.1-.406.211a3.108,3.108,0,0,0,2.42-.352q-1,.112-2.014.141m-16.741.538a3.669,3.669,0,0,0,2.482.319,1.107,1.107,0,0,0-.281-.376,5.158,5.158,0,0,1-2.2.057m15.7.318a3.678,3.678,0,0,0,2.487-.319,5.127,5.127,0,0,1-2.2-.057,1.1,1.1,0,0,0-.283.376M4.838,14.977a4.11,4.11,0,0,0,2.133.841c-.057-.084-.114-.168-.171-.254a6.948,6.948,0,0,1-1.962-.587m20.361.589-.169.253a4.141,4.141,0,0,0,2.136-.843,7.015,7.015,0,0,1-1.967.59m-18.1-.13a.8.8,0,0,0,.534.31,7.579,7.579,0,0,0,2.037-.073c-.009-.03-.027-.09-.036-.12-.457-.051-.923.074-1.385.047A7.054,7.054,0,0,1,7.1,15.437m16.191.151a6.28,6.28,0,0,0-.913-.041l-.042.126a7.416,7.416,0,0,0,2.045.072.7.7,0,0,0,.522-.331,4.349,4.349,0,0,1-1.613.174m-17.52.327a3.12,3.12,0,0,0,1.754.481c-.065-.24-.334-.2-.523-.236-.419-.041-.816-.186-1.231-.246M25,16.163c-.188.041-.452-.006-.521.232a2.874,2.874,0,0,0,1.732-.482c-.4.079-.8.207-1.211.251M7.735,16.119a1,1,0,0,0,.789.275,9.331,9.331,0,0,0,1.325-.158c-.021-.093-.009-.278-.163-.228a9.983,9.983,0,0,1-1.951.111m14.415.118a8.157,8.157,0,0,0,1.412.154.9.9,0,0,0,.7-.274,9.387,9.387,0,0,1-1.934-.11c-.16-.06-.155.132-.176.23m-15.438.44a1.962,1.962,0,0,0,1.3.181l-.091-.126c-.4.006-.807-.022-1.209-.055m1.615.043a1.03,1.03,0,0,0,.716.294c.179-.125.358-.252.531-.386a5.747,5.747,0,0,1-1.247.092m14.1-.093c.237.144.467.477.782.345.166-.05.369-.089.461-.257a5.271,5.271,0,0,1-1.243-.088m1.713.263a2.007,2.007,0,0,0,1.145-.213,10.269,10.269,0,0,1-1.144.049C23.993,16.667,23.984,16.961,24.138,16.89Z" style="fill:#0040ff"/><path d="M7.435,18.886Q11.719,16.013,16,13.137l9.3,6.244c.221.147.439.3.648.464q-9.947-.01-19.894,0c.443-.344.92-.64,1.383-.958m8.255-5.066c-.457,1.859-.907,3.719-1.375,5.576.52.015,1.041.012,1.562,0q-.013-2.841,0-5.68l-.184.1m-2.5,1.684c.255.859.48,1.728.763,2.579.289-1.238.6-2.471.9-3.707-.55.386-1.114.75-1.668,1.129m3.357-.873c-.006.682,0,1.364,0,2.046a2.1,2.1,0,0,0,1.014-.254c.193-.145.1-.409.011-.586a4.276,4.276,0,0,0-1.024-1.207M18.327,16.4c-.1.544-.666.792-1.151.9.474.7.96,1.389,1.416,2.1.469.024.94.011,1.411.009a1.631,1.631,0,0,1,.16-2.976c-.834-.6-1.7-1.14-2.544-1.727.349.5.831,1.037.708,1.7m-6.822.242c.267.921.529,1.845.794,2.767.44,0,.88.008,1.321-.007-.339-1.161-.685-2.319-1.009-3.484-.385.215-.737.482-1.1.724m8.8.452a.946.946,0,0,0,.057,1.7c.533.09.855-.533.779-.99-.026-.4-.4-.861-.836-.714M7.4,19.4q1.324.018,2.65,0c.256-.7.413-1.468.629-2.2-1.1.715-2.187,1.461-3.279,2.194m14.377-1.9a1.616,1.616,0,0,1-.876,1.9c1.233.018,2.465.015,3.7,0-.934-.644-1.883-1.266-2.822-1.9m-5.223.115c-.01.6,0,1.2,0,1.8.415,0,.831,0,1.248,0-.419-.6-.8-1.219-1.243-1.794m-5.546.941h.346c-.055-.187-.108-.376-.166-.562a3.751,3.751,0,0,0-.181.563m-.18.693c-.015.04-.045.119-.061.159.275-.026.59.071.842-.05C11.453,19.112,11.074,19.275,10.826,19.244Z" style="fill:#0040ff"/>`,
"AWK": `<path d="M26.925,27.737C23.431,26.1,24.606,14.588,13.81,8.319,14.089,5.792,14.758-.5,7.961,3,6.845,3.128,4.907,2.331,4,4.831v.114C16.918,3.9.088,10.53,16.75,25.844c-.373.176-.674-.325-1.97.1l-.014.016c-1.722,1.135,1.933.768,4.154,1.274-1.611.417-5.594-1.137-6.3,1.645.877-.37,1,.329,1.076,1.077A26.277,26.277,0,0,1,22.379,27.5c1.1.285,4.118,2.049,5.122.551C27.519,27.93,27.221,27.876,26.925,27.737Z"/><path d="M10.446,2.97l-.121.088a.266.266,0,0,0-.011.377.211.211,0,0,0,.045.039.416.416,0,0,0,.521-.063.263.263,0,0,0,.078-.364l-.01-.014c-.076-.143-.163-.177-.34-.127C10.553,2.925,10.5,2.946,10.446,2.97Z" style="fill:#d2d2d2"/><path d="M18,26.368c.151-.041.318-.828.174-.949A6.29,6.29,0,0,0,19.4,26.485c1.023,1.007,2.665-.032,3.482.759a10.736,10.736,0,0,0,1.957,1.027c-.139-.151-.029-.144.179-.011-.13-.338-4.421-5.156-5.226-7.18.095.293-1.608-.824-2.076-1.419-.028.056-.092-.251-.228-.434-.041.05-.2-.433-.3-.728.037.187-.462-.5-.65-.818-.056.09-.719.372-.809.286-.729-.4,2.529,4.066.122,2.559.676.683.614.4-1.095-.852.364.452-.317.312-1.553-1.523.186.2-.218-.576-.218-.576a2.692,2.692,0,0,0-.133-.483c-.056-.32-.241-.723-.12-.65-1.444-1.556,1.314-3.3.719-3.671-.111,0-.027.017-.151-.106-.09,0-.468.285-.587-.234.006.132-.034.406-.153-.1-.023.052.015.1-.03.145-.225-.576-.772-1.6-1.217-2.539-.158.155-.138-.076-.193-1.092.053.144-.225,1.921-.2.13-.128.007.108,1.258-.343.21-.141.05-.305-.363-.341-1.178-.048.623-.29.187-.5-.923-.269.508-1.6,1.743-.333,7.622-.053-.313.186.341.755,2.427.021-.039-.022-.083.038-.131a6.324,6.324,0,0,0,.677,1.365c.544.658.995,2.074.8,1.277a11.867,11.867,0,0,0,2.554,3.249A34.423,34.423,0,0,0,18,26.368Z" style="fill:#d2d2d2"/><path d="M10.823,2.557a.291.291,0,0,0-.051-.022c-.221-.04-.429.153-.654.032-.145.085-.257-.036-.375-.073a.224.224,0,0,0-.2.014,5.823,5.823,0,0,0-.814.582,1.037,1.037,0,0,0-.273.449c-.021.048-.037.126.05.137a2.3,2.3,0,0,0,.682.045c.177-.028.277-.152.418-.221a1.2,1.2,0,0,0,.592-.68c.064-.175.161-.167.28-.2S10.7,2.62,10.823,2.557Z" style="fill:#d2d2d2"/><path d="M10.325,3.058l.121-.088a.117.117,0,0,1,.12.064c.044.1.106.112.193.047.033-.025.071-.058.118-.027a.119.119,0,0,1,.041.128.276.276,0,0,1-.187.248.266.266,0,0,1-.3-.03C10.341,3.308,10.26,3.2,10.325,3.058Z"/>`,
"Batch": `<path d="M29.4,27.6H2.5V4.5H29.4Zm-25.9-1H28.4V5.5H3.5Z" style="fill:#d9b400"/><polygon points="6.077 19.316 5.522 18.484 10.366 15.255 5.479 11.184 6.12 10.416 12.035 15.344 6.077 19.316" style="fill:#d9b400"/><rect x="12.7" y="18.2" width="7.8" height="1" style="fill:#d9b400"/><rect x="2.5" y="5.5" width="26.9" height="1.9" style="fill:#d9b400"/>`,
"C#": `<title>file_type_csharp</title><path d="M19.792,7.071h2.553V9.624H24.9V7.071h2.552V9.624H30v2.552h-2.55v2.551H30V17.28H27.449v2.552H24.9v-2.55l-2.55,0,0,2.552H19.793v-2.55l-2.553,0V14.725h2.553V12.179H17.24V9.622h2.554Zm2.553,7.658H24.9V12.176H22.345Z" style="fill:#368832"/><path d="M14.689,24.013a10.2,10.2,0,0,1-4.653.915,7.6,7.6,0,0,1-5.89-2.336A8.839,8.839,0,0,1,2,16.367,9.436,9.436,0,0,1,4.412,9.648a8.181,8.181,0,0,1,6.259-2.577,11.1,11.1,0,0,1,4.018.638v3.745a6.81,6.81,0,0,0-3.723-1.036,4.793,4.793,0,0,0-3.7,1.529,5.879,5.879,0,0,0-1.407,4.142,5.774,5.774,0,0,0,1.328,3.992,4.551,4.551,0,0,0,3.575,1.487,7.288,7.288,0,0,0,3.927-1.108Z" style="fill:#368832"/>`,
"C": `<title>file_type_c</title><path d="M10.676,15.973a10.052,10.052,0,0,0,1.175,5.151,5.446,5.446,0,0,0,6.306,2.408,4.284,4.284,0,0,0,3.09-3.6c.107-.6.109-.61.109-.61,1.737.251,4.537.658,6.274.906l-.11.44a11.256,11.256,0,0,1-2.7,5.39,9.439,9.439,0,0,1-5.366,2.688,14.61,14.61,0,0,1-8.277-.819A10.151,10.151,0,0,1,5.4,21.687a16.225,16.225,0,0,1,.019-11.45,10.538,10.538,0,0,1,8.963-7.054,13.353,13.353,0,0,1,6.666.555,9.571,9.571,0,0,1,6.167,6.9c.094.352.114.417.114.417-1.932.351-4.319.8-6.238,1.215-.362-1.915-1.265-3.428-3.2-3.9a5.263,5.263,0,0,0-6.616,3.57,10.49,10.49,0,0,0-.385,1.439A12.31,12.31,0,0,0,10.676,15.973Z" style="fill:#005f91"/>`,
"C++": `<title>file_type_cpp</title><path d="M14.742,24.047a10.242,10.242,0,0,1-4.673.919A7.628,7.628,0,0,1,4.155,22.62,8.876,8.876,0,0,1,2,16.369,9.476,9.476,0,0,1,4.422,9.621a8.216,8.216,0,0,1,6.285-2.588,11.151,11.151,0,0,1,4.035.641v3.761A6.839,6.839,0,0,0,11,10.395,4.813,4.813,0,0,0,7.288,11.93a5.9,5.9,0,0,0-1.413,4.159A5.8,5.8,0,0,0,7.209,20.1a4.57,4.57,0,0,0,3.59,1.493,7.319,7.319,0,0,0,3.943-1.113Z" style="fill:#984c93"/><polygon points="17.112 14.829 17.112 12.485 19.456 12.485 19.456 14.829 21.8 14.829 21.8 17.172 19.456 17.172 19.456 19.515 17.112 19.515 17.112 17.172 14.77 17.172 14.77 14.828 17.112 14.829" style="fill:#984c93"/><polygon points="25.313 14.829 25.313 12.485 27.657 12.485 27.657 14.829 30 14.829 30 17.172 27.657 17.172 27.657 19.515 25.313 19.515 25.313 17.172 22.971 17.172 22.971 14.828 25.313 14.829" style="fill:#984c93"/>`,
"Clojure": `<path d="M16,2A14,14,0,1,0,30,16,14.016,14.016,0,0,0,16,2" style="fill:#fff"/><path d="M15.488,16.252c-.126.273-.265.579-.408.9A22.963,22.963,0,0,0,13.8,20.605a5.181,5.181,0,0,0-.119,1.155c0,.174.009.356.024.542a6.658,6.658,0,0,0,4.413.067,3.966,3.966,0,0,1-.44-.466c-.9-1.146-1.4-2.827-2.194-5.652" style="fill:#91dc47"/><path d="M12.169,10.556a6.677,6.677,0,0,0-.077,10.881c.411-1.71,1.44-3.276,2.983-6.415-.092-.252-.2-.527-.313-.817a10.207,10.207,0,0,0-1.6-2.882,4.439,4.439,0,0,0-1-.767" style="fill:#91dc47"/><path d="M21.84,23.7a10.877,10.877,0,0,1-2.257-.471A8.036,8.036,0,0,1,10.716,9.982a5.9,5.9,0,0,0-1.4-.171c-2.358.022-4.848,1.327-5.884,4.852a6.606,6.606,0,0,0-.074,1.361,12.649,12.649,0,0,0,23,7.274,14.737,14.737,0,0,1-3.448.459A8.881,8.881,0,0,1,21.84,23.7" style="fill:#63b132"/><path d="M19.463,21.244a3.53,3.53,0,0,0,.5.172A6.69,6.69,0,0,0,22.7,16.023h0a6.681,6.681,0,0,0-8.79-6.348c1.358,1.548,2.011,3.761,2.643,6.181v0s.2.673.547,1.562a15.434,15.434,0,0,0,1.363,2.788,2.924,2.924,0,0,0,1,1.036" style="fill:#90b4fe"/><path d="M16.013,3.372A12.632,12.632,0,0,0,5.731,8.656a6.425,6.425,0,0,1,3.48-1.009,6.8,6.8,0,0,1,3.182.772c.134.077.261.16.386.246a8.038,8.038,0,0,1,11.273,7.358h0a8.013,8.013,0,0,1-2.391,5.719,9.871,9.871,0,0,0,1.143.064,6.24,6.24,0,0,0,4.051-1.263,5.348,5.348,0,0,0,1.7-2.906A12.632,12.632,0,0,0,16.013,3.372" style="fill:#5881d8"/>`,
"CMake": `<defs><linearGradient id="a" x1="9.955" y1="9.096" x2="16.68" y2="23.324" gradientTransform="matrix(1, 0, 0, -1, 0, 32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#1011a1"/><stop offset="1" stop-color="#6969e1"/></linearGradient><linearGradient id="b" x1="16.231" y1="19.655" x2="25.618" y2="3.782" gradientTransform="matrix(1, 0, 0, -1, 0, 32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#b40e0e"/><stop offset="1" stop-color="#ff5959"/></linearGradient><linearGradient id="c" x1="21.663" y1="4.823" x2="8.381" y2="5.938" gradientTransform="matrix(1, 0, 0, -1, 0, 32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#01a300"/><stop offset="1" stop-color="#01df00"/></linearGradient><linearGradient id="d" x1="14.643" y1="8.368" x2="14.472" y2="14.145" gradientTransform="matrix(1, 0, 0, -1, 0, 32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#848484"/><stop offset="1" stop-color="#d2d2d2"/></linearGradient></defs><title>file_type_cmake</title><path d="M17.257,16.919,2.246,29.749,15.994,2.283Z" style="fill:url(#a)"/><path d="M2.262,29.768l-.038-.03L16.012,2.193l.008.088L17.283,16.93l-.01.008ZM15.977,2.374,2.324,29.649,17.23,16.908Z"/><path d="M17.952,24.931,16,2.28,29.767,29.751Z" style="fill:url(#b)"/><path d="M29.818,29.8l-.061-.025L17.929,24.948l0-.015L15.975,2.282l.047-.013ZM17.976,24.913,29.715,29.7,16.036,2.408Z"/><path d="M11.16,22.094l18.621,7.654H2.25Z" style="fill:url(#c)"/><path d="M29.781,29.773H2.183l.051-.044,8.921-7.665.014.006,18.622,7.655Zm-27.464-.05H29.654l-18.489-7.6Z"/><path d="M11.189,22.112l6.059-5.168.843,7.98Z" style="fill:url(#d)"/><path d="M18.149,25l-.077-.032-6.978-2.842,6.194-5.283.01.094Zm-6.865-2.9,6.748,2.749-.824-7.8Z"/><path d="M29.7,29.911H2.285a.221.221,0,0,1-.182-.088.222.222,0,0,1,.022-.2L15.864,2.187a.169.169,0,0,1,.14-.1h0a.154.154,0,0,1,.13.085L29.867,29.607a.238.238,0,0,1,.02.226A.211.211,0,0,1,29.7,29.911Zm-27.468-.16a.484.484,0,0,0,.057.011h27.4l.073-.009a.221.221,0,0,0-.028-.077L16,2.248,16,2.26,2.261,29.684a.279.279,0,0,0-.025.067Z"/>`,
"COBOL": `<path d="M22.24,6.546a4.449,4.449,0,0,0,1.765-2.522,4.636,4.636,0,0,1-.018,2.157c-.223.582-.567,1.107-.834,1.669a21.772,21.772,0,0,1,4.559-2.938C27.23,6.4,25.891,7.3,24.907,8.442c.19.409.28.989.8,1.109a5.036,5.036,0,0,0,2.5.155c.912-.313,1.345-1.258,1.8-2.035V9.14a15.738,15.738,0,0,1-.582,1.748c.2.547.409,1.092.582,1.647v.952c-.214.368-.442.726-.663,1.089a5.293,5.293,0,0,0-1.068-1.162,4.03,4.03,0,0,0-1.851-.125,3.212,3.212,0,0,0,2.413,1.47c-.359.37-.663.912-1.23.969-1.641.247-3.207-.505-4.839-.5-.282.02-.707.024-.785.372,0,.735.217,1.453.19,2.188-.059,1.258-.512,2.466-.529,3.726a13.785,13.785,0,0,0,.838,3.448c-.523-.077-1.044-.166-1.562-.26-.1.208-.184.42-.26.634A4.514,4.514,0,0,0,21.8,26.531c-.061.127-.182.381-.241.508l-.573.138c-.131.247-.263.492-.4.739a4.421,4.421,0,0,0-2.2.061c-.466-.186-.928-.376-1.389-.567a5.939,5.939,0,0,0,.407-2.315c-.282-.982-1.6-.984-2-1.877a6.233,6.233,0,0,1-1.022-2.851c-.823-.433-1.455-1.221-2.4-1.4-.048.409-.083.82-.153,1.227A6.015,6.015,0,0,1,10.481,22.6c.039.422.079.842.12,1.265.346.324.691.648,1.033.974a9.752,9.752,0,0,1-1.426.713,11.114,11.114,0,0,1-1.687.077c-.258-.254-.518-.508-.777-.764a4.871,4.871,0,0,0,.114-2.608c.171-.4.326-.812.475-1.221a5.565,5.565,0,0,1-3.01.206,5.12,5.12,0,0,1-3.29-4.33,3.859,3.859,0,0,1,1.407-3.268A6.41,6.41,0,0,0,3.2,16.259a3.038,3.038,0,0,0,2.5,2.466,3.462,3.462,0,0,0,1.96-.643,7.48,7.48,0,0,1,.363-4.133,5.524,5.524,0,0,1,3.586-2.66,4.235,4.235,0,0,0,2.011-1.566,10.67,10.67,0,0,1,1.529-1.33c-.228-.219-.453-.44-.68-.659A2.154,2.154,0,0,0,15.9,6.023c1.284-.3,2.551-.661,3.82-1.011a3.793,3.793,0,0,0,1.415.606c.317.346.494,1.157,1.1.928M18.458,19.908c.042.768-.048,1.665.674,2.155,0-.755-.046-1.507-.1-2.26Z" style="fill:#005ca5"/>`,
"CoffeeScript": `<path d="M13.114,5.728c.025.153-.051.28-.306.408a3.457,3.457,0,0,0-1.63-.229c-.637.051-1.172.255-1.1.688.1.433.713.688,1.808.586,2.674-.229,2.649-2.038,6.571-2.394,3.056-.28,4.763.662,4.992,1.808.178.891-.56,1.757-2.776,1.936-1.961.178-3.107-.357-3.209-.891-.051-.28.1-.688,1.044-.79.1.433.637.891,1.91.764C21.341,7.536,22.1,7.2,22,6.7c-.1-.535-1.07-.84-2.6-.713-3.107.28-3.871,1.987-6.52,2.216C11,8.376,9.472,7.689,9.268,6.67c-.076-.382-.076-1.273,1.91-1.452,1.019-.076,1.834.1,1.936.509ZM3.181,16.374A5.279,5.279,0,0,0,2.01,19.99a4.206,4.206,0,0,0,1.655,3.056,4,4,0,0,0,3.362.79,11.434,11.434,0,0,0,1.5-.484,4.238,4.238,0,0,1-2.751-1.019,4.13,4.13,0,0,1-1.732-2.827A3.79,3.79,0,0,1,4.658,16.5,3.977,3.977,0,0,1,7.409,15a4.806,4.806,0,0,1,3.209.942,6.95,6.95,0,0,0-.866-.866,4.1,4.1,0,0,0-3.464-.688,5.2,5.2,0,0,0-3.107,1.987ZM16.833,10.49A40.837,40.837,0,0,1,8.5,9.7C6.237,9.14,5.04,8.529,5.04,7.74c0-.331.153-.611.611-.942-1.426.56-2.19,1.019-2.19,1.732.076.79,1.35,1.579,3.948,2.19a39.443,39.443,0,0,0,9.347.942A38.993,38.993,0,0,0,26.1,10.72c2.6-.611,3.846-1.426,3.846-2.19,0-.56-.56-1.1-1.579-1.5a.862.862,0,0,1,.408.688c0,.79-1.172,1.426-3.54,1.961A39.324,39.324,0,0,1,16.833,10.49Zm9.373,2.19a42.315,42.315,0,0,1-9.347.942,44.144,44.144,0,0,1-9.424-.942c-2.19-.56-3.362-1.172-3.769-1.808a23.186,23.186,0,0,0,2.6,7.641c.942,1.426,1.885,2.674,2.827,4.024a9.883,9.883,0,0,1,.866,2.369,4.559,4.559,0,0,0,2.6,1.732,10.611,10.611,0,0,0,4.177.611h.153a11.839,11.839,0,0,0,4.3-.611,4.869,4.869,0,0,0,2.521-1.732h.076a9.592,9.592,0,0,1,.79-2.369c.942-1.35,1.885-2.6,2.827-4.024A24.62,24.62,0,0,0,30,10.872C29.491,11.585,28.319,12.2,26.205,12.681Z" style="fill:#6f4e37"/>`,
"Crystal": `<path d="M29.941,19.816,19.8,29.928c-.028.028-.085.028-.169.028L5.8,26.267c-.028,0-.084-.028-.113-.113L2,12.352a.419.419,0,0,1,.028-.169L12.168,2.072c.028-.028.084-.028.169-.028l13.83,3.718c.028,0,.084.028.113.113l3.69,13.8C30.026,19.732,30,19.788,29.941,19.816ZM16.393,8.832,2.817,12.493q-.042,0,0,.084L12.76,22.52c.028.028.028,0,.084,0L16.506,8.972C16.449,8.832,16.393,8.832,16.393,8.832Z" style="fill:#c8c8c8"/>`,
"CSS": `<polygon points="5.902 27.201 3.656 2 28.344 2 26.095 27.197 15.985 30 5.902 27.201" style="fill:#1572b6"/><polygon points="16 27.858 24.17 25.593 26.092 4.061 16 4.061 16 27.858" style="fill:#33a9dc"/><polygon points="16 13.191 20.09 13.191 20.372 10.026 16 10.026 16 6.935 16.011 6.935 23.75 6.935 23.676 7.764 22.917 16.282 16 16.282 16 13.191" style="fill:#fff"/><polygon points="16.019 21.218 16.005 21.222 12.563 20.292 12.343 17.827 10.67 17.827 9.24 17.827 9.673 22.68 16.004 24.438 16.019 24.434 16.019 21.218" style="fill:#ebebeb"/><polygon points="19.827 16.151 19.455 20.29 16.008 21.22 16.008 24.436 22.344 22.68 22.391 22.158 22.928 16.151 19.827 16.151" style="fill:#fff"/><polygon points="16.011 6.935 16.011 8.855 16.011 10.018 16.011 10.026 8.555 10.026 8.555 10.026 8.545 10.026 8.483 9.331 8.342 7.764 8.268 6.935 16.011 6.935" style="fill:#ebebeb"/><polygon points="16 13.191 16 15.111 16 16.274 16 16.282 12.611 16.282 12.611 16.282 12.601 16.282 12.539 15.587 12.399 14.02 12.325 13.191 16 13.191" style="fill:#ebebeb"/>`,
"CSV": `<path d="M22.038,2H6.375a1.755,1.755,0,0,0-1.75,1.75v24.5A1.755,1.755,0,0,0,6.375,30h19.25a1.755,1.755,0,0,0,1.75-1.75V6.856Zm.525,2.844,1.663,1.531H22.563ZM6.375,28.25V3.75H20.813V8.125h4.813V28.25Z" style="fill:#c2c2c2"/><rect x="8.125" y="15.097" width="13.076" height="1.75" style="fill:#829ec2"/><rect x="8.125" y="24.439" width="9.762" height="1.75" style="fill:#829ec2"/><rect x="8.125" y="19.763" width="15.75" height="1.75" style="fill:#829ec2"/><rect x="8.125" y="10.23" width="15.75" height="1.75" style="fill:#829ec2"/>`,
"D": `<defs><linearGradient id="a" x1="185.455" y1="1601.641" x2="181.955" y2="1630.224" gradientTransform="translate(-62.523 -666.646) scale(0.427)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><linearGradient id="b" x1="176.136" y1="1600.5" x2="172.636" y2="1629.083" xlink:href="#a"/></defs><title>file_type_dlang</title><path d="M3.978,15.462,3.969,8.509A.588.588,0,0,1,4.5,7.947a.658.658,0,0,1,.076,0l6.074-.009a15.7,15.7,0,0,1,6.067.95,8.9,8.9,0,0,1,2.244,1.359,4.469,4.469,0,0,1,2.946-1.083,4.11,4.11,0,0,1,4.276,3.92A4.11,4.11,0,0,1,21.907,17c-.089,0-.177-.008-.265-.012a6.617,6.617,0,0,1-.232.953,85.383,85.383,0,0,1,8.59,2.6V2H2V15.4Q2.992,15.42,3.978,15.462Zm22.8-7.944a1.32,1.32,0,0,1,1.374,1.259,1.379,1.379,0,0,1-2.747,0A1.32,1.32,0,0,1,26.78,7.517Z" style="fill:#b03931"/><path d="M17.861,15.787a4.114,4.114,0,0,0-1.748-3.458,5.814,5.814,0,0,0-1.508-.822,7.354,7.354,0,0,0-1.629-.438,21.629,21.629,0,0,0-2.588-.1l-2.619,0,.006,4.737a88.827,88.827,0,0,1,9.91,1.408A4.919,4.919,0,0,0,17.861,15.787Z" style="fill:#b03931"/><path d="M20.993,18.979a7.906,7.906,0,0,1-2.128,2.582,9.739,9.739,0,0,1-3.256,1.71,11.558,11.558,0,0,1-1.971.472h-.015a31.857,31.857,0,0,1-3.326.111l-5.625.022a.616.616,0,0,1-.686-.681l-.01-7.734Q2.992,15.42,2,15.4V30H30V20.544a85.383,85.383,0,0,0-8.59-2.6A6.985,6.985,0,0,1,20.993,18.979Z" style="fill:#b03931"/><path d="M20.993,18.979a7.906,7.906,0,0,1-2.128,2.582,9.739,9.739,0,0,1-3.256,1.71,11.558,11.558,0,0,1-1.971.472h-.015a31.857,31.857,0,0,1-3.326.111l-5.625.022a.616.616,0,0,1-.686-.681l-.01-7.734Q2.992,15.42,2,15.4V30H30V20.544a85.383,85.383,0,0,0-8.59-2.6A6.985,6.985,0,0,1,20.993,18.979Z" style="opacity:0.300000011920929;isolation:isolate;fill:url(#a)"/><path d="M10.477,20.835a16.014,16.014,0,0,0,2.877-.2,7.633,7.633,0,0,0,1.628-.5,5.628,5.628,0,0,0,1.187-.748,4.457,4.457,0,0,0,1.518-2.271,88.691,88.691,0,0,0-9.91-1.408l.006,5.133Z" style="fill:#b03931"/><path d="M10.477,20.835a16.014,16.014,0,0,0,2.877-.2,7.633,7.633,0,0,0,1.628-.5,5.628,5.628,0,0,0,1.187-.748,4.457,4.457,0,0,0,1.518-2.271,88.691,88.691,0,0,0-9.91-1.408l.006,5.133Z" style="opacity:0.300000011920929;isolation:isolate;fill:url(#b)"/><path d="M20.383,11.746a6.993,6.993,0,0,1,1.36,4.148,6.618,6.618,0,0,1-.1,1.1c.088,0,.176.012.265.012a4.11,4.11,0,0,0,4.276-3.92,4.11,4.11,0,0,0-4.276-3.92,4.47,4.47,0,0,0-2.946,1.083A8.123,8.123,0,0,1,20.383,11.746Z" style="fill:#fff"/><ellipse cx="26.78" cy="8.777" rx="1.374" ry="1.259" style="fill:#fff"/><path d="M4.673,23.877l5.625-.022a31.871,31.871,0,0,0,3.326-.111h.015a11.49,11.49,0,0,0,1.971-.472,9.739,9.739,0,0,0,3.256-1.71,7.906,7.906,0,0,0,2.128-2.582,6.985,6.985,0,0,0,.417-1.034,7.056,7.056,0,0,0,.332-2.051,6.992,6.992,0,0,0-1.36-4.148,8.1,8.1,0,0,0-1.421-1.5,8.878,8.878,0,0,0-2.244-1.359,15.686,15.686,0,0,0-6.067-.95l-6.074.009a.658.658,0,0,0-.076,0,.588.588,0,0,0-.532.562l.009,6.952.01,7.734A.616.616,0,0,0,4.673,23.877Zm3.1-12.908,2.619,0a21.623,21.623,0,0,1,2.588.1,7.354,7.354,0,0,1,1.629.438,5.814,5.814,0,0,1,1.508.822,4.116,4.116,0,0,1,1.748,3.458,4.905,4.905,0,0,1-.175,1.327,4.457,4.457,0,0,1-1.518,2.271,5.613,5.613,0,0,1-1.187.748,7.666,7.666,0,0,1-1.628.5,16.009,16.009,0,0,1-2.877.2l-2.694,0-.006-5.133Z" style="fill:#fff"/>`,
"Dart": `<path d="M16.739,2.037a1.314,1.314,0,0,0-.916.377l-.013.01L7.22,7.389l8.566,8.566v.006l10.3,10.3,1.963-3.536L20.968,5.728l-3.3-3.3a1.307,1.307,0,0,0-.927-.388Z" style="fill:#66c3fa"/><path d="M7.25,7.35,2.288,15.931l-.01.013a1.322,1.322,0,0,0-.378.919,1.3,1.3,0,0,0,.387.924L6.4,21.9l16.084,6.327,3.636-2.02-.1-.1-.025,0-10.083-10.1H15.9L7.25,7.35Z" style="fill:#215896"/><path d="M7.192,7.362l8.764,8.773h.013l10.087,10.1,3.839-.732L29.9,14.14l-4.054-3.973a6.521,6.521,0,0,0-3.624-1.616l0-.044L7.192,7.362Z" style="fill:#235997"/><path d="M7.256,7.411l8.768,8.768v.013L26.116,26.284l-.734,3.839H14.022l-3.971-4.056a6.522,6.522,0,0,1-1.614-3.625l-.044,0L7.256,7.411Z" style="fill:#58b6f0"/>`,
"Dhall": `<path d="M16,2.07A13.93,13.93,0,1,1,2,16,13.93,13.93,0,0,1,16,2.07ZM13.28,22.32a1.49,1.49,0,1,1-1,1.83A1.49,1.49,0,0,1,13.28,22.32Zm8-15.68a.53.53,0,0,1,.38.66.52.52,0,0,1-.65.38l-.5-.13a42.67,42.67,0,0,0-.37,7.07C18.06,16.45,14.39,22,14.39,22l1.93-7.18a1,1,0,0,0,.89-.65.91.91,0,0,0-1.75-.47,1,1,0,0,0,.45,1L14,21.85a68.38,68.38,0,0,0-1.34-9.25,34.28,34.28,0,0,0,3.21-6.31l-.5-.13A.55.55,0,0,1,15,5.5a.53.53,0,0,1,.66-.38l5.68,1.52Z" style="fill:#b7b7b7;fill-rule:evenodd"/>`,
"Diff": `<rect x="6.975" y="3" width="18.05" height="6.017" style="fill:#c00000"/><path d="M12.992,10.95v6.017H6.975v6.017h6.017V29h6.017V22.983h6.017V16.967H19.008V10.95Z" style="fill:green"/>`,
"Django/Jinja2": `<defs><radialGradient id="a" cx="16" cy="-119.283" r="13.5" gradientTransform="matrix(1, 0, 0, -0.945, 0, -96.735)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#575757"/><stop offset="1" stop-color="#2f2f2f"/></radialGradient></defs><title>file_type_jinja</title><path d="M29.34,3.241a38.271,38.271,0,0,1-9.451,3.04c-4.241.55-12.329,1.1-13.935.712A23.3,23.3,0,0,1,3.2,6.151l.334,1.132L2.5,8.188l.183.323.424.032,1.3.162.183.582.727.066.364,1.228s1.544.13,2,.13,1.363-.064,1.363-.064l.03.485.334.064v.55l-.728.648.183.032v.225a15.816,15.816,0,0,1-2.3.034c-.666-.1-.788-.1-.788-.1l-.06.064-.03.291h.151l.06,1.262,3.363-.13-.243,4.365-.03.549-2.848-.162-.03-1.164h.635l.061-.453.575-.13.091-.128-2.151-.518-1.636.485.273.227h.273l.03.389.575.032V18.7l-.635.162.121.257.151.1v.873h.394v4.041l-.637.1.091,1.164.393.066-.06,2.651,1.727.032-.364-2.619,2.605-.064-.181,1.422-.243,1,2.635.032.03-2.586,1.817-.162-.09,1.649-.061.969h1.546l-.061-2.651.213.034.06-1.262h-.243l-.09-.518L13.8,21.9l.06-1.713h.333V19.149l-.424.032.061-1.22.493-.049.023-.4.28-.041.287-.218L13.187,16.9l-1.712.379.167.274.181-.015.211-.008.039.5.477-.023.009,1.082-2.053-.047.069-1.156.067-1.051V15.455L10.7,14l4.111-.21,4.892-.282.046.929-.174,2.231L19.5,18.744l-1.8-.032-.009-1.455.667-.024.03-.411.273-.041-.014-.081.273-.015.151-.2L17.034,16,15,16.44l.144.251.227-.017v.114h.28v.46l.6.008-.007,1.277h-.605l-.009.291.213.024-.023,1.108.447.024-.053,4.39-.591.12.007.21h.206v1.124h.34l-.09,1.536L15.974,28.7l2.151.056-.069-1.164-.158-.969-.031-.841,1.826-.032-.053,1.3-.009,1.374,1.031.081,1.4-.056.44-.13-.243-.736-.06-1.156-.114-.824,1.742-.064-.076,1.01-.007,1.585.7.064.69-.015.333-.105-.2-1.5L25.2,25.445l.3-.032L25.5,24.4l.083-.017-.014-.218h-.341l-.069-.744L25.13,20.2l.257-.008V19.133l.107.017v-.21l-.38-.034.009-1.228.635-.056-.037-.413.28-.024-.016-.081.371-.186-1.886-.379-1.916.389.121.226.3-.024.016.1h.25l.014.485.621-.008.053,1.188-2.2-.017-.257-1.786-.206-.946-.166-1.7.1-.993,4.377-.332.014-1.479.22-.056-.014-.225-.167-.1s-2.393.355-3.151.436l-.371.04-.023-.274-.905-.474.011-.552.311-.009.023-.759a24.807,24.807,0,0,0,2.544-.283c.689-.162,1.666-.323,1.666-.323L26.2,7.809l.917-.267.076-.21,2.074-.574.236-.194-.788-1.722.076-.389.4-.21.288-.881ZM19.374,9.8l-.011.626.47.02-.03.594-.921.6-.057.174.371,0,0,.146-2.814.137.019-.416.128-.207.009-.133,0-.286.08-.19.03-.154v-.11l.121-.485Zm-5.885.533-.069.421.22.259-.014.453.2.315-.053.372.151.218-2.871.113-.007-.1.333-.041.016-.122-.727-.395-.039-.631.348-.017.03-.68Zm4.249,9.7,1.742.113L19.42,22.5l.227,1.923L17.8,24.354Zm-11.663.1,2.788.145L8.62,21.9v1.359l.2.759-2.727.13Zm17.843.015v4.01l-1.772.13-.061-2.118-.2-1.973ZM10.5,20.24l2.06.008.021,3.718L10.657,24l-.1-1.205-.007-1.2Z" style="stroke:red;stroke-width:0.5px;fill:url(#a)"/>`,
"Docker": `<path d="M16.54,12.663H19.4v2.924h1.446a6.272,6.272,0,0,0,1.988-.333,5.091,5.091,0,0,0,.966-.436,3.584,3.584,0,0,1-.67-1.849,3.907,3.907,0,0,1,.7-2.753l.3-.348.358.288a4.558,4.558,0,0,1,1.795,2.892,4.375,4.375,0,0,1,3.319.309l.393.226-.207.4a4.141,4.141,0,0,1-4.157,1.983c-2.48,6.168-7.871,9.088-14.409,9.088-3.378,0-6.476-1.263-8.241-4.259l-.029-.049L2.7,20.227a8.316,8.316,0,0,1-.659-4.208l.04-.433H4.526V12.663H7.387V9.8h5.721V6.942H16.54v5.721Z" style="fill:#0096e6"/><path d="M12.006,24.567a6.022,6.022,0,0,1-3.14-3.089,10.329,10.329,0,0,1-2.264.343q-.5.028-1.045.028-.632,0-1.331-.037a9.051,9.051,0,0,0,7,2.769Q11.618,24.581,12.006,24.567Z" style="fill:#fff"/><path d="M7.08,13.346h.2v2.067h-.2Zm-.376,0h.2v2.067H6.7V13.346Zm-.376,0h.2v2.067h-.2Zm-.376,0h.2v2.067h-.2Zm-.376,0h.2v2.067h-.2Zm-.368,0h.2v2.067h-.2V13.346ZM5,13.14H7.482v2.479H5Zm2.859-2.861h2.48v2.479H7.863Zm2.077.207h.2v2.066h-.2Zm-.376,0h.2v2.066h-.2Zm-.376,0h.2v2.066h-.2V10.486Zm-.376,0h.2v2.066h-.2Zm-.376,0h.2v2.066h-.2Zm-.368,0h.2v2.066h-.2Zm-.207,2.653h2.48v2.48H7.863V13.14Zm2.077.207h.2v2.067h-.2Zm-.376,0h.2v2.067h-.2Zm-.376,0h.2v2.067h-.2V13.346Zm-.376,0h.2v2.067h-.2Zm-.376,0h.2v2.067h-.2Zm-.368,0h.2v2.067h-.2Zm2.654-.207H13.2v2.48h-2.48V13.14Zm2.076.207H13v2.067h-.2Zm-.376,0h.2v2.067h-.2Zm-.376,0h.2v2.067h-.2Zm-.376,0h.2v2.067h-.2Zm-.376,0h.2v2.067h-.2Zm-.368,0h.2v2.067h-.2Zm-.206-3.067H13.2v2.479h-2.48V10.279Zm2.076.207H13v2.066h-.2Zm-.376,0h.2v2.066h-.2Zm-.376,0h.2v2.066h-.2Zm-.376,0h.2v2.066h-.2Zm-.376,0h.2v2.066h-.2Zm-.368,0h.2v2.066h-.2Zm2.654,2.653h2.479v2.48h-2.48V13.14Zm2.076.207h.2v2.067h-.2Zm-.376,0h.2v2.067h-.2Zm-.376,0h.2v2.067h-.2Zm-.376,0h.2v2.067h-.2Zm-.376,0h.2v2.067h-.2Zm-.368,0h.192v2.067h-.2V13.346Zm-.206-3.067h2.479v2.479h-2.48V10.279Zm2.076.207h.2v2.066h-.2Zm-.376,0h.2v2.066h-.2Zm-.376,0h.2v2.066h-.2Zm-.376,0h.2v2.066h-.2Zm-.376,0h.2v2.066h-.2Zm-.368,0h.192v2.066h-.2V10.486Zm-.206-3.067h2.479V9.9h-2.48V7.419Zm2.076.206h.2V9.691h-.2Zm-.376,0h.2V9.691h-.2Zm-.376,0h.2V9.691h-.2Zm-.376,0h.2V9.691h-.2Zm-.376,0h.2V9.691h-.2Zm-.368,0h.192V9.691h-.2V7.625Zm2.654,5.514h2.479v2.48h-2.48V13.14Zm2.076.207h.195v2.067h-.2V13.346Zm-.376,0h.206v2.067h-.206Zm-.376,0h.2v2.067h-.2Zm-.376,0h.2v2.067h-.2Zm-.376,0h.2v2.067h-.205V13.346Zm-.368,0h.2v2.067h-.194V13.346Z" style="fill:#fff"/><path d="M10.188,19.638a.684.684,0,1,1-.684.684A.684.684,0,0,1,10.188,19.638Zm0,.194a.489.489,0,0,1,.177.033.2.2,0,1,0,.275.269.49.49,0,1,1-.453-.3Z" style="fill:#fff"/>`,
"DOT (Graphviz)": `<polygon points="23.942 30 12.679 30 1.417 30 1.417 16 1.417 2 12.679 2 23.942 2 23.942 16 23.942 30" style="fill:#e6e6e6"/><rect x="2.132" y="3.202" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="7.42" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="11.638" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="15.856" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="20.074" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="24.293" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="28.511" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2" y="3.202" width="0.264" height="25.573" style="fill:#4ed1f8"/><rect x="6.218" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="10.436" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="14.655" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="18.873" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="23.091" y="3.202" width="0.264" height="25.573" style="fill:#4ed1f8"/><g style="opacity:0.5"><rect x="2.132" y="27.456" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="26.402" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="25.347" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="23.238" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="22.184" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="21.129" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="19.02" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="17.965" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="16.911" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="14.802" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="13.747" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="12.693" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="10.583" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="9.529" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="8.474" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="6.365" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="5.311" width="21.135" height="0.264" style="fill:#4ed1f8"/><rect x="2.132" y="4.256" width="21.135" height="0.264" style="fill:#4ed1f8"/></g><g style="opacity:0.5"><rect x="22.036" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="20.982" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="19.927" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="17.818" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="16.764" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="15.709" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="13.6" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="12.545" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="11.491" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="9.382" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="8.327" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="7.273" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="5.164" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="4.109" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/><rect x="3.055" y="3.333" width="0.264" height="25.331" style="fill:#4ed1f8"/></g><path d="M13,8.976c-2.308,0-4.131-1.274-4.193-2.969h0a2.775,2.775,0,0,1,1.253-2.32,5.3,5.3,0,0,1,2.943-.963,5.294,5.294,0,0,1,3.006.743,2.775,2.775,0,0,1,1.421,2.221c.065,1.752-1.779,3.194-4.2,3.283C13.158,8.974,13.08,8.976,13,8.976Zm.232-5.2q-.095,0-.19,0a4.238,4.238,0,0,0-2.354.756,1.761,1.761,0,0,0-.828,1.435C9.9,7.09,11.428,7.978,13.2,7.917s3.223-1.069,3.181-2.191a1.761,1.761,0,0,0-.932-1.369A4.165,4.165,0,0,0,13.234,3.773Z" style="fill:#656565"/><path d="M6.4,29.281A5.238,5.238,0,0,1,3.6,28.519a2.775,2.775,0,0,1-1.41-2.229c-.056-1.752,1.8-3.185,4.213-3.262s4.356,1.236,4.412,2.988A2.775,2.775,0,0,1,9.548,28.33a5.3,5.3,0,0,1-2.948.948Q6.5,29.281,6.4,29.281Zm.186-5.2-.156,0c-1.766.056-3.229,1.052-3.193,2.174a1.761,1.761,0,0,0,.924,1.374,4.235,4.235,0,0,0,2.4.593,4.235,4.235,0,0,0,2.357-.744,1.761,1.761,0,0,0,.835-1.43C9.724,24.961,8.29,24.08,6.591,24.08Z" style="fill:#656565"/><path d="M19.261,29.26a5.238,5.238,0,0,1-2.807-.762,2.775,2.775,0,0,1-1.41-2.229h0c-.055-1.752,1.8-3.185,4.213-3.262a5.3,5.3,0,0,1,3,.759A2.6,2.6,0,0,1,22.4,28.31a5.3,5.3,0,0,1-2.948.948Q19.358,29.26,19.261,29.26ZM16.1,26.236a1.761,1.761,0,0,0,.924,1.374,4.57,4.57,0,0,0,4.757-.151,1.558,1.558,0,0,0-.089-2.8,4.226,4.226,0,0,0-2.4-.593c-1.766.056-3.228,1.052-3.193,2.174Z" style="fill:#656565"/><path d="M6.2,23.477A27.4,27.4,0,0,1,9.769,8.986l.687.391A26.609,26.609,0,0,0,6.986,23.45Z" style="fill:#656565"/><path d="M10.853,7.957a7.171,7.171,0,0,0-.075,2.32l-.758-.93-1.178-.23A7.165,7.165,0,0,0,10.853,7.957Z" style="fill:#656565"/><path d="M19.854,23.477l-.79-.027a26.59,26.59,0,0,0-.915-7.884,26.624,26.624,0,0,0-2.554-6.189l.687-.391a27.423,27.423,0,0,1,2.63,6.373A27.372,27.372,0,0,1,19.854,23.477Z" style="fill:#656565"/><path d="M15.2,7.957a7.171,7.171,0,0,0,2.011,1.159l-1.178.23-.758.93A7.165,7.165,0,0,0,15.2,7.957Z" style="fill:#656565"/><rect x="11.348" y="9.945" width="3.515" height="0.791" transform="matrix(0.016, -1, 1, 0.016, 2.557, 23.279)" style="fill:#656565"/><path d="M13.054,13.529a7.171,7.171,0,0,0-1.1-2.046l1.122.426,1.135-.39A7.165,7.165,0,0,0,13.054,13.529Z" style="fill:#656565"/><rect x="7.809" y="20.081" width="4.757" height="0.791" transform="translate(-12.56 18.108) rotate(-57.603)" style="fill:#656565"/><path d="M8.147,23.694a7.171,7.171,0,0,0,.133-2.317l.734.949,1.171.26A7.165,7.165,0,0,0,8.147,23.694Z" style="fill:#656565"/><rect x="15.418" y="18.051" width="0.791" height="4.919" transform="translate(-8.257 10.951) rotate(-30.708)" style="fill:#656565"/><path d="M17.8,23.856a7.171,7.171,0,0,0-2.006-1.168l1.179-.225.762-.927A7.165,7.165,0,0,0,17.8,23.856Z" style="fill:#656565"/><path d="M13.024,19.125a5.238,5.238,0,0,1-2.807-.762,2.775,2.775,0,0,1-1.41-2.229,2.775,2.775,0,0,1,1.266-2.314,5.3,5.3,0,0,1,2.948-.948,6.712,6.712,0,0,1,2.134.313l-.331,1a5.668,5.668,0,0,0-1.769-.261,4.238,4.238,0,0,0-2.358.744,1.761,1.761,0,0,0-.835,1.43,1.761,1.761,0,0,0,.924,1.374,4.242,4.242,0,0,0,2.4.593,5.7,5.7,0,0,0,1.678-.378l.378.985a6.844,6.844,0,0,1-2.022.448Q13.121,19.125,13.024,19.125Z" style="fill:#656565"/><path d="M15.435,12.876a4.338,4.338,0,0,0-.984,1.622,2.064,2.064,0,0,1-.016,2.806,4.4,4.4,0,0,0,.982,1.6,3.932,3.932,0,0,0,.078-5.986C15.476,12.9,15.454,12.893,15.435,12.876Z" style="fill:#656565"/><path d="M19.525,15.278a27.931,27.931,0,0,0-1.263-3.742,4.376,4.376,0,0,0-1.777.517,26.063,26.063,0,0,1,1.253,3.685,26.038,26.038,0,0,1,.734,4.534,4.347,4.347,0,0,0,1.825-.351A27.9,27.9,0,0,0,19.525,15.278Z" style="fill:#656565"/><path d="M16.153,12.229A4.437,4.437,0,1,0,22.3,13.5,4.437,4.437,0,0,0,16.153,12.229Zm4.812,7.332a4.346,4.346,0,1,1,1.249-6.018A4.346,4.346,0,0,1,20.965,19.561Z" style="fill:#2c2928"/><path d="M22.015,19.186a.822.822,0,0,0-.192-.209,4.347,4.347,0,0,1-.333.319,4.522,4.522,0,0,1-.446.337,4.73,4.73,0,0,1-.94.477.669.669,0,0,0,.031.1.64.64,0,0,0,.047.094l.487.8L22.5,19.984Z" style="fill:#282828"/><rect x="20.793" y="20.784" width="2.147" height="0.44" transform="translate(-7.74 14.465) rotate(-31.394)" style="fill:#282828"/><rect x="22.868" y="20.96" width="2.147" height="6.887" transform="translate(-9.207 16.044) rotate(-31.394)" style="fill:#282828"/><path d="M27.054,27.443l-.236-.387-1.833,1.119.236.387a.924.924,0,0,0,1.279.159l.11-.067A.924.924,0,0,0,27.054,27.443Z" style="fill:#282828"/><path d="M20.68,14.845a.315.315,0,0,1,.338.027,1.078,1.078,0,0,1,.294.578,1.1,1.1,0,0,1,.029.654.327.327,0,0,1-.278.2.468.468,0,0,1-.37-.1.922.922,0,0,1-.262-.5.955.955,0,0,1-.01-.585A.466.466,0,0,1,20.68,14.845Zm.06.227a.149.149,0,0,0-.074.063.247.247,0,0,0-.027.132,1.626,1.626,0,0,0,.064.355,1.592,1.592,0,0,0,.112.329.268.268,0,0,0,.094.11.142.142,0,0,0,.094.015.121.121,0,0,0,.078-.048.211.211,0,0,0,.028-.128,2.643,2.643,0,0,0-.186-.722.235.235,0,0,0-.093-.107A.116.116,0,0,0,20.739,15.072Z" style="fill:#00ff80"/><path d="M21.694,14.4a.3.3,0,0,1,.346.057,1.493,1.493,0,0,1,.325.7,1.521,1.521,0,0,1,.06.771.31.31,0,0,1-.27.228.446.446,0,0,1-.379-.137,1.31,1.31,0,0,1-.292-.617,1.341,1.341,0,0,1-.041-.7A.441.441,0,0,1,21.694,14.4Zm.072.273a.136.136,0,0,0-.072.069.315.315,0,0,0-.021.155,2.351,2.351,0,0,0,.084.427,2.31,2.31,0,0,0,.131.4.347.347,0,0,0,.1.135.13.13,0,0,0,.1.021.11.11,0,0,0,.076-.054.275.275,0,0,0,.022-.15,3.773,3.773,0,0,0-.224-.862.311.311,0,0,0-.1-.132A.1.1,0,0,0,21.766,14.674Z" style="fill:#00ff80"/><path d="M23.472,15.934l-.269.038-.379-1.439a.955.955,0,0,1-.257.392l-.087-.331a.841.841,0,0,0,.169-.26.874.874,0,0,0,.075-.383l.2-.089Z" style="fill:#00ff80"/><path d="M24.455,15.794l-.269.038-.429-1.625a1,1,0,0,1-.247.429l-.1-.376a.874.874,0,0,0,.162-.284,1.028,1.028,0,0,0,.064-.424l.2-.089Z" style="fill:#00ff80"/><path d="M24.636,13.117c.127-.055.249-.008.369.144a3.11,3.11,0,0,1,.416,1.034,3.143,3.143,0,0,1,.151,1.11c-.029.19-.111.294-.247.312s-.272-.059-.4-.231a2.855,2.855,0,0,1-.381-.95,2.871,2.871,0,0,1-.132-1.039A.437.437,0,0,1,24.636,13.117Zm.107.4a.124.124,0,0,0-.067.088.584.584,0,0,0,0,.221,5.218,5.218,0,0,0,.139.635,5.153,5.153,0,0,0,.184.6.66.66,0,0,0,.12.208.118.118,0,0,0,.1.04.1.1,0,0,0,.071-.072.528.528,0,0,0,0-.216,5.442,5.442,0,0,0-.144-.653,5.447,5.447,0,0,0-.189-.619.612.612,0,0,0-.119-.205A.093.093,0,0,0,24.743,13.522Z" style="fill:#00ff80"/><path d="M26.638,15.488l-.269.038-.54-2.039A1.151,1.151,0,0,1,25.6,14l-.126-.475a.99.99,0,0,0,.148-.337,1.436,1.436,0,0,0,.039-.515l.2-.088Z" style="fill:#00ff80"/><path d="M26.666,12.236c.127-.055.255.012.385.2a4.584,4.584,0,0,1,.478,1.268,4.62,4.62,0,0,1,.213,1.343c-.018.229-.1.352-.232.37s-.278-.081-.421-.3a4.284,4.284,0,0,1-.443-1.179,4.283,4.283,0,0,1-.194-1.272C26.468,12.438,26.539,12.291,26.666,12.236Zm.131.5q-.046.018-.064.1a.829.829,0,0,0,.009.266,7.856,7.856,0,0,0,.178.779q.143.541.221.738a.947.947,0,0,0,.134.258.119.119,0,0,0,.1.052q.048-.009.068-.085a.762.762,0,0,0-.008-.262,8.117,8.117,0,0,0-.182-.8q-.148-.557-.227-.757a.892.892,0,0,0-.133-.256Q26.843,12.714,26.8,12.732Z" style="fill:#00ff80"/><path d="M27.681,11.8c.127-.055.257.023.393.234a5.431,5.431,0,0,1,.509,1.385,5.467,5.467,0,0,1,.244,1.46c-.013.249-.088.381-.224.4s-.281-.092-.43-.328a5.11,5.11,0,0,1-.473-1.294,5.1,5.1,0,0,1-.225-1.388C27.486,12.008,27.555,11.851,27.681,11.8Zm.144.542q-.046.018-.062.106a.97.97,0,0,0,.015.289q.04.259.2.851t.24.807a1.112,1.112,0,0,0,.14.284q.057.067.106.059t.066-.091a.9.9,0,0,0-.014-.284q-.04-.26-.2-.867t-.245-.827a1.053,1.053,0,0,0-.14-.281Q27.871,12.32,27.825,12.338Z" style="fill:#00ff80"/><path d="M29.915,15.034l-.27.037-.706-2.661a1.478,1.478,0,0,1-.192.636l-.166-.625A1.248,1.248,0,0,0,28.708,12a2.214,2.214,0,0,0,0-.653l.2-.088Z" style="fill:#00ff80"/><path d="M29.712,10.921c.127-.054.263.043.409.294a7.345,7.345,0,0,1,.572,1.619A7.382,7.382,0,0,1,31,14.527c0,.288-.072.44-.209.458s-.286-.114-.447-.393a6.984,6.984,0,0,1-.535-1.524,6.944,6.944,0,0,1-.287-1.621C29.523,11.151,29.586,10.975,29.712,10.921Zm.168.633q-.046.018-.059.119a1.287,1.287,0,0,0,.027.334q.051.3.235.994t.277.946a1.484,1.484,0,0,0,.154.334q.06.08.109.071t.063-.1a1.2,1.2,0,0,0-.026-.33q-.051-.3-.239-1.011t-.282-.965a1.42,1.42,0,0,0-.153-.332Q29.926,11.536,29.88,11.553Z" style="fill:#00ff80"/><path d="M21.167,16.362a.422.422,0,0,1,.318.185,1.005,1.005,0,0,1-.277,1.03.42.42,0,0,1-.366,0,.59.59,0,0,1-.311-.261.808.808,0,0,1,.254-.893A.561.561,0,0,1,21.167,16.362Zm-.051.189a.175.175,0,0,0-.192.087,1.487,1.487,0,0,0-.155.567.216.216,0,0,0,.039.124.191.191,0,0,0,.084.058.145.145,0,0,0,.188-.069,1.666,1.666,0,0,0,.164-.6.189.189,0,0,0-.04-.121A.163.163,0,0,0,21.117,16.551Z" style="fill:#00ff80"/><path d="M22.376,16.548a.382.382,0,0,1,.311.212,1.024,1.024,0,0,1-.019.66,1.022,1.022,0,0,1-.315.581.38.38,0,0,1-.373.025.533.533,0,0,1-.3-.29,1.189,1.189,0,0,1,.309-1.1A.5.5,0,0,1,22.376,16.548Zm-.062.23a.167.167,0,0,0-.1.013.235.235,0,0,0-.1.1,2.219,2.219,0,0,0-.189.694.269.269,0,0,0,.033.147.167.167,0,0,0,.083.064.143.143,0,0,0,.1,0,.206.206,0,0,0,.094-.1,2.436,2.436,0,0,0,.2-.727.24.24,0,0,0-.034-.144A.141.141,0,0,0,22.314,16.778Z" style="fill:#00ff80"/><path d="M23.37,18.541l-.281-.11.328-1.225a1,1,0,0,1-.442.152l.075-.281a.881.881,0,0,0,.292-.1.68.68,0,0,0,.259-.238l.242.037Z" style="fill:#00ff80"/><path d="M24.793,16.919a.348.348,0,0,1,.3.266,1.751,1.751,0,0,1-.075.87,1.749,1.749,0,0,1-.371.791.345.345,0,0,1-.388.078.488.488,0,0,1-.288-.348,1.587,1.587,0,0,1,.067-.79,1.577,1.577,0,0,1,.354-.727A.457.457,0,0,1,24.793,16.919Zm-.084.312a.143.143,0,0,0-.107.025.353.353,0,0,0-.106.141,4.126,4.126,0,0,0-.257.948.408.408,0,0,0,.021.192.143.143,0,0,0,.08.075.12.12,0,0,0,.1-.011.318.318,0,0,0,.105-.137,4.418,4.418,0,0,0,.266-.981.374.374,0,0,0-.022-.189A.119.119,0,0,0,24.71,17.231Z" style="fill:#00ff80"/><path d="M25.649,19.43l-.281-.11.428-1.6a1.033,1.033,0,0,1-.462.227l.1-.371a.9.9,0,0,0,.3-.151.93.93,0,0,0,.281-.321l.242.037Z" style="fill:#00ff80"/><path d="M27.211,17.291a.344.344,0,0,1,.282.319,2.692,2.692,0,0,1-.131,1.08,2.69,2.69,0,0,1-.427,1,.34.34,0,0,1-.4.13.487.487,0,0,1-.273-.405,2.494,2.494,0,0,1,.122-1,2.47,2.47,0,0,1,.41-.937A.451.451,0,0,1,27.211,17.291Zm-.106.394a.133.133,0,0,0-.11.036.509.509,0,0,0-.117.182,6.622,6.622,0,0,0-.325,1.2.591.591,0,0,0,.009.237.133.133,0,0,0,.077.086.11.11,0,0,0,.107-.023.465.465,0,0,0,.116-.178,4.639,4.639,0,0,0,.2-.619,4.658,4.658,0,0,0,.136-.615.552.552,0,0,0-.01-.235A.11.11,0,0,0,27.105,17.685Z" style="fill:#00ff80"/><path d="M27.927,20.32l-.281-.11.528-1.971a1.134,1.134,0,0,1-.482.3l.123-.46a.972.972,0,0,0,.317-.2,1.248,1.248,0,0,0,.3-.4l.242.037Z" style="fill:#00ff80"/><path d="M28.953,20.721l-.281-.11.573-2.139a1.2,1.2,0,0,1-.491.336l.134-.5a1.02,1.02,0,0,0,.323-.22,1.413,1.413,0,0,0,.314-.44l.242.037Z" style="fill:#00ff80"/><path d="M30.717,17.83c.151.023.238.155.262.4a4.436,4.436,0,0,1-.213,1.385,4.434,4.434,0,0,1-.509,1.307c-.14.195-.28.263-.422.207s-.226-.22-.25-.489a4.194,4.194,0,0,1,.2-1.3,4.143,4.143,0,0,1,.492-1.241C30.42,17.9,30.566,17.807,30.717,17.83Zm-.137.513a.132.132,0,0,0-.115.053.8.8,0,0,0-.133.241,7.587,7.587,0,0,0-.244.791,7.539,7.539,0,0,0-.18.779.93.93,0,0,0-.009.3.131.131,0,0,0,.073.1.108.108,0,0,0,.111-.039.742.742,0,0,0,.132-.237,7.8,7.8,0,0,0,.248-.806,7.835,7.835,0,0,0,.185-.8.884.884,0,0,0,.008-.3Q30.633,18.353,30.58,18.343Z" style="fill:#00ff80"/>`,
"EditorConfig": `<path d="M8.709,18.351a1.267,1.267,0,0,0,.532-1.379C8.692,17.207,8.718,17.749,8.709,18.351Z" style="fill:#e3e3f8"/><path d="M14.924,19.852a.871.871,0,0,0,.62-1.135A1.43,1.43,0,0,0,14.924,19.852Z" style="fill:#e3e3f8"/><path d="M2.713,27.079a1.538,1.538,0,0,0,.524,1.353c1.414.794,6.372.175,8.056-.2a14.994,14.994,0,0,0,2.426-1.213,22.643,22.643,0,0,0,4.713-2.557c1.082-.794,2.8-3.029,2.985-4.364l-1.475-.332c-.035,1.5-.375,1.842-1.711,2.191a10.662,10.662,0,0,1-3.57.14,3.362,3.362,0,0,1-2.313-1.562c-1.065-1.414.236-2.4-1.449-2.5-1.772,2.173-4.9.611-6.267.393a30.066,30.066,0,0,0-1.938,7.6,2.748,2.748,0,0,1,2.138.323c2.688,1.039.34,1.955-.733,1.685C3.368,27.864,3.141,27.384,2.713,27.079Z" style="fill:#fdfdfd"/><path d="M6.231,14.537a11.539,11.539,0,0,1,2.985,1.126c1.51.751,1.781.646,1.92,1.693.017.192-.017.3.532.471.925.288-.532-.227,1.946-.218A16.64,16.64,0,0,1,19.559,18.9c.454.288.367.655,1.9.611a18.767,18.767,0,0,0-1.2-6.162c-.864-2.007-2.007-2.313-4.338-3.064-1.362-.436-5.359-.916-6.6-.148-1.161.724-1.379,1.589-2.461,3.107A5.366,5.366,0,0,0,6.231,14.537Z" style="fill:#fdfdfd"/><path d="M15.84,18.246c.873.358-.044,2.671-1.257,2.112-.393-1.108.541-1.737.794-2.234a8.51,8.51,0,0,0-2.461-.148c-.576.218-.707,1.449-.41,2.025,1.4,2.741,7.567,2.156,6.913.026-.262-.864-.506-1-1.388-1.3A6.885,6.885,0,0,0,15.84,18.246Z" style="fill:#fdfdfd"/><path d="M4.869,17.941c.7.672,2.278.777,3.3.829C8.3,17.417,8.413,16.4,9.5,16.483a1.6,1.6,0,0,1-.305,2.13,1.386,1.386,0,0,0,1.362-1.763,14.542,14.542,0,0,0-4.46-1.894A9.506,9.506,0,0,0,4.869,17.941Z" style="fill:#fdfdfd"/><path d="M3.228,26.581c.576-.052,2.077.384,2.2.873C4.494,27.568,3.307,27.48,3.228,26.581Zm-.515.5c.428.305.655.786,1.388.96,1.074.271,3.421-.646.733-1.685A2.748,2.748,0,0,0,2.7,26.032a30.066,30.066,0,0,1,1.938-7.6c1.37.218,4.495,1.781,6.267-.393,1.685.1.384,1.082,1.449,2.5A3.362,3.362,0,0,0,14.662,22.1a10.662,10.662,0,0,0,3.57-.14c1.335-.349,1.676-.69,1.711-2.191l1.475.332c-.183,1.335-1.9,3.57-2.985,4.364a22.643,22.643,0,0,1-4.713,2.557,14.994,14.994,0,0,1-2.426,1.213c-1.685.375-6.642,1-8.056.2A1.538,1.538,0,0,1,2.713,27.079Zm12.211-7.227a1.43,1.43,0,0,1,.62-1.135A.871.871,0,0,1,14.924,19.852Zm.916-1.606a6.885,6.885,0,0,1,2.191.48c.882.3,1.126.436,1.388,1.3.655,2.13-5.516,2.714-6.913-.026-.3-.576-.166-1.807.41-2.025a8.51,8.51,0,0,1,2.461.148c-.253.5-1.187,1.126-.794,2.234C15.8,20.917,16.713,18.6,15.84,18.246Zm-7.131.1c.009-.6-.017-1.143.532-1.379A1.267,1.267,0,0,1,8.709,18.351Zm-3.84-.41a9.506,9.506,0,0,1,1.222-2.985,14.542,14.542,0,0,1,4.46,1.894A1.386,1.386,0,0,1,9.19,18.613a1.6,1.6,0,0,0,.305-2.13c-1.082-.079-1.2.934-1.327,2.287C7.147,18.717,5.567,18.613,4.869,17.941ZM4,17.242c-.323-.89-.323-2.278,1.047-2.392l-.7,1.946C4.162,17.216,4.162,17.12,4,17.242Zm2.234-2.706a5.366,5.366,0,0,1,.628-1.292c1.082-1.519,1.3-2.383,2.461-3.107,1.239-.768,5.237-.288,6.6.148,2.33.751,3.474,1.056,4.338,3.064a18.767,18.767,0,0,1,1.2,6.162c-1.536.044-1.449-.323-1.9-.611a16.64,16.64,0,0,0-5.944-1.292c-2.479-.009-1.021.506-1.946.218-.55-.175-.515-.279-.532-.471-.14-1.047-.41-.943-1.92-1.693A11.539,11.539,0,0,0,6.231,14.537Zm15.449-.428c-.166-.55.14-.515.672-.89a9.021,9.021,0,0,1,.925-.655c1.405-.786,4.024-.916,5.141.017A2.479,2.479,0,0,1,29.5,14.65a5.838,5.838,0,0,1-2.618,3.832,5.213,5.213,0,0,1-4.783,1.2c-.157-.384-.035-2.819-.218-3.718-.166-.8-.079-.89.384-1.37,1.362-1.414,4.312-2.444,5.988-1.231.707.524.506.724.873,1.126.454-.489-.393-2.13-3.517-2.025C23.486,12.529,22.57,14.187,21.68,14.109ZM8.971,9.143a8.094,8.094,0,0,1,2.278-4.6C12.6,3.5,14.016,2.509,16.094,3.687c.515.288.489.436.541,1.152a3.312,3.312,0,0,1-.192,1.5c-1.379,4.451-2.531,1.894-6.948,2.95a6.374,6.374,0,0,1,2.121-3.413c1.2-1.161,2.06-1.911,3.858-1.667a1.842,1.842,0,0,1-.052,2.322c-.8,1.292-1,1.213-.882,2.095.628-.157.82-.768,1.108-1.379,1.754-3.666-.794-4.111-2.357-3.439A10.372,10.372,0,0,0,9.766,7.554c-.122.244-.253.559-.367.829Zm6.913.183C16.067,8.235,17.15,7.964,17.15,4.6c0-1.449-1.781-2.749-4.111-1.781-2,.82-2.3,1.449-3.369,3.055-1,1.519-.969,3.186-1.833,4.591-.253.4-.48.541-.759.943-.2.3-.349.672-.55,1.021A12.94,12.94,0,0,0,5.367,14.4c-1.047.026-1.929.044-2.034,1.126-.14,1.484.559,1.85.559,2.409-.009.6-2.453,6.677-1.772,10.3.192,1,.847,1,1.894,1.126a17.93,17.93,0,0,0,8.056-.707l4.1-1.964a18.85,18.85,0,0,0,3.561-2.5,12.383,12.383,0,0,0,1.309-1.719,3.213,3.213,0,0,0,.8-2.208,8.473,8.473,0,0,1,2.985,1c-.061.6-.358.314-.358.855a1.355,1.355,0,0,0,1.047-.89c-.358-.524-.733-.436-1.248-.855a8.212,8.212,0,0,1,1.719-.707c1.222-.506,3.308-2.042,3.823-3.439a4.449,4.449,0,0,0-.559-3.736,5.444,5.444,0,0,0-3.648-1.161c-1.58,0-3.212,1.135-4.486,1.623-.489-.428-.524-.916-.882-1.388A12.281,12.281,0,0,0,15.884,9.326Z" style="fill:#020202"/><path d="M21.68,14.109c.89.079,1.807-1.58,3.928-1.65,3.125-.1,3.971,1.536,3.517,2.025-.367-.4-.166-.6-.873-1.126-1.676-1.213-4.626-.183-5.988,1.231-.463.48-.55.567-.384,1.37.183.9.061,3.334.218,3.718a5.213,5.213,0,0,0,4.783-1.2A5.838,5.838,0,0,0,29.5,14.65a2.479,2.479,0,0,0-1.082-2.069c-1.117-.934-3.736-.8-5.141-.017a9.021,9.021,0,0,0-.925.655C21.819,13.594,21.514,13.559,21.68,14.109Z" style="fill:#fdf2f2"/><path d="M8.971,9.143,9.4,8.383c.113-.271.244-.585.367-.829A10.372,10.372,0,0,1,13.292,3.81c1.562-.672,4.111-.227,2.357,3.439-.288.611-.48,1.222-1.108,1.379-.122-.882.079-.8.882-2.095a1.842,1.842,0,0,0,.052-2.322c-1.8-.244-2.662.506-3.858,1.667A6.374,6.374,0,0,0,9.5,9.291c4.416-1.056,5.569,1.5,6.948-2.95a3.312,3.312,0,0,0,.192-1.5c-.052-.716-.026-.864-.541-1.152-2.077-1.178-3.491-.192-4.844.855A8.094,8.094,0,0,0,8.971,9.143Z" style="fill:#fef3f3"/><path d="M4,17.242c.166-.122.166-.026.349-.445l.7-1.946C3.673,14.964,3.673,16.352,4,17.242Z" style="fill:#efefef"/><path d="M5.428,27.454c-.122-.489-1.623-.925-2.2-.873C3.307,27.48,4.494,27.568,5.428,27.454Z" style="fill:#faf1f1"/>`,
"EJS": `<path d="M2,17.672V14.328l11.86-6.2V11.2L5.1,15.939l8.762,4.835v3.1Zm27.814-8.88L19.465,23.229H15.912L26.281,8.791ZM26.947,21.5a.794.794,0,0,0,.619-.278,1.061,1.061,0,0,0,.248-.732,1.141,1.141,0,0,0-.248-.753.768.768,0,0,0-1.217,0,1.141,1.141,0,0,0-.248.753,1.09,1.09,0,0,0,.237.732A.763.763,0,0,0,26.947,21.5Zm2.186,1.042a3.237,3.237,0,0,1-4.352-.01,2.864,2.864,0,0,1,0-4.1,3.223,3.223,0,0,1,4.352,0A2.773,2.773,0,0,1,30,20.486,2.74,2.74,0,0,1,29.134,22.538ZM18.821,13.061a.794.794,0,0,0,.619-.278,1.061,1.061,0,0,0,.248-.732,1.141,1.141,0,0,0-.248-.753.769.769,0,0,0-1.217,0,1.141,1.141,0,0,0-.248.753,1.09,1.09,0,0,0,.237.732A.763.763,0,0,0,18.821,13.061ZM21.007,14.1a3.237,3.237,0,0,1-4.352-.01,2.864,2.864,0,0,1,0-4.1,3.223,3.223,0,0,1,4.352,0,2.773,2.773,0,0,1,.866,2.063A2.74,2.74,0,0,1,21.007,14.1Z" style="fill:#90a93a"/>`,
"Elixir": `<defs><linearGradient id="a" x1="17.249" y1="-335.597" x2="14.973" y2="-309.994" gradientTransform="matrix(1, 0, 0, -1, 0, -306)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff" stop-opacity="0"/><stop offset="0.01" stop-color="#f7f6f8" stop-opacity="0.04"/><stop offset="0.09" stop-color="#aa9cb3" stop-opacity="0.39"/><stop offset="0.2" stop-color="#6f567e" stop-opacity="0.66"/><stop offset="0.32" stop-color="#452459" stop-opacity="0.86"/><stop offset="0.5" stop-color="#2d0843" stop-opacity="0.97"/><stop offset="1" stop-color="#26003d"/></linearGradient></defs><title>file_type_elixir</title><path d="M17.8,8.591c2.079,4.584,7.64,6.5,7.141,12.474-.582,7.017-5.551,8.784-8.316,8.909a8.815,8.815,0,0,1-9.4-7.485C5.618,15.046,12.655,3.632,16.709,2A15.083,15.083,0,0,0,17.8,8.591Zm-.166,18.857a.423.423,0,0,0-.057-.327c-.593-1.1-5.81-1.645-6.907-1.752a8.272,8.272,0,0,0,1.635,1.3,7.766,7.766,0,0,0,2.814,1.041C15.922,27.831,17.467,27.933,17.635,27.447Z" style="fill:#7c648f"/><g style="opacity:0.25"><path d="M18.248,10.618c4.47,4.823,6.445,4.979,6.237,10.478-.249,6.476-4.543,8.191-7.058,8.42-4.2.551-7.495-1.528-8.358-5.686C7.312,17.063,12.978,6.023,16.637,4.36A15.323,15.323,0,0,0,18.258,10.6Z" style="fill:#26003d"/></g><g style="opacity:0.75"><path d="M17.385,9.921C20.369,14,24.319,13.7,25,19.641c.094,6.923-3.6,9.283-6.237,9.948-4.5,1.279-8.514-.645-10.094-5-3.035-7,2.651-18.514,6.31-20.915a15.083,15.083,0,0,0,2.37,6.237Z" style="fill:url(#a)"/></g>`,
"Elm": `<path d="M16,16.768,2.768,30H29.232Z" style="fill:#5fb4cb"/><path d="M24.13,23.362,30,29.232V17.492Z" style="fill:#eea400"/><path d="M15.232,16,2,2.768V29.232Z" style="fill:#596277"/><path d="M30,14.448V2H17.552Z" style="fill:#5fb4cb"/><path d="M23.392,9.376l6.594,6.594-6.624,6.624L16.768,16ZM2.768,2,8.863,8.1H22.111L16.016,2Z" style="fill:#8cd636"/><path d="M16,15.232l6.051-6.051H9.949Z" style="fill:#eea400"/>`,
"ERB": `<path d="M7.25,24.75h17.5L12.5,12.5,7.25,17.75ZM2,30H30V2H16L2,16Zm25.375-2.625H4.625v-10.5l12.25-12.25h10.5Z" style="fill:#921a1e"/>`,
"Erlang": `<path d="M6.388,23.867a11.012,11.012,0,0,1-3.441-8.234,10.765,10.765,0,0,1,2.864-7.5H2v15.73Zm20.066,0a16.44,16.44,0,0,0,2.537-3.136l-4.218-1.873a8.306,8.306,0,0,1-6.641,4.12c-4.359-.014-6.072-3.329-6.063-7.584H28.36a6.465,6.465,0,0,0,0-.935,9.057,9.057,0,0,0-2.029-6.326H30v15.73H26.456ZM12.332,11.742a3.723,3.723,0,0,1,3.9-3.23,3.29,3.29,0,0,1,3.532,3.23Z" style="fill:#a2003e"/>`,
"F#": `<path d="M2,16,15.288,2.712V9.356L8.644,16l6.644,6.644v6.644Z" style="fill:#378bba"/><path d="M10.542,16l4.746-4.746v9.492Z" style="fill:#378bba"/><path d="M30,16,16.237,2.712V9.356L22.881,16l-6.644,6.644v6.644Z" style="fill:#30b9db"/>`,
"Firestore security rules": `<path d="M5.8,24.6l.17-.237L13.99,9.149l.017-.161-3.535-6.64a.656.656,0,0,0-1.227.207Z" style="fill:#ffc24a"/><path d="M5.9,24.42l.128-.25L13.965,9.114,10.439,2.448a.6.6,0,0,0-1.133.206Z" style="fill:#ffa712"/><path d="M16.584,14.01l2.632-2.7L16.583,6.289a.678.678,0,0,0-1.195,0L13.981,8.971V9.2Z" style="fill:#f4bd62"/><path d="M16.537,13.9,19.1,11.28,16.537,6.4a.589.589,0,0,0-1.074-.047L14.049,9.082l-.042.139Z" style="fill:#ffa50e"/><polygon points="5.802 24.601 5.879 24.523 6.158 24.41 16.418 14.188 16.548 13.834 13.989 8.956 5.802 24.601" style="fill:#f6820c"/><path d="M16.912,29.756,26.2,24.577,23.546,8.246A.635.635,0,0,0,22.471,7.9L5.8,24.6l9.233,5.155a1.927,1.927,0,0,0,1.878,0" style="fill:#fde068"/><path d="M26.115,24.534,23.483,8.326a.557.557,0,0,0-.967-.353L5.9,24.569l9.131,5.1a1.912,1.912,0,0,0,1.863,0Z" style="fill:#fcca3f"/><path d="M16.912,29.6a1.927,1.927,0,0,1-1.878,0L5.876,24.522,5.8,24.6l9.233,5.155a1.927,1.927,0,0,0,1.878,0L26.2,24.577l-.023-.14Z" style="fill:#eeab37"/><polygon points="23.201 13 15.405 16.534 15.405 27.603 21.625 24.785 21.625 31 31 26.743 31 16.534 23.201 13" style="fill:#252525"/><polygon points="23.201 14.73 16.985 17.549 16.985 20.327 23.201 17.507 29.421 20.327 29.421 17.549 23.201 14.73" style="fill:#fff"/><polygon points="23.201 19.564 16.985 22.381 16.985 25.158 23.201 22.337 29.421 25.158 29.421 22.381 23.201 19.564" style="fill:#fff"/><polygon points="28.606 26.098 25.551 24.712 23.201 25.778 23.201 28.548 28.606 26.098" style="fill:#fff"/>`,
"Flow": `<defs><linearGradient id="a" x1="-67.907" y1="-308.551" x2="-67.857" y2="-308.564" gradientTransform="matrix(87.822, 0, 0, -88.533, 5984.532, -27290.617)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffd441"/><stop offset="1" stop-color="#ffb047"/></linearGradient><linearGradient id="b" x1="-67.674" y1="-310.121" x2="-67.647" y2="-310.063" gradientTransform="matrix(87.822, 0, 0, -88.533, 5964.667, -27443)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffd754"/><stop offset="1" stop-color="#ffb532"/></linearGradient><linearGradient id="c" x1="-67.029" y1="-310.91" x2="-67.029" y2="-310.86" gradientTransform="matrix(87.822, 0, 0, -88.533, 5902.8, -27518.733)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffd642"/><stop offset="0" stop-color="#ffd441"/><stop offset="1" stop-color="#ffb532"/></linearGradient><linearGradient id="d" x1="-66.252" y1="-310.377" x2="-66.32" y2="-310.362" gradientTransform="matrix(106.198, 0, 0, -88.551, 7048.428, -27474.167)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffd441"/><stop offset="1" stop-color="#ffa829"/></linearGradient></defs><title>file_type_flow</title><path d="M23.426,29.41V22.172h-7.18l7.18,7.238" style="fill:#ffdf51;fill-opacity:0.699999988079071"/><path d="M24.231,25.306V17.477H16.466l7.766,7.829" style="fill:#ff8900;fill-opacity:0.699999988079071"/><path d="M19.515,22.171V30h7.766l-7.766-7.829" style="fill-opacity:0.699999988079071;fill:url(#a)"/><path d="M22.608,18V11.809H16.466L22.608,18" style="fill:#ffdf4f;fill-opacity:0.699999988079071"/><path d="M25.524,16.525V8.7H17.759l7.766,7.829" style="fill-opacity:0.799999952316284;fill:url(#b)"/><path d="M12.288,2V9.829h7.766L12.288,2" style="fill-opacity:0.800000011920929;fill:url(#c)"/><path d="M14.11,14.262V6.433H4.719l7.732,7.83,1.659,0" style="fill-opacity:0.879999995231628;fill:url(#d)"/><path d="M14.11,29.958V20.487H4.719l9.391,9.471" style="fill:#ffb700;fill-opacity:0.699999988079071"/><path d="M14.112,22.114V14.285H6.346l7.766,7.829" style="fill:#ffb700;fill-opacity:0.5"/><path d="M16.465,11.809v7.829h7.766l-7.766-7.829" style="fill:#ffcd25;fill-opacity:0.699999988079071"/><path d="M14.092,12.691V4.862H6.326l7.766,7.829" style="fill:#ff8900;fill-opacity:0.700000047683716"/><path d="M16.246,22.171V30h7.766l-7.766-7.829" style="fill:#ff8900;fill-opacity:0.699999988079071"/><polygon points="21.122 22.172 18.609 19.638 16.465 19.638 16.466 11.809 20.847 11.809 18.882 9.829 14.092 9.829 14.11 14.262 14.11 20.487 14.11 30 16.246 30 16.246 22.172 21.122 22.172" style="fill:#fff"/>`,
"Fortran": `<g id="g3768"><rect id="rect881" x="2.34" y="2.34" width="27.33" height="27.33" rx="5.08" style="fill:#734f96"/><path id="path1412" d="M6.06,25.5c0-1.09,0-1.19.1-1.19l1.25-.06c1,0,1.18-.06,1.42-.19a.74.74,0,0,0,.39-.37c.12-.23.12-.29.12-7.72,0-7,0-7.5-.1-7.67a1.06,1.06,0,0,0-.63-.5,10.23,10.23,0,0,0-1.38-.1l-1.17,0V5.32H25.94v8.82H24.89a8.56,8.56,0,0,1-1.2-.05c-.14,0-.15-.05-.22-.95a12.73,12.73,0,0,0-.35-2.43,3.22,3.22,0,0,0-2.63-2.81c-.57-.1-3.1-.2-5.19-.2H13.87v6.63l.75,0A6.33,6.33,0,0,0,16.49,14a1.88,1.88,0,0,0,.89-.91,5.86,5.86,0,0,0,.39-1.75c0-.33.08-.66.1-.73s0-.13,1.18-.13H20.2V21.06H17.85l0-.61a7.85,7.85,0,0,0-.54-2.66c-.36-.68-1.05-1-2.45-1.08l-.76-.07-.2,0,0,3.34c0,3.51,0,3.65.3,3.94s.43.32,3.22.42c.05,0,.07.28.07,1.19v1.18H6.06Z" style="fill:#fff"/></g>`,
"FreeMarker Template Language": `<path d="M24.023,20.9,25.408,23l4.615-7L25.408,9l-1.385,2.1L27.255,16Z" style="fill:#0050b2"/><path d="M7.977,11.1,6.592,9,1.977,16l4.615,7,1.385-2.1L4.745,16Z" style="fill:#0050b2"/><path d="M13.035,9h2.8l-.494,2.8h2.8L18.635,9h2.8l-.494,2.8h2.8l-.495,2.8h-2.8l-.493,2.8h2.8l-.494,2.8h-2.8L18.967,23h-2.8l.493-2.8-2.8,0L13.375,23H10.567l.493-2.8-2.8,0,.494-2.8h2.8l.493-2.793h-2.8L9.741,11.8h2.8Zm1.319,8.4h2.8l.494-2.8h-2.8Z" style="fill:#0050b2"/>`,
"GameMaker Language": `<path d="M14.216,24.167h-.989a3.24,3.24,0,0,1-2.811-1.649L6.667,16l4.681-8.167H16.2l-4.34,8.176.057.032L13.936,19.5H16.82ZM8.455,10.535l-1.27-2.21a1,1,0,0,0-.859-.492H2l4,6.992ZM21.54,9.482a3.239,3.239,0,0,0-2.812-1.649H17.523L15.045,12.5H18.02L20.083,16l-4.531,8.167h5.056L25.333,16ZM26,17.172l-2.47,4.27,1.283,2.233a1,1,0,0,0,.859.492H30Z" style="fill:#8bc34a"/>`,
"G-code": `<path d="M17.333,16.356h0L17.309,20.8l-2.1-1.018.023-4.437h0l10.558-3.038,2.106,1.013Z" style="fill:#8e0000"/><path d="M24.492,18.576a14.909,14.909,0,0,1-1.343,3.074,7.86,7.86,0,0,1-1.39,1.829,6.8,6.8,0,0,1-1.7,1.324,7.405,7.405,0,0,1-2.006.855,6,6,0,0,1-3.072.23A4.668,4.668,0,0,1,12.44,24.64a5.322,5.322,0,0,1-.636-.629l-.508-.244a4.717,4.717,0,0,0,.457.181,5.52,5.52,0,0,1-1.015-1.758,8.135,8.135,0,0,1-.43-1.533c-.023-.131-.043-.239-.061-.34a7.292,7.292,0,0,0,.377,1.354,5.836,5.836,0,0,0,1.614,2.319c.06.054.127.1.19.148.04.008.078.022.119.029a6.454,6.454,0,0,0,2.928-.219,8.4,8.4,0,0,0,1.91-.807,7.658,7.658,0,0,0,1.589-1.227,8.662,8.662,0,0,0,1.29-1.69,12.667,12.667,0,0,0,1.019-2.194L23.3,19c.056-.153.091-.254.091-.254Z" style="fill:#8e0000"/><path d="M24.524,4.013a11.6,11.6,0,0,0-6.588-1.994,13.8,13.8,0,0,0-9.373,4.84A18.243,18.243,0,0,0,4,18.8c.021,3.851,1.481,7.806,5.112,9.575a13.563,13.563,0,0,0,4.159,1.564,12.114,12.114,0,0,0,6.869-1.529c-2.734,1.333-6.12,1.993-8.894.4-2.689-1.543-3.983-4.724-4.221-7.7-.512-6.4,3.1-13.64,9.132-16.281,3.512-1.537,7.307-1.585,10.239,1.1C26.727,5.244,25,4.305,24.524,4.013Zm-14.359,24.8-.138-.093Z" style="fill:#8e0000"/><path d="M22.529,26.788c-3.044,2.582-7.92,4.149-11.554,1.857C7.24,26.289,6.53,21.089,7.212,17.083a17.218,17.218,0,0,1,6.7-10.97c3.771-2.636,8.88-3.49,12.489-.182l-2.27,3.291c-2.51-2.355-6.3-1.956-8.945-.052A12.434,12.434,0,0,0,10.5,16.2c-.662,2.623-.5,6.011,1.5,8.047,2.088,2.129,5.112,2.116,7.656.8A10.334,10.334,0,0,0,24.5,18.636L17.307,20.8l.022-4.438L27.89,13.319l.1.806h0A16.625,16.625,0,0,1,22.529,26.788Z" style="fill:#ba0000"/>`,
"GDScript": `<path d="M28.166,21.029v1.652a.374.374,0,0,1-.26.357l-2.6.841a.367.367,0,0,1-.335-.054.374.374,0,0,1-.155-.3v-1.8l-2.438.464V24.02a.375.375,0,0,1-.325.371l-3.525.483c-.016,0-.034,0-.051,0A.374.374,0,0,1,18.1,24.5V22.557l-1.819.008h-.267l-1.819-.008V24.5a.375.375,0,0,1-.375.376c-.017,0-.034,0-.052,0l-3.525-.483a.375.375,0,0,1-.324-.371V22.184l-2.439-.464v1.8a.374.374,0,0,1-.154.3.37.37,0,0,1-.336.054l-2.6-.841a.374.374,0,0,1-.259-.357V21.029l-1.608-.541a4.558,4.558,0,0,0-.124,1.04c0,4.317,6.082,7.65,13.6,7.674h.019c7.517-.024,13.6-3.356,13.6-7.674a4.54,4.54,0,0,0-.1-.95Z" fill="#478cbf"/><path d="M3.711,13.373V20.1l.907.306a.374.374,0,0,1,.256.355v1.65l1.855.6V21.267a.376.376,0,0,1,.445-.369l3.189.609a.374.374,0,0,1,.305.368v1.818l2.775.379v-1.89a.374.374,0,0,1,.376-.375h0l2.327.009,2.326-.009a.374.374,0,0,1,.377.375v1.89l2.775-.379V21.874a.373.373,0,0,1,.3-.368l3.189-.609a.377.377,0,0,1,.446.369v1.741l1.855-.6V20.76a.374.374,0,0,1,.255-.355l.618-.208V13.373h.017A26.792,26.792,0,0,0,30,10.931a19.02,19.02,0,0,0-2.509-3.288A24.507,24.507,0,0,0,25,9.091a13.01,13.01,0,0,0-1.279-1.052,15.365,15.365,0,0,0-1.375-.894,28.353,28.353,0,0,0,.232-3.071A15.968,15.968,0,0,0,18.847,2.8a26.44,26.44,0,0,0-1.385,2.7,9.46,9.46,0,0,0-1.453-.116h-.018a9.457,9.457,0,0,0-1.454.116,26.275,26.275,0,0,0-1.385-2.7A15.961,15.961,0,0,0,9.422,4.075a28.142,28.142,0,0,0,.232,3.071,15.312,15.312,0,0,0-1.376.894A13.06,13.06,0,0,0,7,9.091a24.553,24.553,0,0,0-2.49-1.448A19.02,19.02,0,0,0,2,10.931a26.792,26.792,0,0,0,1.694,2.443Z" fill="#478cbf"/><path d="m12.462 16.6a2.739 2.739 0 1 1-2.74-2.738 2.739 2.739 0 0 1 2.74 2.738" fill="#fff"/><path d="m11.8 16.764a1.819 1.819 0 1 1-1.819-1.819 1.817 1.817 0 0 1 1.819 1.819" fill="#414042"/><path d="M16.166,19.59a.844.844,0,0,1-.882-.8V16.267a.886.886,0,0,1,1.764,0v2.522a.845.845,0,0,1-.883.8" fill="#fff"/><path d="m19.871 16.6a2.739 2.739 0 1 0 2.74-2.738 2.739 2.739 0 0 0-2.74 2.738" fill="#fff"/><path d="m20.531 16.764a1.818 1.818 0 1 0 1.817-1.819 1.817 1.817 0 0 0-1.817 1.819" fill="#414042"/>`,
"Git": `<path d="M29.472,14.753,17.247,2.528a1.8,1.8,0,0,0-2.55,0L12.158,5.067l3.22,3.22a2.141,2.141,0,0,1,2.712,2.73l3.1,3.1a2.143,2.143,0,1,1-1.285,1.21l-2.895-2.895v7.617a2.141,2.141,0,1,1-1.764-.062V12.3a2.146,2.146,0,0,1-1.165-2.814L10.911,6.314,2.528,14.7a1.8,1.8,0,0,0,0,2.551L14.753,29.472a1.8,1.8,0,0,0,2.55,0L29.472,17.3a1.8,1.8,0,0,0,0-2.551" style="fill:#dd4c35"/><path d="M12.158,5.067l3.22,3.22a2.141,2.141,0,0,1,2.712,2.73l3.1,3.1a2.143,2.143,0,1,1-1.285,1.21l-2.895-2.895v7.617a2.141,2.141,0,1,1-1.764-.062V12.3a2.146,2.146,0,0,1-1.165-2.814L10.911,6.314" style="fill:#fff"/>`,
"GLSL": `<path d="M7.779,18.923A2.333,2.333,0,0,1,5.4,17.16c.306,1.462,1.961,2.892,7.183,3.529a14.228,14.228,0,0,0,9.232-1.612s.733-.322.293.176c0,0-3.107,2.873-9.2,2.9S1.97,19.107,2,16c-.029-3.107,4.806-6.185,10.9-6.155s9.2,2.9,9.2,2.9c.44.5-.293.176-.293.176-1.084-.7-4.286-2.089-9.232-1.612-4.866.469-6.453,2.122-6.981,3.235a3.254,3.254,0,0,0-.318,1.24,2.424,2.424,0,0,1,2.5-2.316A2.507,2.507,0,0,1,10.3,16.195,2.506,2.506,0,0,1,7.779,18.92Zm19.647-1.074H30v.937H26.344V13.609h1.082v4.24ZM23.454,16h2.163v2.791H24.9l-.108-.649a1.9,1.9,0,0,1-1.614.786,2.414,2.414,0,0,1-2.379-2.711,2.485,2.485,0,0,1,2.531-2.74A2.053,2.053,0,0,1,25.6,15.217H24.515a1.136,1.136,0,0,0-1.132-.851c-.771,0-1.485.534-1.485,1.86,0,1.413.771,1.781,1.506,1.781a1.28,1.28,0,0,0,1.254-1.139h-1.2V16ZM7.781,14.1a1.86,1.86,0,0,0-1.8,2.105,1.86,1.86,0,0,0,1.8,2.105,1.86,1.86,0,0,0,1.8-2.105A1.86,1.86,0,0,0,7.781,14.1Zm2.911,1.383h.525v.468h.013a1.12,1.12,0,0,1,.987-.563,1.565,1.565,0,0,1,1.506,1.677,1.675,1.675,0,0,1-1.583,1.824,1,1,0,0,1-.88-.443h-.013V20.1h-.557V15.479ZM12.1,18.4c.608,0,1.019-.527,1.019-1.254,0-.424-.171-1.264-1.032-1.264-.8,0-.893.867-.893,1.406,0,.88.551,1.114.905,1.114Zm5-.652a1.378,1.378,0,0,1-1.488,1.133,1.487,1.487,0,0,1-1.482-1.658c0-1.025.494-1.842,1.588-1.842.956,0,1.424.76,1.424,1.931H14.721c0,.69.323,1.089.962,1.089a.841.841,0,0,0,.854-.652H17.1Zm-.59-.88c-.032-.513-.247-.987-.924-.987a.972.972,0,0,0-.918.987h1.842Zm3.713,1.917h-.557V16.751c0-.576-.165-.867-.709-.867-.317,0-.874.2-.874,1.1v1.8h-.557V15.479h.525v.468h.013a1.2,1.2,0,0,1,1-.563,1.046,1.046,0,0,1,1.158,1.152v2.253" style="fill:#4386b5"/>`,
"Go module": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 254.5 225"><title>file_type_go_package</title><path d="M61.949,13.068c16.06-.147,32.143,0,48.211-.062-3.81,16.408-7.466,32.862-11.261,49.277H25.548c-2.319,0-4.637.077-6.956-.093C33,45.775,47.566,29.5,61.949,13.068Z" style="fill:#f2e6c9"/><path d="M143.509,13.014h48.072c14.437,16.431,29.013,32.723,43.411,49.177-9.274.193-18.549,0-27.823.085H154.654C151.006,45.837,147.111,29.46,143.509,13.014Z" style="fill:#f2e6c9"/><path d="M110.16,13.014h33.349c3.6,16.446,7.489,32.823,11.16,49.254H98.9C102.694,45.868,106.35,29.422,110.16,13.014Z" style="fill:#efc75e"/><path d="M18.592,62.183c2.319.17,4.637.085,6.956.093H98.9q0,26.026.054,52.052a18.857,18.857,0,0,0,1.979.139h52.114a14.693,14.693,0,0,0,1.546-.108c.147-17.366,0-34.732.07-52.1h52.516c9.274-.046,18.549.108,27.823-.085V212.62H18.6Q18.592,137.405,18.592,62.183Z" style="fill:#e7bf55"/><path d="M98.9,62.291h55.769c-.062,17.366.085,34.732-.07,52.1-.518.054-1.036.093-1.546.108H100.94a18.857,18.857,0,0,1-1.971-.131C98.861,96.993,98.969,79.634,98.9,62.291Z" style="fill:#dbb551"/><rect x="34.389" y="163.682" width="72.417" height="27.885" style="fill:#f2f2f2"/><path d="M61.422,137.085c-.388,0-.487-.194-.291-.487l2.041-2.625a1.393,1.393,0,0,1,1.069-.487h34.7c.388,0,.487.291.291.584L97.582,136.6a1.481,1.481,0,0,1-.972.584Z" style="fill:#ce3262"/><path d="M46.74,146.028c-.388,0-.487-.194-.291-.487l2.041-2.625a1.393,1.393,0,0,1,1.069-.487H93.89a.447.447,0,0,1,.487.584l-.778,2.333a.85.85,0,0,1-.875.584Z" style="fill:#ce3262"/><path d="M70.264,154.971c-.388,0-.487-.291-.291-.584l1.357-2.43a1.289,1.289,0,0,1,.972-.584H91.747c.388,0,.584.291.584.681l-.194,2.333a.731.731,0,0,1-.681.681Z" style="fill:#ce3262"/><path d="M171.163,135.335c-6.124,1.556-10.3,2.722-16.33,4.28-1.462.388-1.556.487-2.819-.972a13.011,13.011,0,0,0-4.569-3.694c-6.124-3.013-12.054-2.138-17.594,1.462a20.671,20.671,0,0,0-9.918,18.469,15.242,15.242,0,0,0,13.123,15.261c6.61.875,12.151-1.462,16.525-6.415.875-1.069,1.653-2.236,2.625-3.6H133.446c-2.041,0-2.528-1.263-1.847-2.916,1.263-3.013,3.6-8.068,4.958-10.6a2.625,2.625,0,0,1,2.43-1.556h35.384c-.194,2.625-.194,5.249-.584,7.874a41.456,41.456,0,0,1-7.967,19.042c-6.995,9.234-16.136,14.97-27.7,16.525-9.526,1.263-18.374-.584-26.148-6.415A30.533,30.533,0,0,1,99.625,160.51c-1.263-10.6,1.847-20.122,8.262-28.481A43.137,43.137,0,0,1,135.1,115.212c9.137-1.653,17.886-.584,25.76,4.763A30.471,30.471,0,0,1,172.14,133.68C172.719,134.558,172.33,135.044,171.163,135.335Z" style="fill:#ce3262"/><path d="M203.338,189.09c-8.846-.194-16.913-2.722-23.719-8.554a30.485,30.485,0,0,1-10.5-18.761c-1.75-10.984,1.263-20.7,7.874-29.356,7.1-9.331,15.651-14.192,27.218-16.233,9.918-1.75,19.247-.778,27.7,4.958,7.68,5.249,12.442,12.345,13.706,21.676,1.653,13.123-2.138,23.816-11.179,32.953a44.542,44.542,0,0,1-23.329,12.442C208.49,188.7,205.866,188.8,203.338,189.09Zm23.135-39.271a27.978,27.978,0,0,0-.291-3.208,16.013,16.013,0,0,0-18.375-13.235q-.734.119-1.454.306c-9.04,2.041-14.873,7.777-17.011,16.913a16.009,16.009,0,0,0,8.943,18.374,17.82,17.82,0,0,0,15.845-.584c7.679-3.985,11.859-10.206,12.348-18.566Z" style="fill:#ce3262"/></svg>`,
"Go": `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 254.5 225"><title>file_type_go</title><path d="M-46.926,89c-.621,0-.777-.311-.466-.777l3.262-4.194a2.225,2.225,0,0,1,1.708-.777H13.026c.621,0,.777.466.466.932l-2.64,4.038a2.367,2.367,0,0,1-1.553.932Z" style="fill:#00acd7"/><path d="M-70.379,103.285c-.621,0-.777-.311-.466-.777l3.262-4.194a2.225,2.225,0,0,1,1.708-.777H4.95a.714.714,0,0,1,.777.932L4.484,102.2a1.358,1.358,0,0,1-1.4.932Z" style="fill:#00acd7"/><path d="M-32.792,117.574c-.621,0-.777-.466-.466-.932l2.174-3.883a2.06,2.06,0,0,1,1.553-.932H1.533c.621,0,.932.466.932,1.087l-.311,3.728a1.167,1.167,0,0,1-1.087,1.087Z" style="fill:#00acd7"/><path d="M128.426,86.2c-9.785,2.485-16.464,4.349-26.093,6.834-2.33.621-2.485.777-4.5-1.553-2.33-2.64-4.038-4.349-7.3-5.9-9.785-4.815-19.259-3.417-28.112,2.33-10.561,6.834-16,16.929-15.842,29.51.155,12.425,8.7,22.676,20.968,24.385,10.561,1.4,19.414-2.33,26.4-10.251,1.4-1.708,2.64-3.572,4.194-5.747H68.163c-3.262,0-4.038-2.019-2.951-4.659,2.019-4.815,5.747-12.891,7.921-16.929a4.194,4.194,0,0,1,3.883-2.485h56.535c-.311,4.194-.311,8.387-.932,12.581a66.239,66.239,0,0,1-12.736,30.442C108.7,159.51,94.1,168.673,75.618,171.158c-15.221,2.019-29.355-.932-41.78-10.251a48.785,48.785,0,0,1-19.725-34.48c-2.019-16.929,2.951-32.15,13.2-45.508C38.342,66.475,52.942,57.312,70.8,54.05c14.6-2.64,28.578-.932,41.159,7.61a48.686,48.686,0,0,1,18.017,21.9C130.911,84.958,130.289,85.735,128.426,86.2Z" style="fill:#00acd7"/><path d="M179.835,172.09c-14.134-.311-27.025-4.349-37.9-13.668a48.711,48.711,0,0,1-16.774-29.976c-2.8-17.551,2.019-33.082,12.581-46.905,11.338-14.91,25.006-22.676,43.488-25.938,15.842-2.8,30.753-1.243,44.265,7.921,12.27,8.387,19.88,19.725,21.9,34.635,2.64,20.968-3.417,38.052-17.861,52.652a71.17,71.17,0,0,1-37.276,19.88C188.067,171.469,183.874,171.624,179.835,172.09ZM216.8,109.343a44.7,44.7,0,0,0-.466-5.125c-2.8-15.376-16.929-24.074-31.684-20.657-14.444,3.262-23.763,12.425-27.18,27.025a25.579,25.579,0,0,0,14.289,29.355c8.542,3.728,17.085,3.262,25.317-.932C209.345,132.64,216.024,122.7,216.8,109.343Z" style="fill:#00acd7"/></svg>`,
"Gradle": `<path d="M13.5,6.965h7.923l4,6.887H29.98A14.1,14.1,0,0,0,11.024,2.932L13.5,6.965" style="fill:#006533"/><path d="M25.628,18l-4.209,7.252H10.806L5.5,16.108,9.739,8.8,7.4,4.981A14.03,14.03,0,1,0,30,18H25.628" style="fill:#82b816"/><path d="M21.061,15.963a5.026,5.026,0,1,1-5.026-5,5.013,5.013,0,0,1,5.026,5" style="fill:#006532"/>`,
"GraphQL": `<rect x="-0.43" y="12.534" width="22.901" height="1.187" transform="translate(-5.858 16.107) rotate(-59.999)" style="fill:#e10098"/><rect x="4.545" y="21.162" width="22.902" height="1.187" style="fill:#e10098"/><rect x="10.43" y="18.008" width="1.187" height="13.227" transform="translate(-15.812 21.857) rotate(-59.999)" style="fill:#e10098"/><rect x="20.381" y="0.771" width="1.187" height="13.227" transform="translate(4.092 21.856) rotate(-59.999)" style="fill:#e10098"/><rect x="4.412" y="6.787" width="13.227" height="1.187" transform="translate(-2.213 6.502) rotate(-30.001)" style="fill:#e10098"/><rect x="20.389" y="1.677" width="1.187" height="22.901" transform="translate(-3.753 12.25) rotate(-30.001)" style="fill:#e10098"/><rect x="5.454" y="9.386" width="1.187" height="13.228" style="fill:#e10098"/><rect x="25.36" y="9.386" width="1.187" height="13.228" style="fill:#e10098"/><rect x="15.222" y="24.097" width="11.504" height="1.037" transform="translate(-9.498 13.785) rotate(-30.001)" style="fill:#e10098"/><path d="M28.12,23a2.5,2.5,0,1,1-.915-3.411A2.5,2.5,0,0,1,28.12,23" style="fill:#e10098"/><path d="M8.2,11.5a2.5,2.5,0,1,1-.915-3.411A2.5,2.5,0,0,1,8.2,11.5" style="fill:#e10098"/><path d="M3.88,23a2.5,2.5,0,1,1,3.411.915A2.5,2.5,0,0,1,3.88,23" style="fill:#e10098"/><path d="M23.8,11.5a2.5,2.5,0,1,1,3.411.915A2.5,2.5,0,0,1,23.8,11.5" style="fill:#e10098"/><path d="M16,30a2.5,2.5,0,1,1,2.5-2.5A2.493,2.493,0,0,1,16,30" style="fill:#e10098"/><path d="M16,6.991a2.5,2.5,0,1,1,2.5-2.5,2.493,2.493,0,0,1-2.5,2.5" style="fill:#e10098"/>`,
"Groovy": `<path d="M7.453,29.865c0-.074.494-1.717,1.1-3.651A21.808,21.808,0,0,0,9.5,22.6c-.079-.056-.35.045-.6.224-.764.538-.92.4-1.491-1.356-.617-1.9-.639-2.091-.317-2.81.21-.47.2-.579-.147-1.277a3.75,3.75,0,0,1-.377-1.044c0-.26-1.413-1.438-3.647-3.04A3.845,3.845,0,0,1,2,12.5a10.477,10.477,0,0,1,2.378-.039l2.378.1.232-.741c.981-3.13,2.463-5.957,3.122-5.957.137,0,.416.265.619.588.331.527.376.853.435,3.126a23.013,23.013,0,0,0,.165,2.739c.055.11.228-.035.385-.322.2-.367.412-.467.71-.335s.485.043.646-.345c.242-.582,1.455-4.513,1.455-4.717,0-.069.24-.9.534-1.846s.631-2.036.751-2.424c.213-.688.246-.607,1.524,3.726,1.32,4.474,2.03,6.124,2.385,5.544.248-.4,1.55-.428,1.914-.034.207.224.338.221.453-.01.237-.48.8-.4.953.14.117.423.147.423.32,0a.812.812,0,0,1,.692-.466c.389,0,.538.164.666.735l.165.735,2.558-.183A11.521,11.521,0,0,1,30,12.468a20.79,20.79,0,0,1-2.321,1.889c-1.277.96-2.342,1.775-2.368,1.81a17.607,17.607,0,0,0,.128,1.867,11.075,11.075,0,0,1-.544,5.713,4.308,4.308,0,0,1-1.021,1.49c-.278.186-.506.4-.506.486s.3,1.077.66,2.212A9.682,9.682,0,0,1,24.568,30c-.109,0-2.757-2.07-6.876-5.373a11.143,11.143,0,0,0-1.643-1.184c-.171,0-1.649,1.133-5.984,4.588-2.514,2-2.612,2.073-2.612,1.835Zm5.158-4.727c1.337-1.051,2.664-2.078,2.947-2.282.488-.351.651-.263,3.021,1.631,1.378,1.1,2.737,2.174,3.021,2.384s.868.666,1.3,1.013c.491.4.742.492.674.256-.77-2.634-.793-2.678-1.327-2.476-.644.244-1.043-.006-1.249-.783a1.739,1.739,0,0,1,.24-1.451,2.377,2.377,0,0,0-.221-2.731,4.289,4.289,0,0,1-.686-1.53l-.241-1.023-.517.71c-.636.873-1.411.918-2.059.119l-.477-.588-.554.762c-.555.763-1.194.862-1.844.284-.179-.159-.258-.1-.258.2a1.24,1.24,0,0,1-.375.777c-.619.57-1.223.419-1.633-.409L12,19.249l-.3.775a7.032,7.032,0,0,1-.853,1.479,13.891,13.891,0,0,0-1.455,3.663c-.5,1.627-.9,3.042-.9,3.143s.381-.141.847-.538,1.942-1.582,3.279-2.633Zm11.343-1.131c1.015-1.154,1.25-3.288.8-7.271-.375-3.329-.562-4.419-.784-4.565-.154-.1-.177.01-.091.426.562,2.7.593,4.053.1,4.434-.337.262-.695-.719-.976-2.675-.218-1.515-.445-2.2-.617-1.85a3.359,3.359,0,0,0,.16,1.07,26.718,26.718,0,0,1,.394,3.381,21.757,21.757,0,0,0,.375,3.151c.309.985.8.747,1.118-.54s.35-.425.044,1.055c-.317,1.536-1.26,2-2.352,1.15-.175-.136-.234,0-.234.555a4.988,4.988,0,0,1-.3,1.5l-.3.765.408.139A2.247,2.247,0,0,0,23.954,24.007ZM9.346,21.468c2.118-1.232,2.5-2.668,1.793-6.805a21.941,21.941,0,0,1-.3-2.3c0-1.029-.256-.554-.448.832-.254,1.832-1.016,3.389-1.657,3.383-.557-.005-.738-.21-.968-1.094-.413-1.585.037-4.018,1.184-6.406.84-1.749,1.3-1.908,1.3-.448,0,2.276-.776,5.625-1.184,5.115a3.814,3.814,0,0,1,.065-2.2c.2-.72.157-1.818-.066-1.818-.259,0-.773,1.91-.841,3.127-.06,1.076-.022,1.338.231,1.612.888.962,2.052-1.973,2.111-5.323.031-1.759-.138-2.254-.674-1.982-.781.4-2.883,5.883-2.883,7.523,0,1.283.319,2.186.88,2.491.954.519,1.876-.4,2.529-2.531l.275-.894V14.97c0,1.759-.567,2.686-2.357,3.852a8.893,8.893,0,0,0-.852.6,9.758,9.758,0,0,0,.892,2.534,5.283,5.283,0,0,0,.969-.484Zm12.764-2.184c.213-.475.25-.992.2-2.817-.05-1.986-.1-2.337-.486-3.144-.691-1.458-1.544-1.086-1.045.455.265.82.589.68.475-.205-.091-.7.079-.723.375-.041.556,1.281.416,3.055-.242,3.055-.45,0-.59-.39-.883-2.459a6.752,6.752,0,0,0-.362-1.714c-.217,0-.314.388-.179.718a28.23,28.23,0,0,1,.452,2.859c.441,3.507,1.057,4.707,1.69,3.293Zm-8.38.056a3.385,3.385,0,0,0,.095-1.33c-.06-1.008-.094-1.081-.364-.79-.387.419-.8-.375-.944-1.8-.107-1.082-.14-1.061.64-.415.1.081.346-.194.553-.611.377-.763.5-1.68.228-1.68-.081,0-.147.134-.147.3,0,.429-.4.368-.494-.075-.053-.258-.166-.167-.367.3-.16.369-.356.671-.434.671s-.185-.3-.237-.671c-.09-.646-.1-.65-.3-.113a.951.951,0,0,0-.01.964,18.818,18.818,0,0,1,.521,3.791c0,1.174.8,2.1,1.267,1.463Zm2.688-1.556a7.055,7.055,0,0,0,.416-4.259c-.236-1.141-.645-1.568-1.222-1.275-.429.218-1.082,2.746-1.084,4.2,0,2.262,1.06,3.015,1.89,1.337Zm-1.007-1.792a3.77,3.77,0,0,1-.29-1.416c0-.745.022-.772.2-.3.22.586.611.688.761.2a1.035,1.035,0,0,0-.065-.656c-.232-.469-.2-1.107.049-1.107.28,0,.672,1.154.672,1.982,0,.609-.613,1.893-.9,1.893-.07,0-.26-.268-.422-.6ZM19.348,17.7a6.447,6.447,0,0,0-.141-4.918c-.358-.773-1.153-.906-1.479-.248a11.607,11.607,0,0,0-.489,3.895C17.477,18.348,18.716,19.1,19.348,17.7ZM18.1,15.527a2.492,2.492,0,0,1-.318-1.565c.008-.909.031-.991.135-.472.153.764.473,1.052.753.679.174-.231.166-.341-.05-.676-.288-.447-.344-1.079-.1-1.079a5.037,5.037,0,0,1,1.017,2.25c0,.48-.564,1.327-.884,1.327C18.527,15.991,18.276,15.782,18.1,15.527Zm8.662-1.318,1.547-1.175-1.658-.012c-1.484-.011-1.658.043-1.656.51a11.532,11.532,0,0,0,.2,1.857c.011,0,.716-.534,1.567-1.18ZM6.535,14l.158-.949L5.3,12.956c-.764-.052-1.389-.012-1.389.088a14.1,14.1,0,0,0,2.447,1.934C6.371,14.961,6.448,14.521,6.535,14Zm9.526-2.941a1.624,1.624,0,0,1,.819.6c.192.349.276.326.573-.163.191-.315.44-.572.553-.572s.2-.066.2-.146c0-.278-2.122-7.306-2.2-7.3s-2.27,7.386-2.337,7.925c-.028.226.06.309.231.219.152-.081.363.063.468.319.17.415.24.382.644-.306.384-.654.544-.742,1.048-.579Z" style="fill:#333"/><path d="M14.5,12.175a.85.85,0,0,1-.115-.2.737.737,0,0,0-.194-.29.281.281,0,0,0-.3-.061c-.087.035-.111.039-.15.024-.065-.026-.089-.106-.07-.242.023-.169.2-.825.548-2.054.711-2.5,1.666-5.646,1.772-5.839.012-.021.012-.021.024,0,.063.114.432,1.266.937,2.922.682,2.24,1.25,4.21,1.25,4.339,0,.079-.06.127-.186.147-.157.026-.339.212-.587.6a1.674,1.674,0,0,1-.226.31c-.048.046-.052.048-.1.048s-.056,0-.1-.043a.958.958,0,0,1-.1-.144,1.268,1.268,0,0,0-.414-.422,1.525,1.525,0,0,0-.738-.281.434.434,0,0,0-.4.156,2.718,2.718,0,0,0-.416.6c-.257.425-.348.513-.441.426Z" style="fill:#6398aa"/><path d="M6.252,14.928a19.055,19.055,0,0,1-2.3-1.838c-.031-.038-.034-.044-.025-.057a2.7,2.7,0,0,1,1.14-.085c.23.012,1.619.1,1.621.108s-.3,1.779-.321,1.881C6.357,14.981,6.337,14.979,6.252,14.928Z" style="fill:#6398aa"/><path d="M25.177,15.35A14.239,14.239,0,0,1,25,13.56a.553.553,0,0,1,.044-.29c.081-.151.245-.205.7-.23.228-.013,1.281-.015,2.025,0l.521.008L27.029,14c-1.144.867-1.81,1.369-1.834,1.382-.006,0-.012-.006-.018-.027h0Z" style="fill:#6398aa"/><path d="M8.506,28.281c0-.071.149-.6.527-1.878.905-3.057,1.319-4.165,1.827-4.892a7.664,7.664,0,0,0,.969-1.792L12,19.292l.225.448c.394.784.632,1.011,1.062,1.016a1.239,1.239,0,0,0,1.1-1.137c0-.124.044-.251.086-.251a1.119,1.119,0,0,1,.226.14,1.271,1.271,0,0,0,.666.3.879.879,0,0,0,.609-.148,2.47,2.47,0,0,0,.711-.764c.187-.252.347-.459.354-.459s.143.159.3.352a5.091,5.091,0,0,0,.422.467,1.049,1.049,0,0,0,1.549-.08,6.111,6.111,0,0,0,.467-.572c.168-.228.307-.41.31-.4s.066.269.141.584.169.67.209.789a3.826,3.826,0,0,0,.642,1.234,2.17,2.17,0,0,1,.466,1.246,3.051,3.051,0,0,1-.352,1.447,2.07,2.07,0,0,0-.267.934,2.017,2.017,0,0,0,.213.851.773.773,0,0,0,1.069.413,1.351,1.351,0,0,1,.316-.068c.2,0,.315.193.542.881.157.474.5,1.637.5,1.695,0,.03-.016.051-.039.051a1.486,1.486,0,0,1-.407-.224c-.2-.144-2.612-2.029-3.408-2.663-2.128-1.693-2.828-2.233-3.171-2.446-.37-.23-.622-.285-.827-.177-.254.133-3.726,2.847-5.751,4.5A10.846,10.846,0,0,1,8.65,28.251c-.149.083-.143.081-.143.03Z" style="fill:#6398aa"/>`,
"Haml": `<path d="M15.311,16.043,13.4,29.726a6.322,6.322,0,0,1-5.956-1.25l3.1-13.266L4.69,3.34a8.031,8.031,0,0,1,3.79-.646l5.144,9.7,8.914-7.581s3,1.041,3.27,2.041l-10.5,9.184Z" style="fill:#ecdfa7"/><path d="M27.016,17.411a4.244,4.244,0,0,0-.541-.812,5.7,5.7,0,0,0-1.458-1.187,7.331,7.331,0,0,0-1.687-.791l-.229-.062-.187-.062c-.125-.042-.229-.1-.333-.146a1.282,1.282,0,0,1-.458-.417A1.754,1.754,0,0,1,22,12.642a2.518,2.518,0,0,1,.1-.375c.042-.125.083-.25.125-.4a2.691,2.691,0,0,0,.062-.6l.1-.083,1.25-1.041c.229-.187.458-.4.687-.583a2.2,2.2,0,0,1,.229.146s.646.062,1-.916l-.187-.125.125-.1.312-.271a.613.613,0,0,0,.229-.375.529.529,0,0,0-.417.125l-.333.25-.229.167L22.184,6.478c.146-.125.271-.229.417-.354l.6-.541.062-.062c.062.042.1.083.167.125.146.1.312.208.458.292l.916.5c.292.167.6.333.916.479a3.323,3.323,0,0,0,.479.208c.083.021.167.062.25.083.042,0,.1.021.146.021h.1a.151.151,0,0,0,.125-.083V7.123a.077.077,0,0,1,.021-.062V6.977a.108.108,0,0,0-.042-.083c-.021-.042-.062-.083-.083-.125a1.59,1.59,0,0,0-.187-.187c-.125-.125-.271-.229-.4-.333-.271-.208-.562-.4-.854-.583a7.545,7.545,0,0,0-.9-.5,3.323,3.323,0,0,0-.479-.208c-.083-.021-.167-.062-.271-.083-.042,0-.1-.021-.167-.021a.31.31,0,0,0-.125.021.522.522,0,0,0-.167.1,1.6,1.6,0,0,0-.375.208l-.625.354c-.187.146-.4.312-.583.458l-.208-.146s-.875.083-.583.646l.083.083c-.833.687-1.645,1.4-2.457,2.083-.833.708-1.645,1.416-2.478,2.145l-1.229,1.083a1.878,1.878,0,0,1-.208.187c-.042-.125-.1-.229-.146-.333l-.292-.625-.562-1.25c-.375-.833-.75-1.666-1.145-2.5L11.209,4.895l-.187-.375h.25s.083-.687-.417-.812a1.4,1.4,0,0,0-.208.021c-.187-.375-.354-.75-.541-1.125h0l-.083-.312A.33.33,0,0,0,9.9,2.1a.352.352,0,0,0-.1-.042c-.062-.021-.1-.021-.167-.042A1.281,1.281,0,0,0,9.355,2a4.057,4.057,0,0,0-.521.042,8.767,8.767,0,0,0-1.02.187c-.333.083-.666.167-1,.271a3.272,3.272,0,0,0-.479.187l-.25.125c-.042.021-.083.062-.125.083L5.9,2.958c-.021.021-.021.042-.042.062v.062h0V3.1a.164.164,0,0,0,.1.125c.042.021.062.042.083.042a1.327,1.327,0,0,1,.146.042,1.188,1.188,0,0,0,.271.021,4.384,4.384,0,0,0,.521-.042c.333-.042.687-.083,1.02-.146l1.02-.167c.167-.021.333-.062.521-.1.146.292.292.6.437.9-.958.083-2.457.208-3.395.312-.1-.187-.187-.354-.292-.541a.127.127,0,0,0-.146-.062.108.108,0,0,0-.062.146c.062.167.125.312.187.479a1.167,1.167,0,0,0-.5.125A1.828,1.828,0,0,0,6.4,5.645a3.567,3.567,0,0,1,.458-.125l.437,1,1.25,2.832,1.27,2.832c.417.937.854,1.874,1.291,2.832h0a.02.02,0,0,0,.021.021l-.187.625-.5,1.749c-.312,1.166-.6,2.353-.9,3.52L9.105,22.7l-.417,1.77c-.292,1.187-.562,2.353-.9,3.52a.125.125,0,0,0,.021.083,3.076,3.076,0,0,0,.6.562,6.048,6.048,0,0,0,.687.417,9.4,9.4,0,0,0,1.5.6,6.972,6.972,0,0,0,1.624.271,3.728,3.728,0,0,0,.833-.042,6.547,6.547,0,0,0,.833-.167.254.254,0,0,0,.167-.187v-.021c.229-1.145.417-2.312.625-3.457l.583-3.478c.187-1.166.4-2.312.583-3.478.021-.125.042-.271.062-.4.042.042.062.1.1.146a4.137,4.137,0,0,0,.708.646,7.212,7.212,0,0,0,1.583.833,11.774,11.774,0,0,0,1.666.5,10.182,10.182,0,0,0,1.1.187,2.621,2.621,0,0,0-.25,1.208.115.115,0,0,0,.062.1h.021a5.164,5.164,0,0,0,1.27.479,4.333,4.333,0,0,0,1.375.062,2.627,2.627,0,0,0,1.333-.562,2.824,2.824,0,0,0,.812-1.166l.021-.021V21.1l.062-.562v-.021a5.427,5.427,0,0,0,.625-.417,2.71,2.71,0,0,0,.646-.729,1.833,1.833,0,0,0,.25-1,2.563,2.563,0,0,0-.292-.958Zm-.4-10.5Zm-1.479-1.1a7.12,7.12,0,0,1,.833.541c.125.1.271.187.4.312a1.257,1.257,0,0,1,.167.167l.042.042h-.042c-.083-.021-.146-.042-.229-.062-.146-.062-.312-.125-.458-.187a7.132,7.132,0,0,1-.875-.479A5.61,5.61,0,0,1,24.2,5.52a2.5,2.5,0,0,1-.229-.25l.312.125a6.4,6.4,0,0,1,.854.417Zm-1.416-.916.021.021v.042a.02.02,0,0,0-.021-.021V4.895ZM8.876,2.562a5.021,5.021,0,0,1-.937.333,5.347,5.347,0,0,1-.979.167,4.013,4.013,0,0,1-.5.021.781.781,0,0,1-.229-.021H6.169c.021,0,.021-.021.042-.021.062-.042.146-.062.208-.1.146-.062.312-.1.458-.167.312-.083.646-.167.979-.229a8.4,8.4,0,0,1,.979-.125A1.576,1.576,0,0,0,9.147,2.4a1.536,1.536,0,0,1-.271.167Zm14.453,7.1-1.291,1-1.291,1.02c-.354.292-.708.583-1.062.854.021-.021.042-.062.062-.083.167-.229.333-.437.5-.646.354-.417.687-.854,1.062-1.25s.771-.791,1.166-1.145a4.872,4.872,0,0,1,.646-.5l.187-.125c.187.146.4.292.583.437-.167.146-.375.292-.562.437ZM8.064,7.1l.1.1a5.63,5.63,0,0,1,.583.646,2.21,2.21,0,0,1,.375.729.921.921,0,0,1-.062.625l-.021-.062L8.064,7.1Zm1.02,2.166a.72.72,0,0,0,.146-.25.866.866,0,0,0,.042-.458A1.7,1.7,0,0,0,8.9,7.727a4.015,4.015,0,0,0-.979-.9l-.229-.479c-.146-.312-.292-.625-.458-.916.312-.083.687-.208,1.1-.312A20.313,20.313,0,0,1,9.355,7a7.963,7.963,0,0,1,.771,2.541c.021.208,0,.437,0,.666s0,.458.021.687a7.609,7.609,0,0,0,.146.958L9.084,9.268ZM14,26.242a.9.9,0,0,1-.187.208.4.4,0,0,1-.333.1.358.358,0,0,1-.229-.229.981.981,0,0,1-.083-.354,2.275,2.275,0,0,1,.042-.75,2.816,2.816,0,0,1,.229-.708,1.478,1.478,0,0,1,.208-.292.341.341,0,0,1,.292-.125c.1,0,.208.1.271.208a.74.74,0,0,1,.083.187l-.25,1.479c-.021.1-.021.187-.042.271Zm1.229-7.185-.375,2.187a3.329,3.329,0,0,0-.1-.437c-.1-.4-.229-.771-.354-1.145a15.537,15.537,0,0,0-.958-2.166c.229.771.5,1.5.771,2.249.146.375.271.75.4,1.1l.187.562c0,.021.021.062.021.083-.062.333-.125.666-.167,1.02l-.312,1.9c-.021-.042-.021-.083-.042-.125a.486.486,0,0,0-.312-.292.525.525,0,0,0-.417.125,1.944,1.944,0,0,0-.271.312,2.036,2.036,0,0,0-.271.75,2.131,2.131,0,0,0,0,.812,1.021,1.021,0,0,0,.146.4.486.486,0,0,0,.333.271.428.428,0,0,0,.375-.167c.042-.042.083-.1.125-.146-.146.979-.312,1.958-.458,2.957a2.727,2.727,0,0,1-.562.125c-.25.042-.5.062-.75.083a5.531,5.531,0,0,1-1.541-.146,7.846,7.846,0,0,1-1.5-.479,3.625,3.625,0,0,1-1.229-.854c.312-1.145.666-2.291,1.02-3.436l.541-1.729.521-1.749c.354-1.166.708-2.333,1.041-3.5.167-.583.312-1.166.479-1.749a3.626,3.626,0,0,0,.187-1.833v-.021c-.021-.021-.042-.021-.042,0a3.109,3.109,0,0,0-.25.292c-.229-.521-.479-1.02-.708-1.541a4.765,4.765,0,0,1-.167-.583,7.165,7.165,0,0,1-.208-1.312c-.021-.229-.021-.437-.021-.666s.021-.458,0-.687a7.625,7.625,0,0,0-.833-2.6,12.587,12.587,0,0,0-1.1-1.833c.687-.187,1.416-.375,2-.479.083.187.187.354.271.541L11.938,7.6l1.25,2.437.625,1.208.312.6c.083.125.125.271.208.375l-.812.75a.069.069,0,0,0,0,.1.073.073,0,0,0,.1.021c.437-.312.875-.646,1.312-.979l1.312-1c.875-.666,1.729-1.333,2.582-2s1.708-1.354,2.562-2.041l.021-.021a24.316,24.316,0,0,0,1.874,1.645,6.162,6.162,0,0,0-.875.541,8.943,8.943,0,0,0-1.229,1.125,12.279,12.279,0,0,0-1.041,1.291,11.778,11.778,0,0,0-.646,1c-1.27,1.041-2.52,2.1-3.728,3.207a.128.128,0,0,0-.021.146.138.138,0,0,0,.146.042,9.134,9.134,0,0,0-.312,1.25c-.125.583-.25,1.166-.354,1.749Zm9.205,2.791a2.527,2.527,0,0,1-1.02.458,3.767,3.767,0,0,1-1.187.042,7.361,7.361,0,0,1-1.145-.208,2.037,2.037,0,0,1,.167-1.041c.146.021.271.021.417.042a.114.114,0,0,0,.125-.083.124.124,0,0,0-.083-.167h0c-.1-.042-.187-.062-.292-.1a2.771,2.771,0,0,1,.292-.4c.125-.125.25-.25.375-.354a3.992,3.992,0,0,0,.854.4,2.881,2.881,0,0,0,1.125.1,1.55,1.55,0,0,0,1.02-.541,1.524,1.524,0,0,0,.354-.916.85.85,0,0,1,.021.4,4.511,4.511,0,0,1-.083.521l-.062.312L25,20.494a.919.919,0,0,0-.333.354.751.751,0,0,0,.479,0c.021,0,.021-.021.042-.021-.021.062-.021.1-.042.167a2.552,2.552,0,0,1-.708.854ZM26.5,19.119a2.2,2.2,0,0,1-.458.625,2.638,2.638,0,0,1-.271.229,2.585,2.585,0,0,0-.062-.562,1.534,1.534,0,0,0-.083-.292.531.531,0,0,0-.187-.25h0c-.021,0-.042,0-.042.021h0a1.95,1.95,0,0,1-.562.771,1.429,1.429,0,0,1-.812.292,2.857,2.857,0,0,1-.916-.125c-.312-.083-.625-.187-.937-.292l-.042-.021a.2.2,0,0,0-.187.042c-.167.208-.292.4-.437.6-.1.167-.187.312-.271.479-.375-.146-.729-.271-1.1-.417-.521-.208-1.041-.417-1.52-.666a7.648,7.648,0,0,1-1.4-.812,2.949,2.949,0,0,1-.979-1.062v-.021a.409.409,0,0,0-.187-.187c0-.042.021-.1.021-.146a7.37,7.37,0,0,0,.1-1.52c1.687-1.187,3.332-2.437,4.957-3.728l-.062.187a3.27,3.27,0,0,0-.146,1.02A2.089,2.089,0,0,0,22.122,15.1a2.825,2.825,0,0,0,.479.187l.25.062.208.042a6.645,6.645,0,0,1,1.541.625,6.156,6.156,0,0,1,1.312.979,2.275,2.275,0,0,1,.708,1.333,1.51,1.51,0,0,1-.125.791Z" style="fill:#3f3e29"/><path d="M12.667,23.909a2.161,2.161,0,0,0-.354.771,1.556,1.556,0,0,0-.062.417l-.021.417a4.533,4.533,0,0,0,.146,1.666,7.647,7.647,0,0,0,.666,1.52c-.083-.271-.187-.521-.271-.771s-.167-.521-.229-.791a5.89,5.89,0,0,1-.1-1.6l.021-.417a2.552,2.552,0,0,1,.042-.4,3.137,3.137,0,0,1,.292-.729,2.967,2.967,0,0,1,.521-.625,2.591,2.591,0,0,1,.666-.479,2.76,2.76,0,0,0-1.312,1.02Z" style="fill:#3f3e29"/>`,
"Handlebars": `<path d="M12.3,13.1a4.238,4.238,0,0,1,2.728.9A4.592,4.592,0,0,1,16,15.127a4.144,4.144,0,0,1,2.039-1.747,4.757,4.757,0,0,1,3.286.019,7.833,7.833,0,0,1,2.443,1.558c.568.5,1.094,1.05,1.679,1.533a3.4,3.4,0,0,0,1.019.614,1.42,1.42,0,0,0,1.46-.379.965.965,0,0,0-.055-1.323.545.545,0,0,0-.8.108.659.659,0,0,0,.05.686,1.222,1.222,0,0,1-.6-.926,1.022,1.022,0,0,1,.691-1.032,2.005,2.005,0,0,1,2.312.661,3.258,3.258,0,0,1,.44,2.308,2.762,2.762,0,0,1-1.137,1.872,5.051,5.051,0,0,1-3.013.8,8.488,8.488,0,0,1-2.932-.63c-1.558-.626-3.016-1.492-4.625-1.992a13.977,13.977,0,0,0-1.7-.363c-.43.007-.861-.015-1.29.015a5.692,5.692,0,0,0-1.534.349c-1.636.509-3.116,1.4-4.7,2.024a7.625,7.625,0,0,1-4.249.474,3.74,3.74,0,0,1-2.125-1.14A2.856,2.856,0,0,1,2,16.668a2.722,2.722,0,0,1,.555-1.874,1.994,1.994,0,0,1,1.687-.68,1.425,1.425,0,0,1,1.063.52,1.04,1.04,0,0,1,.122.911,1.457,1.457,0,0,1-.556.644.643.643,0,0,0,.051-.681.547.547,0,0,0-.831-.079.975.975,0,0,0-.151,1.11,1.331,1.331,0,0,0,1.032.623,2.332,2.332,0,0,0,1.6-.7A28.526,28.526,0,0,1,9.4,14.053,5.251,5.251,0,0,1,12.3,13.1Z" style="fill:#c19770"/>`,
"Haskell": `<defs><linearGradient id="a" x1="0.996" y1="-206.057" x2="0.951" y2="-206.057" gradientTransform="matrix(259.941, 0, 0, -183.487, -237.941, -37792.788)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#faba09"/><stop offset="1" stop-color="#b42c01"/></linearGradient></defs><title>file_type_haskell2</title><path d="M2,25.882,8.588,16,2,6.118H6.941L13.529,16,6.941,25.882Zm6.588,0L15.177,16,8.588,6.118h4.941L26.706,25.882H21.765l-4.117-6.176-4.118,6.176ZM24.51,20.118l-2.2-3.294H30v3.294Zm-3.294-4.941-2.2-3.294H30v3.294Z" style="fill:url(#a)"/>`,
"Haxe": `<path d="M16,5.5,5.5,16,16,26.5,26.5,16,16,5.5" style="fill:#f68712"/><path d="M2,2,16,5.5,5.5,16,2,2" style="fill:#fab20b"/><path d="M30,2,26.5,16,16,5.5,30,2" style="fill:#f47216"/><path d="M30,30,16,26.5,26.5,16,30,30" style="fill:#f25c19"/><path d="M2,30,5.5,16,16,26.5,2,30" style="fill:#f89c0e"/><path d="M16,5.5,2,2H9l7,3.5" style="fill:#fbc707"/><path d="M16,5.5,30,2H23L16,5.5" style="fill:#fbc707"/><path d="M16,26.5,30,30H23l-7-3.5" style="fill:#f68712"/><path d="M16,26.5,2,30H9l7-3.5" style="fill:#f25c19"/><path d="M5.5,16,2,30V23l3.5-7" style="fill:#fff200"/><path d="M5.5,16,2,2V9l3.5,7" style="fill:#fff200"/><path d="M26.5,16,30,2V9l-3.5,7" style="fill:#f1471d"/><path d="M26.5,16,30,30V23l-3.5-7" style="fill:#f1471d"/>`,
"HLSL": `<polygon points="9.525 21.947 7.56 21.947 7.56 17.1 3.958 17.1 3.958 21.947 2 21.947 2 10.044 3.958 10.044 3.958 14.792 7.56 14.792 7.56 10.044 9.525 10.044 9.525 21.947" style="fill:blue"/><polygon points="16.692 21.947 11.513 21.947 11.513 10.044 13.472 10.044 13.472 19.773 16.692 19.773 16.692 21.947" style="fill:blue"/><path d="M17.462,21.491V18.834a3.676,3.676,0,0,0,1.146.909,2.809,2.809,0,0,0,1.249.3,2.05,2.05,0,0,0,.646-.092,1.309,1.309,0,0,0,.461-.252,1.029,1.029,0,0,0,.276-.382,1.231,1.231,0,0,0,.091-.478,1.3,1.3,0,0,0-.145-.623,1.907,1.907,0,0,0-.4-.506,4.077,4.077,0,0,0-.6-.448q-.346-.215-.746-.439a4.045,4.045,0,0,1-1.519-1.419,3.884,3.884,0,0,1-.5-2.026,4.232,4.232,0,0,1,.273-1.6,3.02,3.02,0,0,1,.744-1.1,2.938,2.938,0,0,1,1.088-.634,4.167,4.167,0,0,1,1.31-.2,5.816,5.816,0,0,1,1.2.111,3.8,3.8,0,0,1,.967.345v2.482a2.859,2.859,0,0,0-.476-.365,3.212,3.212,0,0,0-.53-.262A3.1,3.1,0,0,0,21.46,12a2.794,2.794,0,0,0-.512-.05,1.994,1.994,0,0,0-.606.087,1.347,1.347,0,0,0-.461.245,1.092,1.092,0,0,0-.291.377,1.144,1.144,0,0,0-.1.494,1.2,1.2,0,0,0,.115.536,1.657,1.657,0,0,0,.328.448,3.461,3.461,0,0,0,.515.415c.2.136.43.275.686.419a7.094,7.094,0,0,1,.936.635,3.712,3.712,0,0,1,.713.759,3.269,3.269,0,0,1,.455.967,4.573,4.573,0,0,1,.158,1.266,4.439,4.439,0,0,1-.277,1.672,2.888,2.888,0,0,1-.749,1.1,2.823,2.823,0,0,1-1.1.6,4.742,4.742,0,0,1-1.325.182,5.476,5.476,0,0,1-1.361-.166A3.41,3.41,0,0,1,17.462,21.491Z" style="fill:blue"/><polygon points="30 21.947 24.822 21.947 24.822 10.044 26.78 10.044 26.78 19.773 30 19.773 30 21.947" style="fill:blue"/>`,
"HTML": `<polygon points="5.902 27.201 3.655 2 28.345 2 26.095 27.197 15.985 30 5.902 27.201" style="fill:#e44f26"/><polygon points="16 27.858 24.17 25.593 26.092 4.061 16 4.061 16 27.858" style="fill:#f1662a"/><polygon points="16 13.407 11.91 13.407 11.628 10.242 16 10.242 16 7.151 15.989 7.151 8.25 7.151 8.324 7.981 9.083 16.498 16 16.498 16 13.407" style="fill:#ebebeb"/><polygon points="16 21.434 15.986 21.438 12.544 20.509 12.324 18.044 10.651 18.044 9.221 18.044 9.654 22.896 15.986 24.654 16 24.65 16 21.434" style="fill:#ebebeb"/><polygon points="15.989 13.407 15.989 16.498 19.795 16.498 19.437 20.507 15.989 21.437 15.989 24.653 22.326 22.896 22.372 22.374 23.098 14.237 23.174 13.407 22.341 13.407 15.989 13.407" style="fill:#fff"/><polygon points="15.989 7.151 15.989 9.071 15.989 10.235 15.989 10.242 23.445 10.242 23.445 10.242 23.455 10.242 23.517 9.548 23.658 7.981 23.732 7.151 15.989 7.151" style="fill:#fff"/>`,
"HTTP": `<defs><radialGradient id="a" cx="12.278" cy="24.557" r="18.371" gradientTransform="matrix(1, 0, 0, -1, -0.001, 34.001)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#d3e9ff"/><stop offset="0.155" stop-color="#d3e9ff"/><stop offset="0.75" stop-color="#4074ae"/><stop offset="1" stop-color="#36486c"/></radialGradient><radialGradient id="b" cx="10.657" cy="26.746" r="26.66" gradientTransform="matrix(1, 0, 0, -1, -0.001, 34.001)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0.165"/></radialGradient><radialGradient id="c" cx="-45.05" cy="9.285" r="4.115" gradientTransform="translate(-21.971 41.942) rotate(143.734)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></radialGradient><radialGradient id="d" cx="-41.456" cy="32.154" r="4.115" gradientTransform="translate(3.571 87.075) rotate(143.734) scale(1.297)" xlink:href="#c"/><radialGradient id="e" cx="-48.485" cy="13.239" r="4.115" gradientTransform="translate(-23.084 55.413) rotate(143.734)" xlink:href="#c"/><radialGradient id="f" cx="-40.883" cy="16.036" r="4.115" gradientTransform="matrix(-0.87, 0.639, -0.638, -0.87, -9.351, 47.706)" xlink:href="#c"/><linearGradient id="g" x1="-66.502" y1="2.219" x2="-64.626" y2="6.749" gradientTransform="matrix(0.939, -0.879, -0.683, -0.73, 84.81, -33.628)" xlink:href="#c"/><linearGradient id="h" x1="-26.791" y1="39.159" x2="-24.999" y2="44.683" gradientTransform="matrix(1.131, 0.613, 0.477, -0.879, 21.648, 69.071)" xlink:href="#c"/><linearGradient id="i" x1="-63.384" y1="8.177" x2="-63.57" y2="4.69" gradientTransform="matrix(0.918, -0.859, -0.668, -0.713, 77.857, -36.493)" xlink:href="#c"/><linearGradient id="j" x1="-99.259" y1="89.545" x2="-98.825" y2="93.023" gradientTransform="matrix(-1.28, -0.126, -0.098, 0.995, -101.637, -93.015)" xlink:href="#c"/><radialGradient id="k" cx="-20.712" cy="57.61" r="2.836" gradientTransform="matrix(0, -0.843, -0.721, 0, 26.625, -21.696)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#729fcf"/><stop offset="1" stop-color="#3b61a6"/></radialGradient><radialGradient id="l" cx="-20.712" cy="39.858" r="2.836" gradientTransform="translate(26.625 63.096) rotate(90) scale(0.843 0.721)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#729fcf"/><stop offset="1" stop-color="#509e2f"/></radialGradient></defs><title>file_type_http</title><path d="M28.026,14.2A11.877,11.877,0,1,1,16.149,2.325,11.878,11.878,0,0,1,28.026,14.2Z" style="fill:url(#a)"/><path d="M16.149,26.386A12.183,12.183,0,1,1,28.333,14.2,12.2,12.2,0,0,1,16.149,26.386Zm0-23.754A11.571,11.571,0,1,0,27.72,14.2,11.584,11.584,0,0,0,16.149,2.632Z" style="fill:#39396c"/><path d="M27.693,12.424h0l-.328.371a7,7,0,0,0-.656-.644l-.5.074-.46-.519v.643l.394.3.262.3.35-.4c.088.165.175.33.263.5v.495l-.394.445-.722.5-.546.545-.35-.4.175-.445-.35-.4-.591-1.262-.5-.569L23.6,12.1l.2.718.371.421a17.069,17.069,0,0,0,.7,1.783,9.979,9.979,0,0,0,1.268-.1v.347l-.525,1.287-.481.544-.394.843V19.33l.132.545-.219.247-.482.3-.5.421.416.47-.569.5.109.321-.853.966H22.2l-.481.3h-.307v-.4l-.13-.793c-.169-.5-.346-.991-.525-1.484,0-.364.022-.725.044-1.089l.219-.495-.307-.595.022-.817-.416-.47.208-.68-.338-.384H19.6l-.2-.223-.591.372-.24-.273-.547.47L16.911,15.27l-.437-1.04.394-.593-.219-.247.481-1.139c.395-.491.807-.963,1.225-1.436l.744-.2.831-.1.569.149.809.816.284-.321.393-.049.744.247H23.3l.394-.347.175-.247-.394-.247-.656-.049a6.6,6.6,0,0,0-.568-.743l-.219.1-.088.644-.394-.445-.087-.5-.437-.346h-.176l.438.495-.175.445-.35.1.219-.445-.394-.2-.349-.4-.657.148-.087.2-.394.248-.219.545-.546.272-.241-.272H17.83V9.428l.569-.3h.437l-.088-.346L18.4,8.438l.59-.124.328-.371.262-.446h.482l-.132-.346.307-.2v.4l.656.148.656-.544.044-.248.568-.4a4.353,4.353,0,0,0-.612.1V5.963l.219-.5h-.219l-.48.445-.132.248.132.347-.219.593-.35-.2-.306-.346-.482.346-.175-.792.831-.544v-.3l.525-.346.831-.2.569.2,1.049.2-.262.3H22.51l.569.594.437-.495.133-.218a15.53,15.53,0,0,1,2.635,3.147A11.452,11.452,0,0,1,27.693,12.424Z" style="fill:#204a87;fill-opacity:0.7134503126144409"/><path d="M16.861,5.517l-.044.3.307.2.524-.346-.262-.3-.35.2-.174-.05" style="fill:#204a87;fill-opacity:0.7134503126144409"/><path d="M17.343,3.488l-1.138-.446-1.312.148-1.619.445-.306.3,1.006.693v.4l-.394.4.525,1.04.349-.2.438-.693a15.053,15.053,0,0,0,1.924-.743l.525-1.337" style="fill:#204a87;fill-opacity:0.7134503126144409"/><path d="M18.524,7.647,18.349,7.2l-.307.1.088.544.394-.2" style="fill:#204a87;fill-opacity:0.7134503126144409"/><path d="M18.7,7.547l-.088.595.481-.1.35-.346-.306-.3c-.1-.274-.221-.529-.35-.792h-.262v.3l.174.2v.445" style="fill:#204a87;fill-opacity:0.7134503126144409"/><path d="M12.225,16.953l-.35-.693-.656-.148-.35-.94-.875.1-.743-.544-.788.693v.109a3,3,0,0,1-.743-.209l-.175-.495V14.28l-.525.049q.066-.52.131-1.039H6.845l-.306.4-.306.148L5.8,13.587l-.044-.545.088-.594.656-.495H7.02l.087-.3.656.148.481.595.088-.991.831-.693.306-.743.612-.247.35-.495.787-.149.394-.593H10.432l.744-.347H11.7l.744-.248.088-.3-.263-.248-.306-.1.088-.3-.219-.445-.525.2.088-.4-.612-.347L10.3,6.8l.044.3-.481.2-.306.643-.131-.594L8.594,7l-.131-.445,1.094-.644.481-.445.044-.544-.262-.149-.35-.05-.219.545s-.366.072-.46.095A12.5,12.5,0,0,0,4.6,13.371a6.789,6.789,0,0,0,.409.711l.918.544.918.248.394.5.612.445.35-.049.262.118v.08l-.35.94-.263.4.088.2-.219.742.787,1.436.787.693.35.495L9.6,21.9l.263.593L9.6,23.637s-.021-.007.013.107a5.278,5.278,0,0,0,1.488.809l.161-.123-.087-.247.35-.347.131-.347.569-.2.437-1.089-.131-.3.306-.445.656-.149.35-.792-.088-.99.525-.743.088-.743c-.718-.356-1.43-.723-2.143-1.089" style="fill:#204a87;fill-opacity:0.7134503126144409"/><path d="M11.263,5.715l.437.3h.35V5.666l-.437-.2-.35.247" style="fill:#204a87;fill-opacity:0.7134503126144409"/><path d="M10.126,5.319l-.219.544h.438l.219-.5c.189-.133.376-.268.568-.4l.438.149.875.594.438-.4-.482-.2-.219-.446-.831-.1-.044-.248-.394.1-.175.346-.219-.446-.087.2.044.5-.35.3" style="fill:#204a87;fill-opacity:0.7134503126144409"/><path d="M11.7,4.081l.219-.2.438-.1a6.9,6.9,0,0,1,.918-.347l-.174-.3-.565.081-.267.266-.44.064-.391.184-.19.092-.116.155.568.1" style="fill:#204a87;fill-opacity:0.7134503126144409"/><path d="M12.444,8.785l.263-.4-.394-.3.131.693" style="fill:#204a87;fill-opacity:0.7134503126144409"/><path d="M16.149,25.783A11.58,11.58,0,1,1,27.729,14.2,11.593,11.593,0,0,1,16.149,25.783Zm0-22.548A10.968,10.968,0,1,0,27.117,14.2,10.98,10.98,0,0,0,16.149,3.235Z" style="opacity:0.3956044018268585;isolation:isolate;fill:url(#b)"/><path d="M5.541,10.241a4.115,4.115,0,1,0,6.636-4.866h0A4.115,4.115,0,0,0,5.54,10.24Z" style="fill:url(#c)"/><path d="M7.836,8.558a1.268,1.268,0,1,0,2.046-1.5h0a1.268,1.268,0,0,0-2.046,1.5Z" style="fill:#fff"/><path d="M17.952,24.8a5.337,5.337,0,1,0,8.607-6.312v0A5.337,5.337,0,0,0,17.95,24.8Z" style="fill:url(#d)"/><path d="M20.928,22.616a1.645,1.645,0,1,0,2.653-1.946h0a1.645,1.645,0,0,0-2.653,1.946Z" style="fill:#fff"/><path d="M4.859,18.493A4.115,4.115,0,1,0,11.5,13.626h0a4.115,4.115,0,0,0-6.636,4.866Z" style="fill:url(#e)"/><path d="M7.154,16.809a1.268,1.268,0,1,0,2.046-1.5h0a1.268,1.268,0,0,0-2.046,1.5Z" style="fill:#fff"/><path d="M12.408,10.269A4.441,4.441,0,1,0,19.57,5.016h0a4.441,4.441,0,1,0-7.162,5.253Z" style="fill:url(#f)"/><path d="M14.885,8.452a1.369,1.369,0,1,0,2.208-1.619h0a1.369,1.369,0,1,0-2.208,1.619Z" style="fill:#fff"/><path d="M12.68,26.238a3.83,3.83,0,0,1-2.909-1.087c-1.133-1.21-1.2-3.255-.2-5.757a21.542,21.542,0,0,1,5.307-7.326C20.064,7.215,25.945,5.356,28.27,7.839c1.133,1.211,1.2,3.255.2,5.757a21.553,21.553,0,0,1-5.308,7.326A21.551,21.551,0,0,1,15.5,25.733,9.229,9.229,0,0,1,12.68,26.238ZM25.342,7.28c-2.7,0-6.6,1.908-10.1,5.183A21,21,0,0,0,10.071,19.6c-.921,2.3-.887,4.138.094,5.187s2.817,1.2,5.169.437a21,21,0,0,0,7.46-4.692,21,21,0,0,0,5.175-7.132c.921-2.3.888-4.138-.095-5.187A3.34,3.34,0,0,0,25.342,7.28Z" style="fill:url(#g)"/><path d="M21.681,22.094a20.633,20.633,0,0,1-9.339-2.759C6.1,15.95,2.473,10.957,4.094,7.968c.79-1.458,2.7-2.175,5.4-2.012A21.542,21.542,0,0,1,18.12,8.674a21.545,21.545,0,0,1,6.987,5.746c1.6,2.167,2.051,4.163,1.261,5.621C25.622,21.416,23.915,22.094,21.681,22.094ZM8.759,6.474c-2.1,0-3.572.612-4.19,1.751C3.117,10.9,6.72,15.674,12.6,18.86s11.843,3.6,13.294.924c.685-1.263.251-3.054-1.22-5.042a21,21,0,0,0-6.81-5.593A21,21,0,0,0,9.459,6.5Q9.1,6.474,8.759,6.474Z" style="fill:url(#h)"/><path d="M10,24.078a3.757,3.757,0,0,1-2.851-1.065c-1.11-1.187-1.181-3.189-.2-5.639a21.062,21.062,0,0,1,5.189-7.163c5.073-4.747,10.83-6.563,13.1-4.132h0c2.275,2.431.083,8.053-4.99,12.8a21.059,21.059,0,0,1-7.491,4.7A9.024,9.024,0,0,1,10,24.078ZM22.373,5.553c-2.63,0-6.439,1.864-9.856,5.062A20.5,20.5,0,0,0,7.463,17.58c-.9,2.239-.866,4.034.09,5.055s2.745,1.172,5.038.424a20.513,20.513,0,0,0,7.284-4.582c4.766-4.46,6.994-9.853,4.965-12.02h0A3.256,3.256,0,0,0,22.373,5.553Z" style="fill:url(#i)"/><path d="M17.512,19.413c-.86,0-1.748-.043-2.659-.133C7.784,18.584,2.507,15.388,2.84,12h0c.333-3.383,6.133-5.49,13.2-4.791s12.345,3.892,12.012,7.275C27.763,17.436,23.324,19.413,17.512,19.413ZM3.378,12.057c-.3,3.031,4.873,6.03,11.528,6.686s12.312-1.277,12.611-4.308S22.644,8.406,15.988,7.75,3.677,9.027,3.378,12.057Z" style="fill:url(#j)"/><path d="M6.251,29.966h6.674V20.809h2.981L9.548,11.434,3.295,20.782l2.958.031Z" style="fill:url(#k)"/><path d="M12.924,30.045H6.251a.049.049,0,0,1-.039-.023c-.01-.015-.016-3.135-.016-3.156l0-5.975-2.9-.03a.06.06,0,0,1-.051-.048.1.1,0,0,1,.011-.085L9.508,11.38a.056.056,0,0,1,.041-.025.05.05,0,0,1,.04.024l6.357,9.375a.1.1,0,0,1,.011.086.059.059,0,0,1-.051.048H12.98v9.078C12.98,30.01,12.955,30.045,12.924,30.045Zm-6.618-.158h6.562V20.809c0-.044.025-.079.056-.079h2.85L9.549,11.549,3.424,20.7l2.83.03c.031,0,.055.036.055.079Z" style="fill:#183868"/><path d="M19.053,20.587l-2.958.031,6.254,9.348,6.357-9.375H25.724V11.434H19.051Z" style="fill:url(#l)"/><path d="M25.78,11.434v9.078h2.925a.059.059,0,0,1,.051.048.1.1,0,0,1-.011.086l-6.357,9.375a.05.05,0,0,1-.04.024.056.056,0,0,1-.041-.025l-6.254-9.348a.1.1,0,0,1-.011-.085.06.06,0,0,1,.051-.048l2.9-.03,0-5.975c0-.021.006-3.141.016-3.156a.049.049,0,0,1,.039-.023h6.674C25.755,11.355,25.78,11.39,25.78,11.434Zm-6.672,9.153c0,.043-.025.079-.055.079l-2.83.03,6.125,9.156,6.226-9.181h-2.85c-.031,0-.056-.035-.056-.079V11.513H19.107Z" style="fill:#183868"/>`,
"Idris": `<path d="M13.376,6.2c3.6,1.1,4.5,2,5.8,5.2-.3-4-1.9-5.6-5.8-5.2Z" style="fill:#8a0819"/><path d="M8.376,12.4c2.3.7,5,1.3,6,5.7.4-5.5-2.2-5.8-6-5.7Z" style="fill:#8a0819"/><path d="M9.976,8.8c3.5.7,5.7,1.7,7,6.2.3-5.8-2.9-6.4-7-6.2Z" style="fill:#8a0819"/><path d="M14.576,2c19.1,12.4-4.2,12.7.8,27.1l3,.9c-8.3-11.2,18.4-17-3.8-28Z" style="fill:#8a0819"/>`,
"Ini": `<path d="M23.265,24.381l.9-.894c4.164.136,4.228-.01,4.411-.438l1.144-2.785L29.805,20l-.093-.231c-.049-.122-.2-.486-2.8-2.965V15.5c3-2.89,2.936-3.038,2.765-3.461L28.538,9.225c-.171-.422-.236-.587-4.37-.474l-.9-.93a20.166,20.166,0,0,0-.141-4.106l-.116-.263-2.974-1.3c-.438-.2-.592-.272-3.4,2.786l-1.262-.019c-2.891-3.086-3.028-3.03-3.461-2.855L9.149,3.182c-.433.175-.586.237-.418,4.437l-.893.89c-4.162-.136-4.226.012-4.407.438L2.285,11.733,2.195,12l.094.232c.049.12.194.48,2.8,2.962l0,1.3c-3,2.89-2.935,3.038-2.763,3.462l1.138,2.817c.174.431.236.584,4.369.476l.9.935a20.243,20.243,0,0,0,.137,4.1l.116.265,2.993,1.308c.435.182.586.247,3.386-2.8l1.262.016c2.895,3.09,3.043,3.03,3.466,2.859l2.759-1.115C23.288,28.644,23.44,28.583,23.265,24.381ZM11.407,17.857a4.957,4.957,0,1,1,6.488,2.824A5.014,5.014,0,0,1,11.407,17.857Z" style="fill:#99b8c4"/>`,
"Io": `<path d="M2,2.887H7.075V7.51H2Zm.052,6.83H7.04V28.626H2.052Z" style="fill:#c2c2c2"/><path d="M13.271,26.454a9.791,9.791,0,0,1-2.616-7.178,10.148,10.148,0,0,1,2.616-7.343,9.321,9.321,0,0,1,7.047-2.72,9.34,9.34,0,0,1,7.075,2.72A10.168,10.168,0,0,1,30,19.276a9.809,9.809,0,0,1-2.607,7.178,9.456,9.456,0,0,1-7.075,2.659A9.436,9.436,0,0,1,13.271,26.454Zm10.436-2.972a6.7,6.7,0,0,0,1.166-4.258,6.943,6.943,0,0,0-1.166-4.354,4.047,4.047,0,0,0-3.389-1.486,4.022,4.022,0,0,0-3.38,1.486,6.991,6.991,0,0,0-1.156,4.354,6.744,6.744,0,0,0,1.156,4.258,4.053,4.053,0,0,0,3.38,1.46A4.078,4.078,0,0,0,23.707,23.482Z" style="fill:#c2c2c2"/>`,
"Java": `<path d="M12.325,23.654s-1.07.622.761.833a16.023,16.023,0,0,0,5.8-.246,10.088,10.088,0,0,0,1.541.752c-5.481,2.349-12.405-.136-8.1-1.339" style="fill:#5382a1"/><path d="M11.656,20.588s-1.2.888.633,1.078a22.618,22.618,0,0,0,7.481-.359,3.32,3.32,0,0,0,1.152.7c-6.627,1.938-14.009.153-9.266-1.421" style="fill:#5382a1"/><path d="M17.3,15.388a2.051,2.051,0,0,1-.355,2.954s3.429-1.77,1.854-3.987c-1.471-2.067-2.6-3.095,3.508-6.636,0,0-9.586,2.394-5.007,7.669" style="fill:#5382a1"/><path d="M24.552,25.921s.792.652-.872,1.157c-3.164.958-13.168,1.248-15.948.038-1-.435.874-1.038,1.464-1.164a3.8,3.8,0,0,1,.966-.108c-1.111-.783-7.181,1.537-3.083,2.2,11.176,1.812,20.372-.816,17.473-2.124" style="fill:#5382a1"/><path d="M12.84,17.412s-5.089,1.209-1.8,1.648a38.225,38.225,0,0,0,6.731-.072c2.106-.178,4.221-.555,4.221-.555a8.934,8.934,0,0,0-1.28.685c-5.168,1.359-15.151.727-12.277-.663a9.629,9.629,0,0,1,4.407-1.042" style="fill:#5382a1"/><path d="M21.969,22.515c5.253-2.73,2.824-5.353,1.129-5a3.932,3.932,0,0,0-.6.161.957.957,0,0,1,.449-.346c3.354-1.179,5.933,3.478-1.083,5.322a.458.458,0,0,0,.106-.138" style="fill:#5382a1"/><path d="M18.8,2s2.909,2.91-2.759,7.386c-4.546,3.59-1.037,5.637,0,7.975-2.653-2.394-4.6-4.5-3.294-6.463C14.664,8.019,19.976,6.623,18.8,2" style="fill:#5382a1"/><path d="M13.356,29.912c5.042.323,12.786-.179,12.969-2.565,0,0-.353.9-4.167,1.623a41.458,41.458,0,0,1-12.76.2s.645.533,3.959.746" style="fill:#5382a1"/>`,
"JavaScript": `<rect x="2" y="2" width="28" height="28" style="fill:#f5de19"/><path d="M20.809,23.875a2.866,2.866,0,0,0,2.6,1.6c1.09,0,1.787-.545,1.787-1.3,0-.9-.716-1.222-1.916-1.747l-.658-.282c-1.9-.809-3.16-1.822-3.16-3.964,0-1.973,1.5-3.476,3.853-3.476a3.889,3.889,0,0,1,3.742,2.107L25,18.128A1.789,1.789,0,0,0,23.311,17a1.145,1.145,0,0,0-1.259,1.128c0,.789.489,1.109,1.618,1.6l.658.282c2.236.959,3.5,1.936,3.5,4.133,0,2.369-1.861,3.667-4.36,3.667a5.055,5.055,0,0,1-4.795-2.691Zm-9.295.228c.413.733.789,1.353,1.693,1.353.864,0,1.41-.338,1.41-1.653V14.856h2.631v8.982c0,2.724-1.6,3.964-3.929,3.964a4.085,4.085,0,0,1-3.947-2.4Z"/>`,
"JSON": `<path d="M4.014,14.976a2.51,2.51,0,0,0,1.567-.518A2.377,2.377,0,0,0,6.386,13.1,15.261,15.261,0,0,0,6.6,10.156q.012-2.085.075-2.747a5.236,5.236,0,0,1,.418-1.686,3.025,3.025,0,0,1,.755-1.018A3.046,3.046,0,0,1,9,4.125,6.762,6.762,0,0,1,10.544,4h.7V5.96h-.387a2.338,2.338,0,0,0-1.723.468A3.4,3.4,0,0,0,8.709,8.52a36.054,36.054,0,0,1-.137,4.133,4.734,4.734,0,0,1-.768,2.06A4.567,4.567,0,0,1,6.1,16a3.809,3.809,0,0,1,1.992,1.754,8.861,8.861,0,0,1,.618,3.865q0,2.435.05,2.9A1.755,1.755,0,0,0,9.264,25.7a2.639,2.639,0,0,0,1.592.337h.387V28h-.7a5.655,5.655,0,0,1-1.773-.2,2.97,2.97,0,0,1-1.324-.93,3.353,3.353,0,0,1-.681-1.63A24.175,24.175,0,0,1,6.6,22.006,16.469,16.469,0,0,0,6.386,18.9a2.408,2.408,0,0,0-.805-1.361,2.489,2.489,0,0,0-1.567-.524Z" style="fill:#f5de19"/><path d="M27.986,17.011a2.489,2.489,0,0,0-1.567.524,2.408,2.408,0,0,0-.805,1.361,16.469,16.469,0,0,0-.212,3.109,24.175,24.175,0,0,1-.169,3.234,3.353,3.353,0,0,1-.681,1.63,2.97,2.97,0,0,1-1.324.93,5.655,5.655,0,0,1-1.773.2h-.7V26.04h.387a2.639,2.639,0,0,0,1.592-.337,1.755,1.755,0,0,0,.506-1.186q.05-.462.05-2.9a8.861,8.861,0,0,1,.618-3.865A3.809,3.809,0,0,1,25.9,16a4.567,4.567,0,0,1-1.7-1.286,4.734,4.734,0,0,1-.768-2.06,36.054,36.054,0,0,1-.137-4.133,3.4,3.4,0,0,0-.425-2.092,2.338,2.338,0,0,0-1.723-.468h-.387V4h.7A6.762,6.762,0,0,1,23,4.125a3.046,3.046,0,0,1,1.149.581,3.025,3.025,0,0,1,.755,1.018,5.236,5.236,0,0,1,.418,1.686q.062.662.075,2.747a15.261,15.261,0,0,0,.212,2.947,2.377,2.377,0,0,0,.805,1.355,2.51,2.51,0,0,0,1.567.518Z" style="fill:#f5de19"/>`,
"JSON5": `<path d="M12.815,15.167l.68-5.676h6.489v2h-4.4L15.329,13.7a2.4,2.4,0,0,1,.252-.122,2.962,2.962,0,0,1,.374-.13,2.9,2.9,0,0,1,.458-.106,2.834,2.834,0,0,1,.512-.046,3.983,3.983,0,0,1,1.466.252,2.736,2.736,0,0,1,1.076.723,3.167,3.167,0,0,1,.664,1.168,5,5,0,0,1,.228,1.588,4.157,4.157,0,0,1-.236,1.387,3.307,3.307,0,0,1-1.9,2.029,4.3,4.3,0,0,1-1.715.312,4.75,4.75,0,0,1-1.458-.228,4.054,4.054,0,0,1-1.252-.656,3.359,3.359,0,0,1-.878-1.046,2.787,2.787,0,0,1-.32-1.382H15.18a1.458,1.458,0,0,0,.39.97,1.383,1.383,0,0,0,1.558.206,1.089,1.089,0,0,0,.4-.412,1.749,1.749,0,0,0,.206-.618,4.3,4.3,0,0,0,.062-.74,2.709,2.709,0,0,0-.092-.74,1.506,1.506,0,0,0-.282-.558,1.229,1.229,0,0,0-.5-.349,1.78,1.78,0,0,0-.718-.13,2.121,2.121,0,0,0-.5.054,1.805,1.805,0,0,0-.382.138,1.318,1.318,0,0,0-.274.19,1.28,1.28,0,0,0-.19.2l-2.048-.482" style="fill:#fff"/><path d="M5.985,23.343a4.45,4.45,0,0,1-1.311-.58,3.2,3.2,0,0,1-.848-.824,3.012,3.012,0,0,1-.458-1.008,4.879,4.879,0,0,1-.13-1.143v-1.55a2.3,2.3,0,0,0-.076-.618,1.184,1.184,0,0,0-.222-.466.969.969,0,0,0-.382-.306A1.324,1.324,0,0,0,2,16.744V15.012a1.074,1.074,0,0,0,.937-.4,1.841,1.841,0,0,0,.3-1.1v-1.55a4.879,4.879,0,0,1,.13-1.143,3.037,3.037,0,0,1,.458-1.008A3.17,3.17,0,0,1,4.671,9a4.482,4.482,0,0,1,1.311-.58l.48,1.344a1.222,1.222,0,0,0-.488.328,1.742,1.742,0,0,0-.306.5,2.524,2.524,0,0,0-.16.634,5.827,5.827,0,0,0-.046.74v1.55A2.844,2.844,0,0,1,5.126,14.9a2.37,2.37,0,0,1-1.076.983,2.356,2.356,0,0,1,1.076.992,2.808,2.808,0,0,1,.336,1.374v1.55a5.827,5.827,0,0,0,.046.74,2.586,2.586,0,0,0,.16.634,1.684,1.684,0,0,0,.306.5A1.222,1.222,0,0,0,6.462,22c0-.005-.477,1.344-.477,1.344" style="fill:#999"/><path d="M8.215,19.393a1.289,1.289,0,0,1,.1-.512,1.212,1.212,0,0,1,.29-.4,1.373,1.373,0,0,1,.45-.274,1.637,1.637,0,0,1,.58-.1,1.555,1.555,0,0,1,.572.1,1.269,1.269,0,0,1,.45.274,1.077,1.077,0,0,1,.29.4,1.294,1.294,0,0,1,0,1.024,1.151,1.151,0,0,1-.29.412,1.388,1.388,0,0,1-.45.268,1.613,1.613,0,0,1-.572.1,1.578,1.578,0,0,1-.58-.1,1.409,1.409,0,0,1-.45-.268,1.229,1.229,0,0,1-.39-.924m0-6.088a1.289,1.289,0,0,1,.1-.512,1.212,1.212,0,0,1,.29-.4,1.373,1.373,0,0,1,.45-.274,1.637,1.637,0,0,1,.58-.1,1.555,1.555,0,0,1,.572.1,1.269,1.269,0,0,1,.45.274,1.077,1.077,0,0,1,.29.4,1.294,1.294,0,0,1,0,1.024,1.151,1.151,0,0,1-.29.412,1.388,1.388,0,0,1-.45.268,1.613,1.613,0,0,1-.572.1,1.578,1.578,0,0,1-.58-.1,1.409,1.409,0,0,1-.45-.268,1.229,1.229,0,0,1-.39-.924" style="fill:#999"/><path d="M24.24,20.293a3.648,3.648,0,0,1-.122.929,4.534,4.534,0,0,1-.336.891,4.706,4.706,0,0,1-.5.807,4.005,4.005,0,0,1-.61.664l-1.3-.61c.081-.173.168-.349.26-.526a4.846,4.846,0,0,0,.268-.558,4.443,4.443,0,0,0,.206-.656,3.406,3.406,0,0,0,.084-.8V18.656h2.059l-.008,1.636" style="fill:#999"/><path d="M25.538,21.994a1.251,1.251,0,0,0,.488-.328,1.707,1.707,0,0,0,.306-.5,2.525,2.525,0,0,0,.16-.634,5.826,5.826,0,0,0,.046-.74v-1.55a2.844,2.844,0,0,1,.336-1.382,2.364,2.364,0,0,1,1.084-.983,2.364,2.364,0,0,1-1.084-.983,2.844,2.844,0,0,1-.336-1.382v-1.55a5.827,5.827,0,0,0-.046-.74,2.586,2.586,0,0,0-.16-.634,1.684,1.684,0,0,0-.306-.5,1.222,1.222,0,0,0-.488-.328l.48-1.338A4.45,4.45,0,0,1,27.329,9a3.092,3.092,0,0,1,.848.815,2.892,2.892,0,0,1,.45,1.008,4.606,4.606,0,0,1,.138,1.143v1.55a2.655,2.655,0,0,0,.068.626,1.448,1.448,0,0,0,.222.474,1.037,1.037,0,0,0,.382.3,1.376,1.376,0,0,0,.564.106v1.731a1.077,1.077,0,0,0-.946.412,1.828,1.828,0,0,0-.29,1.084v1.55a4.606,4.606,0,0,1-.138,1.143,2.915,2.915,0,0,1-.45,1.008,3.157,3.157,0,0,1-.848.824,4.482,4.482,0,0,1-1.311.58l-.48-1.352" style="fill:#999"/>`,
"Julia": `<path d="M7.448,21.983V13.775l-2.432.669v8.729a2.66,2.66,0,0,1-.106.929.336.336,0,0,1-.308.239.405.405,0,0,1-.212-.074,1.282,1.282,0,0,1-.287-.3,2.813,2.813,0,0,0-.377-.409.874.874,0,0,0-.611-.207,1.22,1.22,0,0,0-.812.255.789.789,0,0,0-.3.627A.907.907,0,0,0,2.542,25a3.115,3.115,0,0,0,1.561.319,7.065,7.065,0,0,0,1.37-.122,2.361,2.361,0,0,0,1.057-.483,2.292,2.292,0,0,0,.68-1.014,5.094,5.094,0,0,0,.239-1.715Z" style="fill:#252525"/><path d="M10.825,14.008H8.4v5.618a2.241,2.241,0,0,0,.218.977,2.489,2.489,0,0,0,.6.8,2.9,2.9,0,0,0,.892.536,3.045,3.045,0,0,0,1.1.2,2.55,2.55,0,0,0,1.051-.244,4.347,4.347,0,0,0,1.019-.648v.743H15.71V14.008H13.289v5.756a2.764,2.764,0,0,1-.648.706,1.139,1.139,0,0,1-.648.281,1.155,1.155,0,0,1-.457-.09,1.263,1.263,0,0,1-.372-.239,1.06,1.06,0,0,1-.25-.356,1.091,1.091,0,0,1-.09-.441Z" style="fill:#252525"/><path d="M19.074,21.983V10.132l-2.411.669V21.983Z" style="fill:#252525"/><path d="M20.038,14.444v7.54h2.421V13.775Z" style="fill:#252525"/><path d="M27.568,17.863v2.3q-.372.276-.674.457a1.165,1.165,0,0,1-.6.181.468.468,0,0,1-.276-.09,1,1,0,0,1-.234-.239,1.138,1.138,0,0,1-.165-.356,1.576,1.576,0,0,1-.058-.43.968.968,0,0,1,.181-.552,2.306,2.306,0,0,1,.473-.5,4.572,4.572,0,0,1,.648-.43,7.612,7.612,0,0,1,.706-.345ZM30,21.983V16a2.083,2.083,0,0,0-.191-.9,1.779,1.779,0,0,0-.595-.69,3.006,3.006,0,0,0-1.025-.441,6.225,6.225,0,0,0-1.481-.154,5.735,5.735,0,0,0-1.327.149,4.6,4.6,0,0,0-1.1.4,2.373,2.373,0,0,0-.759.611,1.216,1.216,0,0,0-.281.77.958.958,0,0,0,.319.738,1.178,1.178,0,0,0,.828.292,1.364,1.364,0,0,0,.547-.1.8.8,0,0,0,.335-.255.986.986,0,0,0,.165-.372,1.978,1.978,0,0,0,.048-.435,1.031,1.031,0,0,1,.223-.669.975.975,0,0,1,.8-.276,1.008,1.008,0,0,1,.781.319,1.594,1.594,0,0,1,.292,1.083v.786l-.265.064q-.488.149-.988.313t-.961.361a7.884,7.884,0,0,0-.865.43,3.511,3.511,0,0,0-.706.531,2.319,2.319,0,0,0-.478.669,1.918,1.918,0,0,0-.175.828,2.034,2.034,0,0,0,.165.823,1.876,1.876,0,0,0,.473.653,2.255,2.255,0,0,0,.749.435,2.907,2.907,0,0,0,.993.159,3.679,3.679,0,0,0,.7-.058,2.509,2.509,0,0,0,.536-.165,2.209,2.209,0,0,0,.43-.25q.191-.143.393-.313v.637Z" style="fill:#252525"/><circle cx="6.204" cy="11.672" r="1.5" style="fill:#6682df"/><path d="M6.2,13.287a1.615,1.615,0,1,1,1.615-1.615A1.617,1.617,0,0,1,6.2,13.287Zm0-3a1.385,1.385,0,1,0,1.385,1.385A1.386,1.386,0,0,0,6.2,10.287Z" style="fill:#4063d8"/><circle cx="21.417" cy="11.672" r="1.5" style="fill:#d5635c"/><path d="M21.417,13.287a1.615,1.615,0,1,1,1.615-1.615A1.617,1.617,0,0,1,21.417,13.287Zm0-3A1.385,1.385,0,1,0,22.8,11.672,1.386,1.386,0,0,0,21.417,10.287Z" style="fill:#cb3c33"/><circle cx="23.385" cy="8.297" r="1.5" style="fill:#60ad51"/><path d="M23.385,9.912A1.615,1.615,0,1,1,25,8.3,1.617,1.617,0,0,1,23.385,9.912Zm0-3A1.385,1.385,0,1,0,24.77,8.3,1.386,1.386,0,0,0,23.385,6.912Z" style="fill:#389826"/><circle cx="25.354" cy="11.672" r="1.5" style="fill:#aa79c1"/><path d="M25.354,13.287a1.615,1.615,0,1,1,1.615-1.615A1.617,1.617,0,0,1,25.354,13.287Zm0-3a1.385,1.385,0,1,0,1.385,1.385A1.386,1.386,0,0,0,25.354,10.287Z" style="fill:#9558b2"/>`,
"Kotlin": `<defs><linearGradient id="a" x1="311.336" y1="1452.064" x2="283.342" y2="1480.058" gradientTransform="translate(-281.4 -1450)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e44857"/><stop offset="0.47" stop-color="#9d4b9d"/><stop offset="1" stop-color="#6d5faa"/></linearGradient></defs><title>file_type_kotlin</title><path d="M30,30H2V2H30L16,16Z" style="fill:url(#a)"/>`,
"Kusto": `<rect x="0.55" y="22.339" width="15.433" height="2.796" rx="0.439" transform="translate(-14.363 12.797) rotate(-44.999)" style="fill:#b8d432"/><rect x="1.372" y="16.382" width="9.859" height="2.796" rx="0.439" transform="translate(-10.727 9.663) rotate(-44.999)" style="fill:#b8d432"/><rect x="9.232" y="24.301" width="9.859" height="2.796" rx="0.439" transform="translate(-14.024 17.541) rotate(-44.999)" style="fill:#b8d432"/><polygon points="30 2 2 2 30 29.999 30 2" style="fill:#0078d4"/><polygon points="10.282 10.282 21.718 21.718 30 13.436 30 2 18.564 2 10.282 10.282" style="fill:#59b4d9"/><polygon points="30 29.999 30 2 16 16 30 29.999" style="fill:#fff;opacity:0.20000000298023224;isolation:isolate"/><rect x="16.226" y="9.001" width="2.796" height="2.796" rx="0.622" transform="translate(-2.192 15.507) rotate(-44.999)" style="fill:#fff"/><rect x="20.18" y="5.048" width="2.796" height="2.796" rx="0.622" transform="translate(1.762 17.146) rotate(-44.999)" style="fill:#fff"/><rect x="20.18" y="12.955" width="2.796" height="2.796" rx="0.622" transform="translate(-3.829 19.461) rotate(-44.999)" style="fill:#fff"/><rect x="24.133" y="9.002" width="2.796" height="2.796" rx="0.622" transform="translate(0.124 21.099) rotate(-44.999)" style="fill:#fff"/>`,
"LaTeX": `<path d="M11.333,13.122c-.128-1.562-.241-2.756-2.287-2.756H7.91v8.4h2.145v.611l-3.083-.029-3.082.029v-.611H6.034v-8.4H4.884c-2.046,0-2.159,1.208-2.287,2.756H2l.284-3.367h9.362l.284,3.367h-.6Z" style="fill:#cfcfcf"/><path d="M19.289,22.53H10.41V21.92h1.506V13.467H10.41v-.611h8.637l.412,3.367h-.6c-.213-1.833-.682-2.756-2.855-2.756H13.791V17.2h.838c1.364,0,1.505-.6,1.505-1.662h.6v3.935h-.6c0-1.08-.142-1.662-1.505-1.662h-.838v4.106h2.216c2.472,0,3-1.108,3.3-3.225h.6Z" style="fill:#cfcfcf"/><path d="M27.727,19.186c-.54,0-1.96,0-2.415.029V18.6h1.179l-2.557-3.552-2.529,3.381A4.1,4.1,0,0,0,22.7,18.6v.611c-.355-.029-1.576-.029-2.017-.029-.4,0-1.548,0-1.875.029V18.6h.383a7.459,7.459,0,0,0,.824-.043c.5-.043.54-.085.667-.256L23.536,14.5l-3.153-4.418H19V9.47c.384.028,1.79.028,2.273.028.582,0,1.918,0,2.429-.028v.611H22.528l2.117,2.955,2.074-2.784a4.1,4.1,0,0,0-1.293-.17V9.47c.356.028,1.591.028,2.032.028.4,0,1.534,0,1.861-.028v.611h-.369a5.264,5.264,0,0,0-.838.043c-.469.043-.526.071-.667.256l-2.4,3.21L28.636,18.6H30v.611C29.645,19.186,28.182,19.186,27.727,19.186Z" style="fill:#cfcfcf"/>`,
"Less": `<defs><linearGradient id="a" x1="-3.609" y1="-492.685" x2="-3.609" y2="-480.271" gradientTransform="translate(19.712 502.891)" gradientUnits="userSpaceOnUse"><stop offset="0.15" stop-color="#2a4f84"/><stop offset="0.388" stop-color="#294e82"/><stop offset="1" stop-color="#172e4e"/></linearGradient></defs><title>file_type_less</title><path d="M28.559,20.226a2.4,2.4,0,0,1-2.394,2.394H6.04a2.4,2.4,0,0,1-2.394-2.394V12.6A2.4,2.4,0,0,1,6.04,10.206H26.165A2.4,2.4,0,0,1,28.559,12.6Z" style="fill:url(#a)"/><path d="M24.349,16.25a1.972,1.972,0,0,1,1.578,1.891,1.69,1.69,0,0,1-.653,1.4,2.934,2.934,0,0,1-1.862.559,4.558,4.558,0,0,1-2.241-.618,1.986,1.986,0,0,1,.16-.669,1.83,1.83,0,0,1,.35-.576,3.7,3.7,0,0,0,1.649.493.965.965,0,0,0,.51-.112.339.339,0,0,0,.178-.3q0-.353-.546-.529l-.653-.247q-1.482-.54-1.482-1.762a1.753,1.753,0,0,1,.623-1.416,2.587,2.587,0,0,1,1.678-.648,5.094,5.094,0,0,1,1.15.147,4.555,4.555,0,0,1,1.032.472,1.668,1.668,0,0,1-.13.722,1.22,1.22,0,0,1-.38.558,4.261,4.261,0,0,0-1.66-.446.544.544,0,0,0-.362.106.338.338,0,0,0-.124.27q0,.282.451.446l.736.259Z" style="fill:#f6f6f6"/><path d="M19.1,16.25a1.972,1.972,0,0,1,1.577,1.891,1.691,1.691,0,0,1-.652,1.4,2.937,2.937,0,0,1-1.862.559,4.56,4.56,0,0,1-2.241-.618,1.981,1.981,0,0,1,.16-.669,1.821,1.821,0,0,1,.35-.576,3.7,3.7,0,0,0,1.649.493.963.963,0,0,0,.51-.112.34.34,0,0,0,.178-.3q0-.353-.546-.529l-.653-.247q-1.482-.54-1.482-1.762a1.752,1.752,0,0,1,.623-1.416,2.585,2.585,0,0,1,1.677-.648,5.088,5.088,0,0,1,1.15.147,4.552,4.552,0,0,1,1.032.472,1.668,1.668,0,0,1-.13.722,1.22,1.22,0,0,1-.38.558,4.263,4.263,0,0,0-1.661-.446.543.543,0,0,0-.362.106.339.339,0,0,0-.124.27q0,.282.451.446l.736.259Z" style="fill:#f6f6f6"/><path d="M15.264,16.333a2.822,2.822,0,0,0-.172-1,2.239,2.239,0,0,0-.492-.787,2.28,2.28,0,0,0-.777-.517,2.737,2.737,0,0,0-1.026-.314,2.8,2.8,0,0,0-1.18.361,2.256,2.256,0,0,0-.83.646,2.765,2.765,0,0,0-.487.969,4.4,4.4,0,0,0-.16,1.216,5.681,5.681,0,0,0,.13,1.257,2.628,2.628,0,0,0,.445,1,2.107,2.107,0,0,0,.818.657,2.935,2.935,0,0,0,1.251.277,3.952,3.952,0,0,0,2.324-.712,1.865,1.865,0,0,0-.484-1.081,6.188,6.188,0,0,1-.857.262,3.208,3.208,0,0,1-.656.079,1.017,1.017,0,0,1-.815-.29,1.187,1.187,0,0,1-.271-.77h3.083A4.447,4.447,0,0,0,15.264,16.333Zm-3.248.081a2.433,2.433,0,0,1,.218-1,.632.632,0,0,1,.559-.264.66.66,0,0,1,.582.282,1.749,1.749,0,0,1,.194.856v.13H12.016Z" style="fill:#f6f6f6"/><path d="M29.18,17.2a1.605,1.605,0,0,0-.53,1.265v2.051a1.81,1.81,0,0,1-.683,1.557,2.8,2.8,0,0,1-1.654.549l-.373,0V21.594a1.241,1.241,0,0,0,.595-.334,1.369,1.369,0,0,0,.419-1.047V18.556a2.545,2.545,0,0,1,.257-1.323,2.5,2.5,0,0,1,1.2-.838,2.528,2.528,0,0,1-1.324-1.179,2.956,2.956,0,0,1-.135-1.165V12.533a1.458,1.458,0,0,0-.366-1.054,1.152,1.152,0,0,0-.648-.314v-.96c.445,0,.669,0,.928,0a1.676,1.676,0,0,1,1.023.442,2,2,0,0,1,.673,1.009,2.33,2.33,0,0,1,.086.7v1.757a1.846,1.846,0,0,0,.5,1.383,2.113,2.113,0,0,0,.854.479v.794a1.943,1.943,0,0,0-.82.426Z" style="fill:#f6f6f6;stroke:#404040;stroke-miterlimit:10;stroke-width:0.25px"/><path d="M5.594,10.206H5.26a1.673,1.673,0,0,0-1.023.442,1.71,1.71,0,0,0-.673,1.009,3.531,3.531,0,0,0-.038.7v1.757A1.867,1.867,0,0,1,2.981,15.5,2.847,2.847,0,0,1,2,15.977v.793a2.552,2.552,0,0,1,.947.426,1.638,1.638,0,0,1,.577,1.265v2.051A1.781,1.781,0,0,0,4.16,22.07a2.8,2.8,0,0,0,1.654.55l.421,0V21.594a1.47,1.47,0,0,1-.643-.334,1.355,1.355,0,0,1-.371-1.047V18.557a2.516,2.516,0,0,0-.305-1.323,2.5,2.5,0,0,0-1.2-.838,2.529,2.529,0,0,0,1.324-1.178,2.857,2.857,0,0,0,.183-1.165V12.534A1.462,1.462,0,0,1,5.54,11.48a1.313,1.313,0,0,1,.575-.271l.428,0V10.206H5.594Z" style="fill:#f6f6f6;stroke:#404040;stroke-miterlimit:10;stroke-width:0.25px"/><path d="M9.537,18.529h-.32c-.348,0-.479-.183-.479-.551V11.219a1.256,1.256,0,0,0-.268-.856c-.15-.164-.411-.162-.783-.162H6.964l-.085,0v8.106a1.875,1.875,0,0,0,.352,1.24,1.441,1.441,0,0,0,1.145.393,7.859,7.859,0,0,0,1.269-.118,2.23,2.23,0,0,0,.036-.509,2.278,2.278,0,0,0-.142-.782Z" style="fill:#f6f6f6"/>`,
"Liquid": `<path d="M29.988,22.372l-.748.048a5.209,5.209,0,0,1-2.99-.671,7.8,7.8,0,0,0-7.8,0,5.275,5.275,0,0,1-5.3.01A7.262,7.262,0,0,0,9.263,20.7a7.229,7.229,0,0,0-3.94,1.06,4.751,4.751,0,0,1-2.47.7l-.838,0c0,.889-.009,1.739-.015,2.515l.861,0a7.237,7.237,0,0,0,3.75-1.052,4.763,4.763,0,0,1,2.659-.7,4.835,4.835,0,0,1,2.634.718,7.794,7.794,0,0,0,7.8,0,5.287,5.287,0,0,1,5.319,0,7.709,7.709,0,0,0,4.4.989L30,24.888C29.995,24.1,29.991,23.249,29.988,22.372Z" style="fill:#004999"/><path d="M29.983,15.581l-.743.047a5.226,5.226,0,0,1-2.99-.671,7.8,7.8,0,0,0-7.8,0,5.278,5.278,0,0,1-5.3.01A7.312,7.312,0,0,0,9.263,13.91a7.3,7.3,0,0,0-3.941,1.06,4.742,4.742,0,0,1-2.469.7l-.828,0c0,.849,0,1.693,0,2.515l.84,0a7.237,7.237,0,0,0,3.75-1.052,4.7,4.7,0,0,1,2.659-.7,4.8,4.8,0,0,1,2.634.718,7.794,7.794,0,0,0,7.8,0,5.287,5.287,0,0,1,5.319,0,7.709,7.709,0,0,0,4.4.989l.568-.037C29.983,17.269,29.983,16.424,29.983,15.581Z" style="fill:#004999"/><path d="M29.24,9.137a5.254,5.254,0,0,1-2.99-.671,7.8,7.8,0,0,0-7.8,0,5.275,5.275,0,0,1-5.3.009A7.16,7.16,0,0,0,9.263,7.42a7.159,7.159,0,0,0-3.94,1.059,4.738,4.738,0,0,1-2.469.7l-.834,0c0,.82,0,1.664,0,2.517l.836,0a7.237,7.237,0,0,0,3.75-1.052,4.738,4.738,0,0,1,2.659-.706,4.814,4.814,0,0,1,2.634.719,7.791,7.791,0,0,0,7.8,0,5.293,5.293,0,0,1,5.319,0,7.732,7.732,0,0,0,4.4.988l.568-.037c0-.859,0-1.7.007-2.516Z" style="fill:#004999"/>`,
"Lisp": `<defs><linearGradient id="a" x1="1925.785" y1="-1383.075" x2="2302.351" y2="-1868.557" gradientTransform="matrix(0.048, 0, 0, -0.045, -82.539, -54.65)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#8381c5"/><stop offset="0.566" stop-color="#7e55b3" stop-opacity="0.996"/><stop offset="1" stop-color="#a52ecb" stop-opacity="0.992"/></linearGradient><linearGradient id="b" x1="2214.187" y1="-1750.225" x2="1930.974" y2="-1408.342" gradientTransform="matrix(0.054, 0, 0, -0.054, -95.188, -68.487)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#411f5d"/><stop offset="1" stop-color="#5b2a85"/></linearGradient></defs><title>file_type_emacs</title><path d="M29.363,16A13.364,13.364,0,1,1,16,2.5,13.432,13.432,0,0,1,29.363,16Z" style="stroke-width:0.75px;fill:url(#a);stroke:url(#b)"/><path d="M11.406,25.483a18.157,18.157,0,0,0,2.587-.048,41.728,41.728,0,0,0,4.5-.639,30.671,30.671,0,0,0,3.132-.839c1.142-.421,1.764-.778,2.043-1.284a.62.62,0,0,0-.441-.692c-1.347-.565-2.908-.463-6-.528-3.427-.118-4.567-.691-5.174-1.153-.582-.469-.29-1.765,2.206-2.907a54.266,54.266,0,0,1,6.184-1.73c-1.659-.82-4.753-2.262-5.389-2.573-.558-.273-1.451-.684-1.644-1.182-.219-.478.518-.889.93-1.007a20.3,20.3,0,0,1,4.9-.647,4.308,4.308,0,0,0,1-.069A1.767,1.767,0,0,0,21.879,7.9a2.775,2.775,0,0,0-3.286-1.81C17.22,6.338,13.908,7.3,13.908,7.3c4.093-.035,4.779.033,5.085.461.181.253-.082.6-1.174.777-1.189.194-3.659.428-3.659.428-2.37.141-4.04.15-4.54,1.21-.327.693.349,1.3.645,1.688a12.728,12.728,0,0,0,4.225,2.7c.438.208,1.723.6,1.723.6a11.52,11.52,0,0,0-8.1,2.287c-1.807,1.672-1.008,3.665,2.695,4.891a12.755,12.755,0,0,0,6.534.772c1.922-.1,2.224-.042,2.244.116.027.222-2.134.773-2.724.944-1.5.433-5.436,1.307-5.456,1.312Z" style="fill:#fff"/>`,
"LiveScript": `<polygon points="5.504 2.007 8.986 2 8.986 21.746 10.759 19.987 10.759 3.755 12.497 3.755 12.497 18.24 14.253 16.487 14.253 3.755 15.997 3.755 15.997 14.729 17.735 12.962 17.735 3.755 19.461 3.755 19.461 11.225 21.245 9.461 21.245 3.755 22.972 3.755 22.972 7.723 24.738 5.975 24.739 3.755 26.483 3.755 26.483 5.482 28.209 5.482 28.209 7.267 25.911 7.268 24.184 8.993 28.209 8.993 28.209 10.719 22.438 10.719 20.698 12.504 28.209 12.504 28.209 14.23 18.961 14.23 17.205 16.014 28.209 16.014 28.209 17.741 15.455 17.741 13.715 19.496 28.209 19.496 28.209 21.252 11.98 21.252 10.242 22.978 29.982 22.978 29.989 26.489 8.986 26.489 8.986 30 5.504 30 5.504 26.489 2.011 26.489 2.011 22.978 5.504 22.978 5.503 2 5.504 2.007" style="fill:#317eac"/>`,
"Log file": `<path d="M29.4,27.6H2.5V4.5H29.4Zm-25.9-1H28.4V5.5H3.5Z" style="fill:#00bd02"/><rect x="2.5" y="5.5" width="26.9" height="1.9" style="fill:#00bd02"/><rect x="11.333" y="9.5" width="8.167" height="1" style="fill:#00bd02"/><rect x="11.333" y="12.083" width="12.5" height="1" style="fill:#00bd02"/><rect x="11.333" y="14.75" width="10.617" height="1" style="fill:#00bd02"/><rect x="11.333" y="17.583" width="14.167" height="1" style="fill:#00bd02"/><rect x="11.333" y="20.5" width="9.834" height="1" style="fill:#00bd02"/><rect x="11.5" y="23.083" width="12.167" height="1" style="fill:#00bd02"/><rect x="5.5" y="9.5" width="4.333" height="1" style="fill:#00bd02"/><rect x="5.5" y="12.083" width="4.333" height="1" style="fill:#00bd02"/><rect x="5.5" y="12.083" width="4.333" height="1" style="fill:#00bd02"/><rect x="5.5" y="14.667" width="4.333" height="1" style="fill:#00bd02"/><rect x="5.5" y="17.25" width="4.333" height="1" style="fill:#00bd02"/><rect x="5.5" y="20.5" width="4.333" height="1" style="fill:#00bd02"/><rect x="5.5" y="23.083" width="4.333" height="1" style="fill:#00bd02"/>`,
"LOLCODE": `<path d="M21.3,3.73a3.94,3.94,0,0,1,1.041-.62,8.435,8.435,0,0,1,.556,3.385,24.865,24.865,0,0,1-.643,5.019c-.368-.18-.736-.364-1.1-.554a11.754,11.754,0,0,0,.273-3.747,3.08,3.08,0,0,0-.255-.865,5.142,5.142,0,0,0-2.016,2.07c-.319-.24-.652-.459-.985-.676A15.716,15.716,0,0,1,21.3,3.73Z" style="fill:#ededed"/><path d="M19.451,8.6a4.574,4.574,0,0,1,1.509-1.563,6.685,6.685,0,0,1,.09,2.671C20.517,9.343,19.975,8.987,19.451,8.6Z" style="fill:#ededed"/><path d="M16.461,10.076c-.038-1.134-.031-2.269-.026-3.4-.9.493-1.758,1.071-2.648,1.589-.453.27-.908.536-1.36.808.224-.163.457-.312.69-.462-.861-1.224-1.971-2.5-3.53-2.748a10.964,10.964,0,0,0-.365,5.147c.318-.195.633-.4.962-.572-.474.319-.964.615-1.446.92-.957.6-1.922,1.192-2.892,1.777a1.232,1.232,0,0,0-.391.32c-.1,1.395-.34,4.392-.34,4.392-.254,3.668-.522,7.336-.826,11,4.062.343,8.118.742,12.179,1.076C16.458,23.3,16.472,16.69,16.461,10.076Z" style="fill:#ededed"/><path d="M21.1,2.977A5.884,5.884,0,0,1,22.706,2a10.064,10.064,0,0,1,.772,4.606,24.591,24.591,0,0,1-.508,4.459c1.2.846,2.433,1.645,3.618,2.509q.44,6.38.907,12.758c.066.839.094,1.68.216,2.513-3.029.279-6.057.591-9.085.886a19.137,19.137,0,0,0-2.158.27v-.083c-.01-6.614,0-13.227-.007-19.841-.038-1.134-.031-2.269-.026-3.4v-.1c.406.292.826.562,1.243.839A16.274,16.274,0,0,1,21.1,2.977Zm.2.752a15.716,15.716,0,0,0-3.128,4.011c.334.217.666.437.985.676a5.142,5.142,0,0,1,2.016-2.07,3.08,3.08,0,0,1,.255.865,11.754,11.754,0,0,1-.273,3.747c.364.19.731.374,1.1.554a24.865,24.865,0,0,0,.643-5.019,8.435,8.435,0,0,0-.556-3.385A3.94,3.94,0,0,0,21.3,3.73ZM19.451,8.6c.524.383,1.066.739,1.6,1.108a6.685,6.685,0,0,0-.09-2.671A4.574,4.574,0,0,0,19.451,8.6Z" style="fill:#8d2701"/><path d="M9.219,5.062a3.581,3.581,0,0,1,2.205.748A12.9,12.9,0,0,1,13.788,8.26c-.453.27-.908.536-1.36.808.224-.163.457-.312.69-.462-.861-1.224-1.971-2.5-3.53-2.748a10.964,10.964,0,0,0-.365,5.147c.318-.195.633-.4.962-.572-.474.319-.964.615-1.446.92A14.1,14.1,0,0,1,9.219,5.062Z" style="fill:#8d2701"/><path d="M10.507,8.476a2.455,2.455,0,0,1,1.517.88l-.36.2A2.69,2.69,0,0,0,10.739,9a3.318,3.318,0,0,0-.165,1.281l-.344.11A7.021,7.021,0,0,1,10.507,8.476Z" style="fill:#8d2701"/><path d="M12.139,10.693a.487.487,0,0,1,.542.01,1.552,1.552,0,0,1,.062.6c-.039.784.024,1.573-.076,2.354a1.013,1.013,0,0,1-1.012.886c-.233-.05-.278-.341-.278-.541,0-.675.1-1.347.066-2.024A1.3,1.3,0,0,1,12.139,10.693Zm.15,1.084a.891.891,0,0,0,.251-.866C12.218,11.061,11.9,11.507,12.289,11.777Z" style="fill:#8d2701"/><path d="M14.5,13.728a17.671,17.671,0,0,1,1.928-.822c-.024.064-.069.191-.092.255-.649.358-1.36.6-2.021.938a12.118,12.118,0,0,0-3.238,2.248A7.2,7.2,0,0,1,10,17.381a4.166,4.166,0,0,1,.98-1.246A12.727,12.727,0,0,1,14.5,13.728Z" style="fill:#8d2701"/><path d="M7.628,13.231a.989.989,0,0,1,.594-.152,18.114,18.114,0,0,1-.1,2.654.713.713,0,0,1-.892.658,21.1,21.1,0,0,1,.082-2.226A1.383,1.383,0,0,1,7.628,13.231Zm.179.831c.268-.112.319-.413.412-.654C7.82,13.312,7.775,13.783,7.807,14.062Z" style="fill:#8d2701"/><path d="M10.823,17.094a13.934,13.934,0,0,1,4.612-1.968c-.01.068-.029.206-.039.274a14.273,14.273,0,0,0-4.475,1.914,2.626,2.626,0,0,1-.681.343C10.3,17.356,10.6,17.249,10.823,17.094Z" style="fill:#8d2701"/><path d="M5.264,17.59A5.144,5.144,0,0,1,8,17.1a1.5,1.5,0,0,1,1.142.665A6.854,6.854,0,0,0,7.6,17.278a6.967,6.967,0,0,0-2.484.564Z" style="fill:#8d2701"/><path d="M10.578,17.725a9.59,9.59,0,0,1,3.61-.566c.24.021.321.2.313.424a3.238,3.238,0,0,0-1.956-.09,21.688,21.688,0,0,0-2.557.658C9.995,17.829,10.345,17.809,10.578,17.725Z" style="fill:#8d2701"/><path d="M9.268,17.676c.149-.176.533-.332.664-.062a1.3,1.3,0,0,1-.516.993C9.268,18.337,8.973,17.952,9.268,17.676Z" style="fill:#8d2701"/><path d="M5.744,18.629a5.9,5.9,0,0,1,3.182-.618c-.182.235-.493.178-.751.208a5.663,5.663,0,0,0-1.72.33c-.344.128-.665.31-1.02.409A.6.6,0,0,1,5.744,18.629Z" style="fill:#8d2701"/><path d="M6.9,19.114a9.676,9.676,0,0,1,2.2-.854c-.1.3-.441.338-.7.444a7.839,7.839,0,0,0-2.564,1.415C5.938,19.584,6.488,19.369,6.9,19.114Z" style="fill:#8d2701"/><path d="M11.635,19.7a3.11,3.11,0,0,0,1.91-1.383c.347-.1.273.275.26.494a2.056,2.056,0,0,1-.95,1.036,12.365,12.365,0,0,1-1.827,6.419A2.342,2.342,0,0,1,8.879,27.5a2.251,2.251,0,0,1-1.535-1.49,10.894,10.894,0,0,1-.69-4.665c-.157-.112-.369-.179-.46-.362-.13-.2.011-.425.047-.631.19.151.345.392.606.42a3.617,3.617,0,0,0,1.863-.4,1.588,1.588,0,0,0,.709-.662,3.881,3.881,0,0,0,.431.266A4.28,4.28,0,0,0,11.635,19.7Zm-2.2.835a4.132,4.132,0,0,1-2.462.809,11.049,11.049,0,0,0,.358,3.526,3.226,3.226,0,0,1,.9-1.282,2.055,2.055,0,0,1,2.3-.2,2.3,2.3,0,0,1,.884,1.172,14.659,14.659,0,0,0,1.005-4.489A5.167,5.167,0,0,1,9.435,20.532Zm-.329,3.26a2.273,2.273,0,0,0-1.5,1.434c-.123.269.1.517.225.738.331.462.795,1,1.431.893a2.868,2.868,0,0,0,1.769-1.6A1.6,1.6,0,0,0,9.106,23.792Z" style="fill:#8d2701"/>`,
"Lua": `<path d="M16.5,30l-.011-.321c.4-.014.8-.045,1.19-.094l.039.319C17.312,29.952,16.9,29.984,16.5,30Zm-1.222-.011c-.4-.021-.814-.061-1.216-.118l.045-.318c.393.055.793.094,1.188.115ZM18.92,29.7l-.067-.314c.387-.083.776-.184,1.155-.3l.094.307C19.714,29.511,19.316,29.615,18.92,29.7Zm-6.063-.053c-.4-.091-.791-.2-1.177-.326l.1-.306c.377.122.764.23,1.15.319Zm8.4-.665-.121-.3c.364-.148.728-.314,1.08-.493l.006,0,.145.286,0,0C22,28.661,21.626,28.831,21.253,28.982Zm-10.718-.088c-.374-.158-.745-.335-1.1-.524l.15-.284c.35.186.713.358,1.078.512Zm12.893-1.021-.17-.273c.337-.21.668-.437.984-.675l.193.257C24.111,27.425,23.772,27.658,23.428,27.873ZM8.379,27.751c-.341-.22-.676-.459-1-.708l.2-.253c.312.243.64.476.972.691Zm17-1.346-.215-.239c.294-.265.58-.546.851-.836l.235.219C25.972,25.846,25.679,26.134,25.378,26.4ZM6.454,26.252c-.3-.276-.585-.569-.856-.87l.239-.215c.265.294.547.58.836.85ZM27.041,24.62l-.253-.2c.244-.312.476-.639.692-.972l.27.175C27.529,23.966,27.29,24.3,27.041,24.62ZM4.82,24.439c-.244-.324-.476-.662-.692-1.007l.272-.17c.21.337.438.668.676.984Zm23.547-1.867-.284-.151c.186-.35.358-.713.513-1.078l.3.125C28.735,21.843,28.558,22.214,28.368,22.572Zm-24.841-.2-.006-.012c-.183-.359-.352-.728-.5-1.1l.3-.121c.147.362.312.724.491,1.074l.006.012ZM29.32,20.325l-.306-.1c.122-.377.23-.764.319-1.15l.313.072C29.555,19.543,29.446,19.939,29.32,20.325ZM2.608,20.107c-.12-.388-.223-.786-.308-1.182l.314-.067c.083.387.184.776.3,1.155ZM29.87,17.946l-.318-.045c.056-.393.094-.793.115-1.188l.321.017C29.967,17.135,29.927,17.544,29.87,17.946ZM2.1,17.72c-.05-.4-.082-.812-.1-1.218l.321-.011c.014.4.046.8.094,1.19Zm27.582-2.2c-.014-.4-.045-.8-.093-1.19l.319-.039c.049.4.082.813.1,1.218ZM2.331,15.3,2.01,15.28c.021-.405.061-.814.117-1.216l.318.045C2.39,14.5,2.352,14.9,2.331,15.3Zm27.057-2.144c-.083-.387-.184-.776-.3-1.155L29.4,11.9c.119.388.223.786.307,1.183ZM2.663,12.934l-.313-.072c.091-.4.2-.791.326-1.177l.306.1C2.859,12.161,2.752,12.548,2.663,12.934Zm26.026-2.062c-.149-.366-.315-.732-.5-1.086l.286-.146c.185.363.355.736.507,1.111ZM3.4,10.665l-.3-.125c.158-.374.334-.745.524-1.1l.284.15C3.724,9.937,3.552,10.3,3.4,10.665ZM4.513,8.557l-.27-.174c.22-.341.458-.676.707-1l.254.2C4.961,7.9,4.728,8.224,4.513,8.557ZM5.977,6.676l-.235-.219c.276-.3.569-.585.87-.857l.215.239C6.533,6.1,6.247,6.386,5.977,6.676Zm1.77-1.6-.193-.257c.323-.244.662-.477,1.007-.692l.17.272C8.394,4.614,8.063,4.841,7.747,5.079Zm15.705-.558-.018-.012.175-.27.018.011Zm-1.047-.616c-.35-.186-.713-.358-1.078-.512l.125-.3c.374.158.745.334,1.1.524ZM9.769,3.815l-.146-.286.018-.009c.356-.181.724-.349,1.093-.5l.121.3c-.361.147-.72.311-1.068.488Zm10.44-.838c-.377-.122-.764-.229-1.151-.317l.072-.313c.4.091.792.2,1.178.325Zm-8.229-.06-.094-.307c.388-.119.786-.223,1.182-.308l.067.314C12.747,2.7,12.359,2.8,11.98,2.917Zm5.9-.473c-.393-.055-.793-.092-1.188-.113l.016-.321c.405.021.814.059,1.216.115Zm-3.572-.026-.04-.319c.4-.05.812-.083,1.218-.1l.012.321C15.106,2.337,14.705,2.369,14.312,2.418Z" style="fill:gray"/><circle cx="16" cy="15.998" r="10.708" style="fill:navy"/><circle cx="20.435" cy="11.562" r="3.136" style="fill:#fff"/><circle cx="26.708" cy="5.29" r="3.137" style="fill:navy"/><path d="M13.1,21.352v-.79H9.629V14.326h-.9v7.026H13.1" style="fill:#fff"/><path d="M17.916,21.352V16.3h-.8v2.785c0,1.031-.54,1.706-1.378,1.706A.95.95,0,0,1,14.7,19.8V16.3h-.8v3.817c0,.838.626,1.378,1.609,1.378a1.863,1.863,0,0,0,1.687-.925v.781h.723" style="fill:#fff"/><path d="M23.791,21.333v-.607a.664.664,0,0,1-.173.019c-.279,0-.434-.145-.434-.4V17.536c0-.9-.655-1.378-1.9-1.378-1.224,0-1.976.472-2.024,1.638h.81c.067-.617.434-.9,1.185-.9.723,0,1.128.27,1.128.752v.212c0,.337-.2.482-.838.559a5.763,5.763,0,0,0-1.619.308,1.327,1.327,0,0,0-.887,1.311c0,.916.636,1.455,1.658,1.455a2.363,2.363,0,0,0,1.715-.742.855.855,0,0,0,.829.665,1.967,1.967,0,0,0,.549-.087m-1.407-1.725a1.366,1.366,0,0,1-1.513,1.185c-.626,0-.993-.222-.993-.771,0-.53.357-.761,1.214-.887a4,4,0,0,0,1.291-.279v.752" style="fill:#fff"/>`,
"Markdown": `<rect x="2.5" y="7.955" width="27" height="16.091" style="fill:none;stroke:#755838"/><polygon points="5.909 20.636 5.909 11.364 8.636 11.364 11.364 14.773 14.091 11.364 16.818 11.364 16.818 20.636 14.091 20.636 14.091 15.318 11.364 18.727 8.636 15.318 8.636 20.636 5.909 20.636" style="fill:#755838"/><polygon points="22.955 20.636 18.864 16.136 21.591 16.136 21.591 11.364 24.318 11.364 24.318 16.136 27.045 16.136 22.955 20.636" style="fill:#755838"/>`,
"MATLAB": `<defs><linearGradient id="a" x1="16.803" y1="16.631" x2="15.013" y2="22.411" gradientTransform="matrix(1, 0, 0, -1, 0, 32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#512"/><stop offset="0.23" stop-color="#523"/><stop offset="0.36" stop-color="#534"/><stop offset="0.51" stop-color="#645"/><stop offset="0.66" stop-color="#568"/><stop offset="0.84" stop-color="#29d"/></linearGradient><linearGradient id="b" x1="29.71" y1="18.983" x2="11.71" y2="14.563" gradientUnits="userSpaceOnUse"><stop offset="0.081" stop-color="#c33"/><stop offset="0.189" stop-color="#de5239"/><stop offset="0.313" stop-color="#f06e3e"/><stop offset="0.421" stop-color="#fa8042"/><stop offset="0.5" stop-color="#fe8643"/><stop offset="0.58" stop-color="#fa7f42"/><stop offset="0.696" stop-color="#ef6c3e"/><stop offset="0.833" stop-color="#dc4c37"/><stop offset="0.916" stop-color="#cf3633"/></linearGradient></defs><title>file_type_matlab</title><path d="M2,17.55l7.97-3.22a20.7,20.7,0,0,1,2.72-2.95c.66-.35,1.9-.16,4.17-2.98,2.2-2.75,2.9-5.1,3.93-5.1,1.63,0,2.83,3.52,4.65,8.85A115.629,115.629,0,0,0,30,24.12c-1.9-1.77-3.52-3.68-5.37-3.63-1.72.04-3.63,2.08-5.72,4.7-1.66,2.1-3.86,3.54-4.72,3.51,0,0-2.22-6.28-4.08-7.3a2.641,2.641,0,0,0-2.39.2L2,17.54Z" style="fill:#49d"/><path d="M19.8,4.02c-.67.9-1.48,2.55-2.94,4.38-2.27,2.82-3.5,2.63-4.17,2.98a19.674,19.674,0,0,0-2.72,2.95l3.3,2.41c2.8-3.82,4.3-7.96,5.47-10.64A13.579,13.579,0,0,1,19.8,4.02Z" style="fill:url(#a)"/><path d="M20.8,3.3c-2.18,0-3.67,11.48-11.72,17.89,2.26-.37,4.22,5.24,5.12,7.51,4-.68,7.2-8.33,10.43-8.21,1.85.07,3.47,1.86,5.37,3.63C25.66,15,23.63,3.3,20.8,3.3Z" style="fill:url(#b)"/>`,
"MAXScript": `<path d="M14.4,7.568,20.212,2H7.273L4.848,7.536l9.557.032ZM4.848,7.536l6.844,2.6L14.4,7.568m-.013,3.622-2.7-1.053L5.263,16.1l6.286,5.823,2.808-1.1L14.4,7.568m0,0,12.8,8.376L20.212,2M27.2,15.944,14.391,11.19m-.035,9.636-.032,3.685M20.228,30l-8.679-8.073L4.8,24.464,7.257,30Zm0,0L27.2,15.944,14.325,24.512M27.2,15.944,14.357,20.826" style="fill:none;stroke:#1d1d1b;stroke-miterlimit:22.92558479309082;stroke-width:0.028349999338388443px"/><polygon points="14.391 11.19 27.2 15.944 14.405 7.568 14.391 11.19 14.391 11.19" style="fill:#181b17;fill-rule:evenodd"/><polygon points="27.2 15.944 14.357 20.826 14.325 24.509 14.326 24.511 27.2 15.944 27.2 15.944" style="fill:#1a1d1a;fill-rule:evenodd"/><polygon points="14.405 7.568 27.2 15.944 20.212 2 14.405 7.568 14.405 7.568" style="fill:#005f5e;fill-rule:evenodd"/><polygon points="27.2 15.944 14.326 24.511 20.228 30 27.2 15.944 27.2 15.944" style="fill:#004242;fill-rule:evenodd"/><polygon points="14.357 20.826 27.2 15.944 14.391 11.19 14.357 20.826 14.357 20.826" style="fill:#005152;fill-rule:evenodd"/><polygon points="14.357 20.826 14.391 11.19 11.692 10.137 5.263 16.104 11.549 21.927 14.357 20.826 14.357 20.826" style="fill:#00696b;fill-rule:evenodd"/><polygon points="11.692 10.137 14.391 11.19 14.405 7.568 11.692 10.137 11.692 10.137" style="fill:#1b2725;fill-rule:evenodd"/><polygon points="14.357 20.826 11.549 21.927 14.325 24.509 14.357 20.826 14.357 20.826" style="fill:#1c2624;fill-rule:evenodd"/><polygon points="14.325 24.512 4.8 24.464 7.257 30 20.228 30 14.326 24.511 14.325 24.512 14.325 24.512" style="fill:#006466;fill-rule:evenodd"/><polygon points="4.848 7.536 14.405 7.568 20.212 2 7.273 2 4.848 7.536 4.848 7.536" style="fill:#00767a;fill-rule:evenodd"/><polygon points="14.405 7.568 4.848 7.536 11.692 10.137 14.405 7.568 14.405 7.568" style="fill:#1e3938;fill-rule:evenodd"/><polygon points="11.549 21.927 4.8 24.464 14.325 24.512 14.325 24.509 11.549 21.927 11.549 21.927" style="fill:#20302e;fill-rule:evenodd"/>`,
"MEL": `<defs><linearGradient id="a" x1="-611.348" y1="-67.488" x2="-600.272" y2="-65.335" gradientTransform="matrix(1.437, 0, 0, -1.437, 894.417, -82.292)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#0f6067"/><stop offset="0.5" stop-color="#05abac"/><stop offset="1" stop-color="#58bec4"/></linearGradient><linearGradient id="b" x1="-603.594" y1="-77.699" x2="-602.011" y2="-59.604" gradientTransform="matrix(1.437, 0, 0, -1.437, 894.417, -82.292)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#117c83"/><stop offset="0.5" stop-color="#21b5b5"/><stop offset="1" stop-color="#7ed4d4"/></linearGradient><linearGradient id="c" x1="-612.757" y1="-59.906" x2="-616.934" y2="-72.76" gradientTransform="matrix(1.437, 0, 0, -1.437, 894.417, -82.292)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#9accd3"/><stop offset="0.5" stop-color="#72aeb3"/><stop offset="1" stop-color="#317d7f"/></linearGradient><linearGradient id="d" x1="-621.851" y1="-74.579" x2="-614.84" y2="-72.301" gradientTransform="matrix(1.437, 0, 0, -1.437, 894.417, -82.292)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#21626e"/><stop offset="0.5" stop-color="#157c84"/><stop offset="1" stop-color="#03a3a5"/></linearGradient><linearGradient id="e" x1="-616.369" y1="-64.469" x2="-625.34" y2="-72.835" gradientTransform="matrix(1.437, 0, 0, -1.437, 894.417, -82.292)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#0b7c81"/><stop offset="0.5" stop-color="#068d90"/><stop offset="1" stop-color="#16b1b1"/></linearGradient><linearGradient id="f" x1="-608.072" y1="-74.678" x2="-603.488" y2="-70.966" gradientTransform="matrix(1.437, 0, 0, -1.437, 894.417, -82.292)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#0a8a8f"/><stop offset="0.5" stop-color="#0f7c82"/><stop offset="1" stop-color="#1a5964"/></linearGradient><linearGradient id="g" x1="-601.134" y1="-70.113" x2="-606.008" y2="-67.067" gradientTransform="matrix(1.437, 0, 0, -1.437, 894.417, -82.292)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#256a77"/><stop offset="0.5" stop-color="#0d9499"/><stop offset="1" stop-color="#06a0a2"/></linearGradient></defs><title>file_type_maya</title><path d="M21.6,3.462H30L18.767,24.211s-1.893-5.5-2.706-7.459" style="fill:url(#a)"/><path d="M23.669,29.118H30V3.462C29.995,16.869,24.36,29.118,23.669,29.118Z" style="fill:url(#b)"/><path d="M18.767,24.211H13.541L2,3.462c2.047-.26,6.135-.611,8.16-.776Z" style="fill:url(#c)"/><path d="M8.693,16.019C6.96,22.866,1.995,29.32,2,29.314c5.752,0,6.991-.835,6.991-1.276V16.54C8.89,16.37,8.794,16.194,8.693,16.019Z" style="fill:url(#d)"/><path d="M2,3.462V29.314c3.147-5.2,4.981-8.6,6.6-13.45C4.6,8.794,2,3.462,2,3.462Z" style="fill:url(#e)"/><polyline points="23.233 28.102 23.669 29.118 23.669 15.647 23.233 16.375" style="fill:url(#f)"/><path d="M23.647,15.673v13.4l.016.043c.452,0,6.332-14.5,6.332-25.656C29.995,3.462,26.406,10.947,23.647,15.673Z" style="fill:url(#g)"/>`,
"MongoDB": `<defs><linearGradient id="a" x1="-645.732" y1="839.188" x2="-654.59" y2="839.25" gradientTransform="matrix(-0.977, -0.323, -0.29, 0.877, -375.944, -928.287)" gradientUnits="userSpaceOnUse"><stop offset="0.231" stop-color="#999875"/><stop offset="0.563" stop-color="#9b9977"/><stop offset="0.683" stop-color="#a09f7e"/><stop offset="0.768" stop-color="#a9a889"/><stop offset="0.837" stop-color="#b7b69a"/><stop offset="0.896" stop-color="#c9c7b0"/><stop offset="0.948" stop-color="#deddcb"/><stop offset="0.994" stop-color="#f8f6eb"/><stop offset="1" stop-color="#fbf9ef"/></linearGradient><linearGradient id="b" x1="-644.287" y1="823.405" x2="-657.028" y2="845.476" gradientTransform="matrix(-0.977, -0.323, -0.29, 0.877, -375.944, -928.287)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#48a547"/><stop offset="1" stop-color="#3f9143"/></linearGradient><linearGradient id="c" x1="-643.386" y1="839.485" x2="-652.418" y2="833.417" gradientTransform="matrix(-0.977, -0.323, -0.29, 0.877, -375.944, -928.287)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#41a247"/><stop offset="0.352" stop-color="#4ba74b"/><stop offset="0.956" stop-color="#67b554"/><stop offset="1" stop-color="#69b655"/></linearGradient></defs><title>file_type_mongo</title><path d="M16.62,30l-.751-.249s.1-3.8-1.275-4.067c-.9-1.048.133-44.741,3.423-.149a2.712,2.712,0,0,0-1.333,1.523A14.1,14.1,0,0,0,16.62,30Z" style="fill:url(#a)"/><path d="M17.026,26.329a13.223,13.223,0,0,0,5-13.225C20.556,6.619,17.075,4.487,16.7,3.673a9.792,9.792,0,0,1-.825-1.6l.277,18.069S15.578,25.664,17.026,26.329Z" style="fill:url(#b)"/><path d="M15.487,26.569S9.366,22.4,9.72,15.025A15.54,15.54,0,0,1,15.239,3.377,1.725,1.725,0,0,0,15.846,2c.381.82.319,12.243.359,13.579C16.36,20.776,15.916,25.588,15.487,26.569Z" style="fill:url(#c)"/>`,
"nginx": `<path d="M15.948,2h.065a10.418,10.418,0,0,1,.972.528Q22.414,5.65,27.843,8.774a.792.792,0,0,1,.414.788c-.008,4.389,0,8.777-.005,13.164a.813.813,0,0,1-.356.507q-5.773,3.324-11.547,6.644a.587.587,0,0,1-.657.037Q9.912,26.6,4.143,23.274a.7.7,0,0,1-.4-.666q0-6.582,0-13.163a.693.693,0,0,1,.387-.67Q9.552,5.657,14.974,2.535c.322-.184.638-.379.974-.535" style="fill:#019639"/><path d="M8.767,10.538q0,5.429,0,10.859a1.509,1.509,0,0,0,.427,1.087,1.647,1.647,0,0,0,2.06.206,1.564,1.564,0,0,0,.685-1.293c0-2.62-.005-5.24,0-7.86q3.583,4.29,7.181,8.568a2.833,2.833,0,0,0,2.6.782,1.561,1.561,0,0,0,1.251-1.371q.008-5.541,0-11.081a1.582,1.582,0,0,0-3.152,0c0,2.662-.016,5.321,0,7.982-2.346-2.766-4.663-5.556-7-8.332A2.817,2.817,0,0,0,10.17,9.033,1.579,1.579,0,0,0,8.767,10.538Z" style="fill:#fff"/>`,
"Nim": `<path d="M16.111,6.405s-1.073.847-2.167,1.69a15.361,15.361,0,0,0-4.527.651c-1.1-.7-2.07-1.469-2.07-1.469S6.52,8.7,6,9.535a11.382,11.382,0,0,0-2.236,1.482C2.961,10.7,2.03,10.31,2,10.3c1.063,2.145,1.778,4.292,3.722,5.583,3.1-4.889,17.48-4.439,20.639-.028C28.4,14.787,29.2,12.5,30,10.38c-.088.029-1.181.395-1.889.665a11.489,11.489,0,0,0-1.986-1.51c-.537-.984-1.319-2.313-1.319-2.313s-.927.689-2,1.44a21.265,21.265,0,0,0-4.681-.512c-1-.826-2.014-1.746-2.014-1.746Z" style="fill:#f3d400"/><path d="M3.1,14.854l2.554,6.185c4.435,5.85,15.759,6.257,20.7.113,1.168-2.633,2.745-6.333,2.745-6.333a13.379,13.379,0,0,1-4.6,3.869,12.217,12.217,0,0,1-2.983.793l-5.465-2.832-5.5,2.775a15.679,15.679,0,0,1-2.983-.764A14.076,14.076,0,0,1,3.1,14.854Z" style="fill:#ffe953"/>`,
"Nix": `<path d="M13,11.115,6.183,23.76,4.59,20.87l1.839-3.387-3.651-.01L2,16.029l.8-1.477,5.2.018,1.868-3.447Z" style="fill:#7ebae4;fill-rule:evenodd"/><path d="M13.527,21.223h13.64l-1.541,2.922-3.658-.011,1.817,3.389-.779,1.449-1.593,0-2.584-4.825-3.722-.008Z" style="fill:#7ebae4;fill-rule:evenodd"/><path d="M21.467,15.682,14.647,3.037l3.134-.032L19.6,6.4l1.834-3.379h1.557L23.786,4.5,21.174,9.307l1.854,3.455Z" style="fill:#7ebae4;fill-rule:evenodd"/><path d="M10.542,16.324l6.821,12.645L14.229,29l-1.821-3.4-1.834,3.38H9.016l-.8-1.476L10.831,22.7,8.976,19.243Z" style="fill:#5277c3;fill-rule:evenodd"/><path d="M18.464,10.751H4.823L6.365,7.829l3.658.011L8.207,4.451,8.986,3l1.592,0,2.584,4.825,3.722.008Z" style="fill:#5277c3;fill-rule:evenodd"/><path d="M19,20.888,25.817,8.244l1.593,2.89L25.571,14.52l3.651.01L30,15.979l-.8,1.477-5.2-.018-1.868,3.447Z" style="fill:#5277c3;fill-rule:evenodd"/>`,
"NSIS": `<path d="M27.435,16.037,22.012,21.46l5.423,5.423" style="fill:#00577b"/><path d="M26.884,15.5H16.048l5.423,5.423" style="fill:#0079aa"/><path d="M26.884,14.712,21.461,9.289l-5.423,5.423" style="fill:#0096d3"/><path d="M20.528,9.131H9.683l5.423,5.423M27.435,3.325,22.012,8.748l5.423,5.423" style="fill:#01b0f0"/><path d="M20.528,8.356,15.105,2.933,9.683,8.356" style="fill:#27bcf3"/><path d="M14.172,2.775H3.327L8.749,8.2" style="fill:#4fc9f5"/><path d="M4.568,15.963,9.991,10.54,4.568,5.117" style="fill:#79201b"/><path d="M10.541,11.091,5.119,16.513H15.964" style="fill:#a42d26"/><path d="M5.119,17.288l5.423,5.423,5.423-5.423" style="fill:#cc382f"/><path d="M4.568,17.829V28.675l5.423-5.423L8.4,21.665m13.916,1.2L16.9,17.447l-5.423,5.423" style="fill:#f0453f"/><path d="M11.475,23.644,16.9,29.067l5.423-5.423" style="fill:#f2625d"/><path d="M17.84,29.225H28.685L23.263,23.8" style="fill:#f47f7d"/><path d="M29.889,29.337l-1.68-1.68V2.392a.374.374,0,0,0-.243-.355A.263.263,0,0,0,27.827,2a.359.359,0,0,0-.271.112L21.471,8.2,15.385,2.112,15.3,2.037h-.037A.307.307,0,0,0,15.105,2H2.4a.434.434,0,0,0-.289.112A.38.38,0,0,0,2,2.392a.359.359,0,0,0,.112.271l1.68,1.68V29.617a.374.374,0,0,0,.243.355A.387.387,0,0,0,4.185,30a.359.359,0,0,0,.271-.112L10.541,23.8l6.085,6.085.084.075h.037A.254.254,0,0,0,16.9,30H29.609a.395.395,0,0,0,.28-.663ZM27.435,3.325V14.171L22.012,8.748l5.423-5.423ZM9.991,10.54,4.568,15.963V5.117L9.991,10.54ZM9.683,9.131H20.528l-5.423,5.423L9.683,9.131Zm.859,1.96,5.423,5.423H5.119l5.423-5.423ZM16.9,17.447l5.423,5.423H11.475L16.9,17.447ZM16.048,15.5H26.893l-5.423,5.423L16.048,15.5Zm5.964,5.964,5.423-5.423V26.883L22.012,21.46Zm4.872-6.748H16.048l5.423-5.423,5.413,5.423ZM20.528,8.356H9.683l5.423-5.423,5.423,5.423ZM3.327,2.775H14.172L8.749,8.2Zm1.241,25.9V17.829L8.4,21.665l1.587,1.587L4.568,28.675Zm.551-11.387H15.964l-5.423,5.423L5.119,17.288ZM16.9,29.067l-5.423-5.423H22.32L16.9,29.067Zm.943.159L23.263,23.8l5.423,5.423Z" style="fill:#464049"/>`,
"Object Pascal": `<defs><linearGradient id="a" x1="16" y1="-0.443" x2="16" y2="22.042" gradientUnits="userSpaceOnUse"><stop offset="0.021" stop-color="#ff0c15"/><stop offset="1" stop-color="#9a0c0f"/></linearGradient></defs><title>file_type_delphi</title><circle cx="16" cy="16" r="14" style="fill:url(#a)"/><path d="M27.545,16.243H4.924a.914.914,0,0,0-1.092.82q.033.429.1.849a12.4,12.4,0,0,0,24.532,0q.075-.5.108-1.021C28.478,16.523,28.211,16.207,27.545,16.243Z" style="fill:#ff6443"/><polyline points="18.48 11.64 23.707 7.266 19.787 5.88 16 11.053" style="fill:#fae7e3;fill-rule:evenodd"/><polyline points="15.68 11.026 18.64 5.88 14.853 5.88 13.307 11.293" style="fill:#fae7e3;fill-rule:evenodd"/><polyline points="13.04 11.373 13.6 6.706 10.587 7.96 11.013 12.76" style="fill:#fae7e3;fill-rule:evenodd"/><polyline points="10.747 13 9.787 8.76 7.707 10.84 9.653 14.68" style="fill:#fae7e3;fill-rule:evenodd"/><polyline points="9.387 15.053 7.493 12.376 6.64 14.466 9.04 16.517" style="fill:#fae7e3;fill-rule:evenodd"/><polyline points="9.04 16.757 6.64 15.213 6.48 17.4 9.2 18.333" style="fill:#fae7e3;fill-rule:evenodd"/><polyline points="9.227 18.846 6.64 18.04 7.227 19.8 9.547 19.8" style="fill:#fae7e3;fill-rule:evenodd"/><polyline points="9.707 20.093 7.707 20.386 8.627 21.746 10.267 21" style="fill:#fae7e3;fill-rule:evenodd"/><path d="M20.023,13.089a6.61,6.61,0,0,0-4.53-2A6.293,6.293,0,0,0,11.3,22.07l4.941.129-2.08-4.16Z" style="fill:#eee;fill-rule:evenodd"/><path d="M16.5,22.366l-5.267-.138-.044-.039a6.453,6.453,0,0,1,4.3-11.264,6.787,6.787,0,0,1,4.643,2.05l.123.123-5.9,4.982Zm-5.14-.455,4.616.121L13.961,18l5.825-4.919a6.43,6.43,0,0,0-4.292-1.835,6.133,6.133,0,0,0-4.131,10.667Z" style="fill:#ee4b2e"/><path d="M12.013,20.493c-4.173-5.813,2.109-8.172,2.478-8.453.451-.344-7.59,1.785-3.226,8.88Z" style="fill:#f04e31;fill-rule:evenodd"/><polygon points="20.72 12.6 13.52 17.567 13.733 18.573 21.467 17.026 20.72 12.6" style="fill:#eee;fill-rule:evenodd"/><path d="M13.61,18.761,13.341,17.5l7.495-5.17.814,4.828Zm.089-1.123.158.747L21.283,16.9,20.6,12.874Z" style="fill:#ee4b2e"/><path d="M15.723,21.319c-3.93-.668-4.283.428-4.283.428L10.267,24.44s1.12-.907,5.493,0l.76-1.388Z" style="fill:#dd0c13;fill-rule:evenodd"/><path d="M14.122,21.6c-.02-.2-1.1-.319-1.677-.123-.732.249-1.219,1.142-1.045,1.213a1.975,1.975,0,0,1,1.125-.986C13.447,21.493,14.142,21.8,14.122,21.6Z" style="fill:#ff6e4f;fill-rule:evenodd"/><path d="M15.52,18.606a11.1,11.1,0,0,0,1.547,1.487,6.9,6.9,0,0,1,2.72,4.107c-.107,1.067-1.973,1.76-1.973,1.76l-3.307-7.194Z" style="fill:#eee;fill-rule:evenodd"/><path d="M17.73,26.161l-3.457-7.521,1.32-.208.057.081a10.869,10.869,0,0,0,1.512,1.451,7,7,0,0,1,2.782,4.207l0,.022,0,.022c-.115,1.153-2,1.864-2.077,1.894Zm-2.99-7.27,3.155,6.863c.414-.178,1.63-.763,1.73-1.548a6.793,6.793,0,0,0-2.648-3.981l-.01-.007a11.94,11.94,0,0,1-1.517-1.439Z" style="fill:#ee4b2e"/><path d="M28,12.742c.025.394.034.792.025,1.194a13.946,13.946,0,0,1-19.9,12.3A12.86,12.86,0,0,0,28,12.742Z" style="fill:#eae0df;fill-rule:evenodd;opacity:0.2"/><path d="M2.383,13.893A13.941,13.941,0,0,1,25.7,5.83s-5.009,5.979-10.584,7.907S2.383,13.893,2.383,13.893Z" style="fill:#eae0df;opacity:0.2"/><path d="M3.618,18.694c-.044-.392-.072-.79-.083-1.191C3.329,9.807,10.012,4.2,17.708,3.991a14.2,14.2,0,0,1,5.719,1.458,13.128,13.128,0,0,0-7.188-2.369c-7.1.19-13.306,5.3-13.116,12.4A12.873,12.873,0,0,0,3.618,18.694Z" style="fill:#eae0df;fill-rule:evenodd;opacity:0.2"/>`,
"Objective-C": `<path d="M11.29,15.976a8.892,8.892,0,0,0,1.039,4.557,4.818,4.818,0,0,0,5.579,2.13,3.789,3.789,0,0,0,2.734-3.181c.095-.535.1-.54.1-.54,1.537.222,4.014.582,5.55.8l-.1.389A9.958,9.958,0,0,1,23.8,24.9a8.35,8.35,0,0,1-4.747,2.378,12.925,12.925,0,0,1-7.322-.725,8.98,8.98,0,0,1-5.106-5.524A14.353,14.353,0,0,1,6.642,10.9a9.323,9.323,0,0,1,7.929-6.24,11.812,11.812,0,0,1,5.9.491,8.467,8.467,0,0,1,5.456,6.1c.083.311.1.369.1.369-1.709.311-3.821.705-5.518,1.075C20.186,11,19.387,9.666,17.678,9.25a4.656,4.656,0,0,0-5.853,3.158,9.28,9.28,0,0,0-.341,1.273A10.89,10.89,0,0,0,11.29,15.976Z" style="fill:#c2c2c2"/><polygon points="2.033 30 2.033 2 7.967 2 7.967 4.227 4.723 4.227 4.723 27.773 7.967 27.773 7.967 30 2.033 30" style="fill:#c2c2c2"/><polygon points="29.967 29.999 24.033 29.999 24.033 27.771 27.277 27.771 27.277 4.226 24.033 4.226 24.033 1.999 29.967 1.999 29.967 29.999" style="fill:#c2c2c2"/>`,
"OCaml": `<defs><linearGradient id="a" x1="-745.623" y1="-92.76" x2="-745.623" y2="-85.108" gradientTransform="translate(758 113.28)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f29104"/><stop offset="1" stop-color="#ec6813"/></linearGradient><linearGradient id="b" x1="-741.99" y1="-109.477" x2="-741.99" y2="-85.099" xlink:href="#a"/><linearGradient id="c" x1="-752.111" y1="-93.918" x2="-752.111" y2="-85.284" xlink:href="#a"/></defs><title>file_type_ocaml</title><path d="M16.571,25.246a4.28,4.28,0,0,0-.039-.709c-.059-.2-.2-.217-.3-.374a3.507,3.507,0,0,1-.532-1.477c-.02-.453-.2-.886-.217-1.339-.02-.217.02-.453,0-.669a1.963,1.963,0,0,0-.039-.315,1.133,1.133,0,0,0-.039-.2l.059-.138a2.72,2.72,0,0,1,.65-.039c.256,0,.512.02.768.02a7.961,7.961,0,0,0,1.536-.059,3.722,3.722,0,0,0,1.949-.847,4.946,4.946,0,0,0,1.536-2.008c.177-.394.177-1.083.551-1.4.433-.374,1.181-.335,1.693-.571a1.187,1.187,0,0,1,.807-.138c.217.039.63.315.729-.059-.079-.039-.1-.138-.138-.177.414-.039,0-1-.158-1.2A2.225,2.225,0,0,0,24.25,13a3.509,3.509,0,0,0-1.536-.217c-.886.177-.827-.335-1.339-.335-.63,0-1.733.039-1.93.63a1.54,1.54,0,0,1-.335.512c-.138.177.02.354-.039.571-.079.217-.177.985-.276,1.26-.177.453-.394,1.024-.788,1.024a3.152,3.152,0,0,1-1.437-.079c-.276-.1-.729-.256-.945-.335-1.024-.433-1.2-.906-1.2-.906a3.026,3.026,0,0,1-.512-.866c-.118-.414-.315-.768-.394-1s-.3-.591-.453-.985a2.667,2.667,0,0,0-.709-1.063c-.315-.276-.61-.729-1.26-.591a1.641,1.641,0,0,0-.866.315c-.217.177-.3.571-.492.886-.118.177-.315.709-.512,1.162a1.929,1.929,0,0,1-.335.65c-.118.079-.256.2-.414.138a.924.924,0,0,1-.315-.2,5.334,5.334,0,0,1-.709-1.122,11.1,11.1,0,0,0-.788-1.241,1.016,1.016,0,0,0-.985-.551c-1.024,0-1.1.571-1.556,1.418a5.574,5.574,0,0,1-.669,1.4c-.236.256-.945,1.339-1.457,1.516H2v7.62c.039-.1.059-.2.1-.276.2-.414.65-.807.906-1.221a3.5,3.5,0,0,0,.374-.709,3.743,3.743,0,0,1,.236-.709.794.794,0,0,1,.571-.335c.354-.059.65.492,1.083.709.2.079,1.063.394,1.319.453.433.1.906.2,1.339.276.236.039.453.079.709.1a7.3,7.3,0,0,1,1.083.1,2.277,2.277,0,0,0-.807,1.221c-.158.433-.276.925-.473,1.339-.217.473-.669.669-.61,1.221a2.668,2.668,0,0,1,.02.689,4.009,4.009,0,0,1-.217.689c-.1.315-.217,1.359-.354,1.674l.906-.118h0A10.692,10.692,0,0,0,8.4,26.388a3.737,3.737,0,0,1,.729-1.28c.335-.374.315-.847.512-1.3a12.488,12.488,0,0,1,.768-1.3c.492-.807.807-1.812,1.851-2.028a3.3,3.3,0,0,1,1.024.709,4.452,4.452,0,0,1,.886,1.1,12.851,12.851,0,0,1,.886,2.678,1.227,1.227,0,0,0,.394.709,5.462,5.462,0,0,1,.433.729c.079.177.2.571.3.788a6.267,6.267,0,0,1,.315.827l.847-.02h.02v-.02A9.754,9.754,0,0,1,16.571,25.246Z" style="fill:#fff"/><path d="M16.217,27.235c-.1-.2-.217-.61-.3-.788a5.462,5.462,0,0,0-.433-.729,1.119,1.119,0,0,1-.394-.709,12.487,12.487,0,0,0-.886-2.678,4.452,4.452,0,0,0-.886-1.1,3.3,3.3,0,0,0-1.024-.709c-1.044.2-1.359,1.221-1.851,2.028a12.488,12.488,0,0,0-.768,1.3c-.2.433-.177.925-.512,1.3a3.443,3.443,0,0,0-.729,1.28c-.039.1-.118,1.083-.217,1.319h0l1.536-.1c1.437.1,1.024.65,3.249.532l3.525-.118h0A6.267,6.267,0,0,0,16.217,27.235Z" style="fill:url(#a)"/><path d="M26.456,3.8H5.544A3.521,3.521,0,0,0,2.02,7.328v7.679h0c.512-.177,1.221-1.26,1.457-1.516a5.913,5.913,0,0,0,.669-1.4c.453-.827.532-1.418,1.556-1.418a1.016,1.016,0,0,1,.985.551,9.547,9.547,0,0,1,.788,1.241,4.849,4.849,0,0,0,.709,1.122,2,2,0,0,0,.315.2c.158.059.3-.059.414-.138A1.929,1.929,0,0,0,9.246,13c.2-.453.394-.965.512-1.162.2-.315.276-.709.492-.886a1.59,1.59,0,0,1,.866-.315c.65-.138.945.315,1.26.591a3.285,3.285,0,0,1,.709,1.063c.158.394.354.768.453.985a8.946,8.946,0,0,1,.394,1,3.713,3.713,0,0,0,.512.866s.177.473,1.2.906a8.749,8.749,0,0,0,.945.335,3.152,3.152,0,0,0,1.437.079c.394,0,.61-.571.788-1.024.1-.276.217-1.044.276-1.26s-.1-.374.039-.571c.158-.217.256-.236.335-.512.2-.61,1.3-.63,1.93-.63.532,0,.453.512,1.339.335a3.243,3.243,0,0,1,1.536.217,2.225,2.225,0,0,1,1.142.551c.158.2.571,1.162.158,1.2.039.039.079.138.138.177-.1.374-.492.1-.729.059a1.187,1.187,0,0,0-.807.138c-.512.217-1.241.2-1.693.571-.374.315-.374,1-.551,1.4a5.167,5.167,0,0,1-1.536,2.008,3.9,3.9,0,0,1-1.949.847,7.961,7.961,0,0,1-1.536.059c-.256-.02-.512-.02-.768-.02-.158,0-.669-.02-.65.039l-.059.138a.7.7,0,0,0,.039.2c.02.118.02.217.039.315,0,.217-.02.453,0,.669.02.453.2.866.217,1.339a3.26,3.26,0,0,0,.532,1.477c.1.158.236.177.3.374a4.163,4.163,0,0,1,.039.709,9.685,9.685,0,0,0,.827,2.757v.02h0c.512-.079,1.044-.276,1.713-.374,1.241-.177,2.954-.1,4.056-.2,2.8-.256,4.312,1.142,6.813.571V7.328A3.551,3.551,0,0,0,26.456,3.8ZM16.02,20.343Z" style="fill:url(#b)"/><path d="M8.478,23.573c.2-.433.315-.906.473-1.339a2.277,2.277,0,0,1,.807-1.221,7.3,7.3,0,0,0-1.083-.1c-.236-.02-.473-.059-.709-.1-.433-.079-.925-.177-1.339-.276-.256-.059-1.142-.374-1.319-.453-.453-.2-.748-.768-1.083-.709a.794.794,0,0,0-.571.335,3.743,3.743,0,0,0-.236.709c-.1.236-.256.473-.374.709a12.289,12.289,0,0,0-.925,1.2c-.039.1-.059.2-.1.3v4.745a5.4,5.4,0,0,1,.729.158,8.77,8.77,0,0,0,4.371.354l.177-.02h0c.138-.315.256-1.359.354-1.674a5.494,5.494,0,0,0,.217-.689,2.668,2.668,0,0,0-.02-.689C7.809,24.242,8.262,24.045,8.478,23.573Z" style="fill:url(#c)"/>`,
"OpenCL": `<defs><linearGradient id="a" x1="29.662" y1="18.026" x2="21.419" y2="20.234" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="red"/><stop offset="1" stop-color="#ff6a6a"/></linearGradient><linearGradient id="b" x1="24.588" y1="9.748" x2="18.776" y2="15.56" xlink:href="#a"/><linearGradient id="c" x1="18.466" y1="6.619" x2="15.924" y2="13.603" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#cfa40c"/><stop offset="1" stop-color="#edd480"/></linearGradient><linearGradient id="d" x1="13.17" y1="6.51" x2="13.17" y2="12.997" xlink:href="#c"/><linearGradient id="e" x1="8.808" y1="8.486" x2="10.988" y2="13.161" xlink:href="#c"/><linearGradient id="f" x1="5.505" y1="11.477" x2="8.546" y2="14.519" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#11a119"/><stop offset="1" stop-color="#37ae3d"/></linearGradient><linearGradient id="g" x1="3.639" y1="14.285" x2="6.883" y2="16.158" xlink:href="#f"/><linearGradient id="h" x1="2.265" y1="17.799" x2="5.379" y2="18.933" xlink:href="#f"/><linearGradient id="i" x1="2" y1="21.614" x2="4.833" y2="21.614" xlink:href="#f"/><linearGradient id="j" x1="20.662" y1="18.949" x2="18.026" y2="17.428" gradientUnits="userSpaceOnUse"><stop offset="0.5" stop-color="#646464"/><stop offset="1" stop-color="#cbcbcb"/></linearGradient><linearGradient id="k" x1="16.021" y1="25.264" x2="16.021" y2="22.691" xlink:href="#j"/></defs><title>file_type_opencl</title><path d="M27.828,13.574a14.676,14.676,0,0,1,.835,1.542A14.964,14.964,0,0,1,29.92,22.9H22.133a10.377,10.377,0,0,0-.967-4.424Z" style="fill:url(#a)"/><path d="M17.753,14.43a10.074,10.074,0,0,1,2.772,2.878l6.273-5.2a15.54,15.54,0,0,0-4.988-4.15Z" style="fill:url(#b)"/><path d="M14.781,13.086a8.827,8.827,0,0,1,2.376.966L20.666,7.43a12.7,12.7,0,0,0-4.645-.952Z" style="fill:url(#c)"/><path d="M14.364,13l.612-6.488a12.46,12.46,0,0,0-3.611.813l.507,5.638A7.219,7.219,0,0,1,14.364,13" style="fill:url(#d)"/><path d="M10.948,13.179l-.683-5.373A14.588,14.588,0,0,0,7.773,9.379l1.74,4.42a7.518,7.518,0,0,1,1.435-.619" style="fill:url(#e)"/><path d="M8.86,14.206,6.474,10.511c-.453.44-.79.82-1.006,1.074q-.227.267-.436.538L7.48,15.387a8.87,8.87,0,0,1,1.38-1.182" style="fill:url(#f)"/><path d="M7.046,15.875,4.335,13.112a14.259,14.259,0,0,0-1.25,2.429l3.007,1.71a9.826,9.826,0,0,1,.954-1.376" style="fill:url(#g)"/><path d="M5.527,18.393l-2.77-1.945a15.452,15.452,0,0,0-.63,2.83l2.906.607a10.343,10.343,0,0,1,.494-1.492" style="fill:url(#h)"/><path d="M4.833,20.9a10.684,10.684,0,0,0-.1,2H2.093a14.333,14.333,0,0,1-.064-2.573Z" style="fill:url(#i)"/><path d="M22.551,12.478,14.751,23.1A1.544,1.544,0,0,1,17.5,24.428Z" style="fill:url(#j)"/><path d="M16.021,25.522a1.544,1.544,0,1,1,1.092-.452A1.533,1.533,0,0,1,16.021,25.522Z" style="fill:#646464"/><path d="M17.308,23.978a1.287,1.287,0,1,1-.377-.91A1.283,1.283,0,0,1,17.308,23.978Z" style="fill:url(#k)"/>`,
"Pascal": `<defs><linearGradient id="a" x1="16" y1="-0.443" x2="16" y2="22.042" gradientUnits="userSpaceOnUse"><stop offset="0.021" stop-color="#ff0c15"/><stop offset="1" stop-color="#9a0c0f"/></linearGradient></defs><title>file_type_delphi</title><circle cx="16" cy="16" r="14" style="fill:url(#a)"/><path d="M27.545,16.243H4.924a.914.914,0,0,0-1.092.82q.033.429.1.849a12.4,12.4,0,0,0,24.532,0q.075-.5.108-1.021C28.478,16.523,28.211,16.207,27.545,16.243Z" style="fill:#ff6443"/><polyline points="18.48 11.64 23.707 7.266 19.787 5.88 16 11.053" style="fill:#fae7e3;fill-rule:evenodd"/><polyline points="15.68 11.026 18.64 5.88 14.853 5.88 13.307 11.293" style="fill:#fae7e3;fill-rule:evenodd"/><polyline points="13.04 11.373 13.6 6.706 10.587 7.96 11.013 12.76" style="fill:#fae7e3;fill-rule:evenodd"/><polyline points="10.747 13 9.787 8.76 7.707 10.84 9.653 14.68" style="fill:#fae7e3;fill-rule:evenodd"/><polyline points="9.387 15.053 7.493 12.376 6.64 14.466 9.04 16.517" style="fill:#fae7e3;fill-rule:evenodd"/><polyline points="9.04 16.757 6.64 15.213 6.48 17.4 9.2 18.333" style="fill:#fae7e3;fill-rule:evenodd"/><polyline points="9.227 18.846 6.64 18.04 7.227 19.8 9.547 19.8" style="fill:#fae7e3;fill-rule:evenodd"/><polyline points="9.707 20.093 7.707 20.386 8.627 21.746 10.267 21" style="fill:#fae7e3;fill-rule:evenodd"/><path d="M20.023,13.089a6.61,6.61,0,0,0-4.53-2A6.293,6.293,0,0,0,11.3,22.07l4.941.129-2.08-4.16Z" style="fill:#eee;fill-rule:evenodd"/><path d="M16.5,22.366l-5.267-.138-.044-.039a6.453,6.453,0,0,1,4.3-11.264,6.787,6.787,0,0,1,4.643,2.05l.123.123-5.9,4.982Zm-5.14-.455,4.616.121L13.961,18l5.825-4.919a6.43,6.43,0,0,0-4.292-1.835,6.133,6.133,0,0,0-4.131,10.667Z" style="fill:#ee4b2e"/><path d="M12.013,20.493c-4.173-5.813,2.109-8.172,2.478-8.453.451-.344-7.59,1.785-3.226,8.88Z" style="fill:#f04e31;fill-rule:evenodd"/><polygon points="20.72 12.6 13.52 17.567 13.733 18.573 21.467 17.026 20.72 12.6" style="fill:#eee;fill-rule:evenodd"/><path d="M13.61,18.761,13.341,17.5l7.495-5.17.814,4.828Zm.089-1.123.158.747L21.283,16.9,20.6,12.874Z" style="fill:#ee4b2e"/><path d="M15.723,21.319c-3.93-.668-4.283.428-4.283.428L10.267,24.44s1.12-.907,5.493,0l.76-1.388Z" style="fill:#dd0c13;fill-rule:evenodd"/><path d="M14.122,21.6c-.02-.2-1.1-.319-1.677-.123-.732.249-1.219,1.142-1.045,1.213a1.975,1.975,0,0,1,1.125-.986C13.447,21.493,14.142,21.8,14.122,21.6Z" style="fill:#ff6e4f;fill-rule:evenodd"/><path d="M15.52,18.606a11.1,11.1,0,0,0,1.547,1.487,6.9,6.9,0,0,1,2.72,4.107c-.107,1.067-1.973,1.76-1.973,1.76l-3.307-7.194Z" style="fill:#eee;fill-rule:evenodd"/><path d="M17.73,26.161l-3.457-7.521,1.32-.208.057.081a10.869,10.869,0,0,0,1.512,1.451,7,7,0,0,1,2.782,4.207l0,.022,0,.022c-.115,1.153-2,1.864-2.077,1.894Zm-2.99-7.27,3.155,6.863c.414-.178,1.63-.763,1.73-1.548a6.793,6.793,0,0,0-2.648-3.981l-.01-.007a11.94,11.94,0,0,1-1.517-1.439Z" style="fill:#ee4b2e"/><path d="M28,12.742c.025.394.034.792.025,1.194a13.946,13.946,0,0,1-19.9,12.3A12.86,12.86,0,0,0,28,12.742Z" style="fill:#eae0df;fill-rule:evenodd;opacity:0.2"/><path d="M2.383,13.893A13.941,13.941,0,0,1,25.7,5.83s-5.009,5.979-10.584,7.907S2.383,13.893,2.383,13.893Z" style="fill:#eae0df;opacity:0.2"/><path d="M3.618,18.694c-.044-.392-.072-.79-.083-1.191C3.329,9.807,10.012,4.2,17.708,3.991a14.2,14.2,0,0,1,5.719,1.458,13.128,13.128,0,0,0-7.188-2.369c-7.1.19-13.306,5.3-13.116,12.4A12.873,12.873,0,0,0,3.618,18.694Z" style="fill:#eae0df;fill-rule:evenodd;opacity:0.2"/>`,
"Perl": `<path d="M29.25,13.8a6.888,6.888,0,0,0-.742-2.268,1.011,1.011,0,0,0-.172-.233,9.471,9.471,0,0,1-1.725-2.4,8.632,8.632,0,0,0-1.395-2.382A6.906,6.906,0,0,1,24.1,4.644,4.572,4.572,0,0,0,21.99,1.727a1.009,1.009,0,0,0-.1-.054,8.886,8.886,0,0,0-1.3-.468,1.022,1.022,0,0,0-.263-.035,1.009,1.009,0,0,0-.2.021,5.607,5.607,0,0,1-.807.107c-.05,0-.1-.006-.149-.006a2.842,2.842,0,0,0-1.416.453c-.094.052-.188.106-.284.149q-.041.018-.078.039A1.637,1.637,0,0,1,17.066,2a3.109,3.109,0,0,0-.772.194,1,1,0,0,0-.508.483,2.184,2.184,0,0,1-.469.5A4.382,4.382,0,0,0,14.555,4a.964.964,0,0,0-.116.234,4.687,4.687,0,0,1-1.574,2.2,6.471,6.471,0,0,0-.8.613,2.734,2.734,0,0,0-.627-1.634c-.017-.019-.035-.038-.053-.056l0-.014a2.378,2.378,0,0,0-.135-.586,1,1,0,0,0-.132-.236A5.167,5.167,0,0,0,9.511,3.113a.988.988,0,0,0-.346-.119,1.5,1.5,0,0,1-.148-.077,2.06,2.06,0,0,0-1-.311,1.476,1.476,0,0,0-.681.166.987.987,0,0,0-.274.206,1.328,1.328,0,0,1-.125.063,1.9,1.9,0,0,0-.908.778,2.539,2.539,0,0,0-.541.106,1.656,1.656,0,0,1-.383.057,2.3,2.3,0,0,0-1.5.545l-.106.1a2.533,2.533,0,0,0-1,2.525,1.08,1.08,0,0,0,.068.165A2.294,2.294,0,0,0,4.446,8.478c-.1.238-.2.473-.314.7a1.009,1.009,0,0,0-.087.293A11.052,11.052,0,0,0,4,12.039c0,.02,0,.04.007.06a5.278,5.278,0,0,1,.041.547,2.926,2.926,0,0,0,.931,2.4c.017.014.034.026.052.039l.008.031a2.8,2.8,0,0,0,.151.447,1.185,1.185,0,0,0,.632.617,1.289,1.289,0,0,0,.248.571,1,1,0,0,0,.332.279,2.453,2.453,0,0,0,.465.176l.064.018a.976.976,0,0,0,.192.171A5.879,5.879,0,0,1,7.873,18a1.13,1.13,0,0,0,1.351.427,1.5,1.5,0,0,0,.765.215,1.421,1.421,0,0,0,.624-.145l.114-.026c.024.408.033.817.028,1.223a1.043,1.043,0,0,0,.026.242,10.744,10.744,0,0,1,.266,1.828.931.931,0,0,0,.031.2,8.492,8.492,0,0,1,.268,1.815c0,.031,0,.063.008.094a6.083,6.083,0,0,1-.61,3.575.994.994,0,0,0-.089.261,1.093,1.093,0,0,0-.234.079l-.05.022a2.013,2.013,0,0,0-1.2,1.065,1.322,1.322,0,0,0,.074,1.054,1,1,0,0,0,.324.371,3.547,3.547,0,0,0,3.509.3,1.546,1.546,0,0,0,.829-1.653l-.005-.067a.989.989,0,0,0,.056-.158,11.186,11.186,0,0,0,.288-2.068,8.939,8.939,0,0,1,.259-1.822,4.727,4.727,0,0,0,.389-1.588l.042.048a12.661,12.661,0,0,0,1.255,1.129,10.3,10.3,0,0,1,1.1.989l-.011.038a.532.532,0,0,1-.342.359l-.049.017a1.921,1.921,0,0,0-1.184,1.334,1.313,1.313,0,0,0,.452,1.234,1,1,0,0,0,.441.222,4.908,4.908,0,0,0,2.735-.181,1.556,1.556,0,0,0,.266-.124,1.411,1.411,0,0,0,.97.372,2.326,2.326,0,0,0,1-.274c.049-.023.1-.045.14-.062a1,1,0,0,0,.637-.864,4.553,4.553,0,0,0-.468-2.343,1.56,1.56,0,0,0-.51-.6,10.8,10.8,0,0,1,1.3-2.15,2.193,2.193,0,0,0,.451-2.026,2.519,2.519,0,0,1-.043-.394,1.046,1.046,0,0,0,0-.148,5.756,5.756,0,0,1,.012-1.279,7.161,7.161,0,0,0,.951,1.793,7.892,7.892,0,0,1,.133,1.1,10.733,10.733,0,0,0,.133,1.186,9.36,9.36,0,0,1-.224,3.9,1,1,0,0,0-.032.34h0a.98.98,0,0,0-.1.179,2.238,2.238,0,0,0-.312,1.235,1.007,1.007,0,0,0,.039.2,1.315,1.315,0,0,0,1.328.963c.086,0,.177-.006.268-.014l.019,0,.038.013a2.109,2.109,0,0,0,2.517-1.088,1,1,0,0,0,.058-.735,5.285,5.285,0,0,1-.208-1.027,1.011,1.011,0,0,0-.046-.217,6.47,6.47,0,0,1-.221-3.22,1.112,1.112,0,0,0,.015-.114,3.907,3.907,0,0,1,.074-.443,2.738,2.738,0,0,0-.193-2.1,4.339,4.339,0,0,1,.021-.476c.011-.147.023-.3.027-.463a1.59,1.59,0,0,0,.862-.851,12.83,12.83,0,0,0,.947-2.23,1.719,1.719,0,0,0,.172-1.185,1.234,1.234,0,0,0,.111-.251A1.467,1.467,0,0,0,29.25,13.8ZM18.863,22.768c-.026,0-.053-.008-.08-.01l-.024,0a2.748,2.748,0,0,1-.236-.323c-.059-.088-.118-.175-.178-.258a2.253,2.253,0,0,0,.208-.234,1.255,1.255,0,0,0,.629-.321A3.186,3.186,0,0,1,18.863,22.768Z" style="fill:#ededed"/><path d="M19.289,2.3c-.548-.065-.961.3-1.419.506-.368.206-.815.152-1.185.309-.282.579-.941.908-1.3,1.443a5.7,5.7,0,0,1-1.942,2.694,5.464,5.464,0,0,0-2.368,3.394c-.145.3-.122.746-.277,1-.511.143-.239-.516-.3-.825-.074-.47.341-.77.373-1.226a1.834,1.834,0,0,0,.209-1.053c-.056-.814.189-1.807-.393-2.477-.349-.2-.239-.623-.366-.947a4.214,4.214,0,0,0-1.3-1.139c-.419-.041-.806-.542-1.232-.323-.266.309-.763.305-.922.713-.1.516-.688.374-1.068.5-.488.185-1.118.006-1.518.382-.411.41-1.034.961-.835,1.606.457.882,1.645.438,2.317.974A17.99,17.99,0,0,1,5.036,9.61a10.051,10.051,0,0,0-.044,2.332c.123.773-.083,1.772.606,2.319.38.137.357.572.5.887.134.29.427-.113.543.193.338.184.037.561.22.8.263.137.639.128.822.426a6.844,6.844,0,0,1,.975.806c.23.467.531-.454.783-.109.17.285.506.522.819.285a2.993,2.993,0,0,0,1.324-.556,18.033,18.033,0,0,1,.171,2.718,11.733,11.733,0,0,1,.29,2,9.409,9.409,0,0,1,.3,2.03,7.111,7.111,0,0,1-.709,4.16,1.012,1.012,0,0,1-.807.8c-.291.13-.9.366-.692.776a2.549,2.549,0,0,0,2.52.214c.51-.243.073-.858.334-1.226.343-1.3.174-2.691.575-3.985a3.762,3.762,0,0,0,.3-2.1c.079-.44-.105-.969.187-1.329a1.813,1.813,0,0,1,.483-1.2,14.762,14.762,0,0,0,.144-2.026,3.214,3.214,0,0,1,1.267-.127c.018.375-.272.812-.19,1.234A1.948,1.948,0,0,1,15.5,20.3a2.849,2.849,0,0,0,.168,2.308c.782.839,1.8,1.432,2.536,2.327.314.205.2.517.038.784a1.528,1.528,0,0,1-.987,1.034c-.308.121-.806.566-.442.882a3.906,3.906,0,0,0,2.178-.144c.476-.171.3-.738.488-1.088.3.233.423.765.711,1.069.3.433.807.073,1.156-.062a3.549,3.549,0,0,0-.372-1.842c-.167-.378-.8-.385-.77-.852a11.761,11.761,0,0,1,1.712-3c.51-.479.13-1.191.158-1.8A6.765,6.765,0,0,1,23.158,15.5a15.889,15.889,0,0,0,.692,2.14,6.23,6.23,0,0,0,1.1,2.246c.237.811.176,1.71.331,2.551a10.44,10.44,0,0,1-.242,4.347c.04.518-.457.9-.415,1.408.14.469.7.093.99.29a1.11,1.11,0,0,0,1.324-.572,6.212,6.212,0,0,1-.247-1.223,7.454,7.454,0,0,1-.255-3.719c.046-.669.457-1.5-.073-2.072-.148-.619.1-1.285-.049-1.915a12.877,12.877,0,0,1-.122-4.933c.093-.227.013-.649.247-.775a1.851,1.851,0,0,1,.315,1.232,3.7,3.7,0,0,1,.079,2.081c-.424.531-.163,1.248-.109,1.85.068.422.516.118.589-.144a11.851,11.851,0,0,0,.944-2.241c.269-.356.014-.77,0-1.142.413-.049.256-.506.035-.7a5.93,5.93,0,0,0-.667-2.2,10.464,10.464,0,0,1-1.941-2.723c-.528-1.639-2.042-2.726-2.556-4.379a3.556,3.556,0,0,0-1.652-2.317A7.881,7.881,0,0,0,20.32,2.17,6.5,6.5,0,0,1,19.289,2.3Zm.4,14.66a38.907,38.907,0,0,1,.5,4.291,4.175,4.175,0,0,1-.76,2.517c-.12.425-.486.012-.751-.016-.643-.018-.882-.683-1.232-1.107-.36-.344-.1-.8.133-1.131.252-.179.35-.579.708-.548.4-.007.316-.487.26-.743.238-.362.092-.892.328-1.283.419-.182.294-.82.442-1.18.115-.256.017-.749.334-.854.037-.006.049.012.042.052Z" style="fill:#3a3c5b"/>`,
"PHP": `<defs><radialGradient id="a" cx="-16.114" cy="20.532" r="18.384" gradientTransform="translate(26.52 -9.307)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="0.5" stop-color="#4c6b96"/><stop offset="1" stop-color="#231f20"/></radialGradient></defs><title>file_type_php</title><ellipse cx="16" cy="16" rx="14" ry="7.365" style="fill:url(#a)"/><ellipse cx="16" cy="16" rx="13.453" ry="6.818" style="fill:#6280b6"/><path d="M18.725,18.2l.667-3.434a1.752,1.752,0,0,0-.372-1.719,2.929,2.929,0,0,0-2-.525H15.867l.331-1.7a.219.219,0,0,0-.215-.26h-1.6a.219.219,0,0,0-.215.177l-.709,3.646a2.051,2.051,0,0,0-.477-1.054,2.783,2.783,0,0,0-2.2-.807H7.7a.219.219,0,0,0-.215.177l-1.434,7.38a.219.219,0,0,0,.215.26H7.869a.219.219,0,0,0,.215-.177l.347-1.785h1.2a5.167,5.167,0,0,0,1.568-.2,3.068,3.068,0,0,0,1.15-.689,3.538,3.538,0,0,0,.68-.844l-.287,1.475a.219.219,0,0,0,.215.26h1.6a.219.219,0,0,0,.215-.177l.787-4.051h1.094c.466,0,.6.093.64.133s.1.165.025.569l-.635,3.265a.219.219,0,0,0,.215.26h1.62A.219.219,0,0,0,18.725,18.2ZM11.33,15.366a1.749,1.749,0,0,1-.561,1.092,2.171,2.171,0,0,1-1.315.321H8.742l.515-2.651h.921c.677,0,.949.145,1.059.266A1.181,1.181,0,0,1,11.33,15.366Z" style="fill:#fff"/><path d="M25.546,13.332a2.783,2.783,0,0,0-2.2-.807H20.255a.219.219,0,0,0-.215.177l-1.434,7.38a.219.219,0,0,0,.215.26h1.608a.219.219,0,0,0,.215-.177l.347-1.785h1.2a5.167,5.167,0,0,0,1.568-.2,3.068,3.068,0,0,0,1.15-.689,3.425,3.425,0,0,0,1.076-1.927A2.512,2.512,0,0,0,25.546,13.332Zm-1.667,2.034a1.749,1.749,0,0,1-.561,1.092A2.171,2.171,0,0,1,22,16.778H21.29l.515-2.651h.921c.677,0,.949.145,1.059.266A1.181,1.181,0,0,1,23.879,15.366Z" style="fill:#fff"/><path d="M10.178,13.908a1.645,1.645,0,0,1,1.221.338,1.34,1.34,0,0,1,.145,1.161,1.945,1.945,0,0,1-.642,1.223A2.361,2.361,0,0,1,9.454,17H8.476l.6-3.089ZM6.261,20.124H7.869l.381-1.962H9.627a4.931,4.931,0,0,0,1.5-.191,2.84,2.84,0,0,0,1.07-.642,3.207,3.207,0,0,0,1.01-1.808,2.3,2.3,0,0,0-.385-2.044,2.568,2.568,0,0,0-2.035-.732H7.7Z" style="fill:#000004"/><path d="M14.387,10.782h1.6L15.6,12.744h1.421a2.767,2.767,0,0,1,1.85.468,1.548,1.548,0,0,1,.305,1.516l-.667,3.434H16.89l.635-3.265a.886.886,0,0,0-.08-.76,1.121,1.121,0,0,0-.8-.2H15.37l-.822,4.228h-1.6Z" style="fill:#000004"/><path d="M22.727,13.908a1.645,1.645,0,0,1,1.221.338,1.34,1.34,0,0,1,.145,1.161,1.945,1.945,0,0,1-.642,1.223A2.361,2.361,0,0,1,22,17h-.978l.6-3.089ZM18.81,20.124h1.608l.381-1.962h1.377a4.931,4.931,0,0,0,1.5-.191,2.84,2.84,0,0,0,1.07-.642,3.207,3.207,0,0,0,1.01-1.808,2.3,2.3,0,0,0-.385-2.044,2.568,2.568,0,0,0-2.035-.732H20.244Z" style="fill:#000004"/>`,
"PL/SQL": `<path d="M8.562,15.256A21.159,21.159,0,0,0,16,16.449a21.159,21.159,0,0,0,7.438-1.194c1.864-.727,2.525-1.535,2.525-2V9.7a10.357,10.357,0,0,1-2.084,1.076A22.293,22.293,0,0,1,16,12.078a22.36,22.36,0,0,1-7.879-1.3A10.28,10.28,0,0,1,6.037,9.7v3.55C6.037,13.724,6.7,14.528,8.562,15.256Z" style="fill:red"/><path d="M8.562,21.961a15.611,15.611,0,0,0,2.6.741A24.9,24.9,0,0,0,16,23.155a24.9,24.9,0,0,0,4.838-.452,15.614,15.614,0,0,0,2.6-.741c1.864-.727,2.525-1.535,2.525-2v-3.39a10.706,10.706,0,0,1-1.692.825A23.49,23.49,0,0,1,16,18.74a23.49,23.49,0,0,1-8.271-1.348,10.829,10.829,0,0,1-1.692-.825V19.96C6.037,20.426,6.7,21.231,8.562,21.961Z" style="fill:red"/><path d="M16,30c5.5,0,9.963-1.744,9.963-3.894V23.269a10.5,10.5,0,0,1-1.535.762l-.157.063A23.487,23.487,0,0,1,16,25.445a23.422,23.422,0,0,1-8.271-1.351c-.054-.02-.106-.043-.157-.063a10.5,10.5,0,0,1-1.535-.762v2.837C6.037,28.256,10.5,30,16,30Z" style="fill:red"/><ellipse cx="16" cy="5.894" rx="9.963" ry="3.894" style="fill:red"/>`,
"Plain text": `<path d="M22.038,2H6.375a1.755,1.755,0,0,0-1.75,1.75v24.5A1.755,1.755,0,0,0,6.375,30h19.25a1.755,1.755,0,0,0,1.75-1.75V6.856Zm.525,2.844,1.663,1.531H22.563ZM6.375,28.25V3.75H20.813V8.125h4.813V28.25Z" style="fill:#c2c2c2"/><rect x="8.125" y="15.097" width="13.076" height="1.75" style="fill:#829ec2"/><rect x="8.125" y="24.439" width="9.762" height="1.75" style="fill:#829ec2"/><rect x="8.125" y="19.763" width="15.75" height="1.75" style="fill:#829ec2"/><rect x="8.125" y="10.23" width="15.75" height="1.75" style="fill:#829ec2"/>`,
"PlantUML": `<defs><linearGradient id="a" x1="-33.423" y1="-250.911" x2="-33.353" y2="-250.858" gradientTransform="matrix(37.134, 26.001, 13.575, -19.387, 4673.473, -3982.019)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#767676"/><stop offset="1"/></linearGradient><linearGradient id="b" x1="-32.107" y1="-242.563" x2="-32.028" y2="-242.586" gradientTransform="matrix(81.081, 56.774, 17.306, -24.715, 6804.021, -4149.644)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#0079b9"/><stop offset="1"/></linearGradient><linearGradient id="c" x1="-33.282" y1="-243.423" x2="-33.224" y2="-243.455" gradientTransform="matrix(60.003, 42.015, 34.184, -48.82, 10343.005, -10469.084)" xlink:href="#b"/><linearGradient id="d" x1="12.356" y1="26.268" x2="14.011" y2="26.268" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#595959"/><stop offset="0.087" stop-color="#6e6e6e"/><stop offset="0.242" stop-color="#8c8c8c"/><stop offset="0.405" stop-color="#a4a4a4"/><stop offset="0.577" stop-color="#b5b5b5"/><stop offset="0.765" stop-color="#bfbfbf"/><stop offset="1" stop-color="#c2c2c2"/></linearGradient><linearGradient id="e" x1="18.291" y1="26.171" x2="19.946" y2="26.171" xlink:href="#d"/><linearGradient id="f" x1="24.44" y1="26.171" x2="26.096" y2="26.171" xlink:href="#d"/></defs><title>file_type_plantuml</title><polygon points="20.305 17.872 27.16 22.418 21.72 25.493 14.861 20.999 20.305 17.872" style="fill:#1c0a42"/><path d="M21.716,25.619l-.055-.036-7.005-4.59,5.653-3.247,7.056,4.68Zm-6.65-4.613,6.658,4.362,5.231-2.957L20.3,18Z"/><polygon points="26.401 11.909 29.418 13.592 27.07 15.088 24.213 13.247 26.401 11.909" style="fill:url(#a)"/><path d="M27.069,15.215l-3.058-1.97,2.387-1.46,3.228,1.8Zm-2.654-1.966L27.07,14.96,29.208,13.6l-2.8-1.565Z"/><polygon points="14.498 17.807 21.354 22.354 15.914 25.429 9.055 20.935 14.498 17.807" style="fill:#ffbd3f"/><path d="M15.91,25.554l-.055-.036L8.85,20.929,14.5,17.681l7.056,4.68ZM9.26,20.941,15.918,25.3l5.231-2.957-6.654-4.413Z"/><polygon points="7.99 17.966 14.954 22.366 9.577 25.504 2.218 20.849 7.99 17.966" style="fill:#a11f40"/><path d="M9.575,25.629,2,20.838l6-3,7.164,4.527ZM2.436,20.86,9.58,25.378l5.168-3.016L7.984,18.089Z"/><polygon points="2.111 21.021 9.443 25.515 9.443 29.063 2.111 24.332 2.111 21.021" style="fill:url(#b)"/><path d="M9.55,29.26,2,24.391V20.829L9.55,25.455ZM2.218,24.274l7.118,4.592V25.575L2.218,21.213Z"/><polygon points="24.071 13.343 27.009 15.222 27.009 22.131 24.071 20.247 24.071 13.343" style="fill:url(#c)"/><path d="M27.063,22.229l-3.045-1.953V13.245l3.045,1.947Zm-2.938-2.012,2.831,1.815V15.251l-2.831-1.81Z"/><polygon points="27.149 22.526 27.149 15.194 29.514 13.775 29.514 29.149 28.331 29.149 9.646 29.149 9.646 25.601 15.086 22.526 15.785 25.601 15.796 25.601 21.472 22.526 21.891 25.601 21.945 25.601 27.149 22.526" style="fill:#fff"/><path d="M29.621,29.256H9.539V25.538l5.62-3.177.7,3.083,5.7-3.087.422,3.1,5.061-2.991V15.133l2.58-1.548ZM9.753,29.041H29.407V13.964l-2.151,1.29v7.332l-.053.031-5.229,3.09H21.8l-.411-3.014-5.564,3.014H15.7l-.686-3.018-5.26,2.973Z"/><rect x="12.356" y="25.44" width="1.656" height="1.656" rx="0.215" ry="0.215" style="fill:url(#d)"/><path d="M13.8,27.2H12.57a.322.322,0,0,1-.322-.322V25.655a.322.322,0,0,1,.322-.322H13.8a.322.322,0,0,1,.322.322v1.226A.322.322,0,0,1,13.8,27.2ZM12.57,25.547a.108.108,0,0,0-.107.107v1.226a.108.108,0,0,0,.107.107H13.8a.108.108,0,0,0,.107-.107V25.655a.108.108,0,0,0-.107-.107Z"/><rect x="18.291" y="25.343" width="1.656" height="1.656" rx="0.215" ry="0.215" style="fill:url(#e)"/><path d="M19.732,27.106H18.505a.322.322,0,0,1-.322-.322V25.558a.322.322,0,0,1,.322-.322h1.226a.322.322,0,0,1,.322.322v1.226A.322.322,0,0,1,19.732,27.106Zm-1.226-1.656a.108.108,0,0,0-.107.107v1.226a.108.108,0,0,0,.107.107h1.226a.108.108,0,0,0,.107-.107V25.558a.108.108,0,0,0-.107-.107Z"/><rect x="24.44" y="25.343" width="1.656" height="1.656" rx="0.215" ry="0.215" style="fill:url(#f)"/><path d="M25.881,27.106H24.655a.322.322,0,0,1-.322-.322V25.558a.322.322,0,0,1,.322-.322h1.226a.322.322,0,0,1,.322.322v1.226A.322.322,0,0,1,25.881,27.106Zm-1.226-1.656a.108.108,0,0,0-.107.107v1.226a.108.108,0,0,0,.107.107h1.226a.108.108,0,0,0,.107-.107V25.558a.108.108,0,0,0-.107-.107Z"/><path d="M27.215,11.23c-.052.069-.417-.262-.653-.526a4.408,4.408,0,0,1-.516-.73A2.6,2.6,0,0,1,25.7,9.2a2.358,2.358,0,0,1-.052-.682,2.959,2.959,0,0,1,.129-.749,3.142,3.142,0,0,1,.787-1.207,15.532,15.532,0,0,0,1.283-1.4,3.062,3.062,0,0,0,.479-.927,3.979,3.979,0,0,0,.151-.855c.019-.364-.025-.593.023-.613s.215.274.287.564a3.167,3.167,0,0,1-.458,2.1,6.9,6.9,0,0,1-1.094,1.448,2.8,2.8,0,0,0-.849,1.234A2.466,2.466,0,0,0,26.3,8.8a3.465,3.465,0,0,0,.476,1.542C27.064,10.914,27.256,11.175,27.215,11.23Z" style="fill:#ea2d2e"/><path d="M27.193,11.266c-.124,0-.492-.365-.651-.544a4.478,4.478,0,0,1-.52-.734,2.628,2.628,0,0,1-.346-.781,2.375,2.375,0,0,1-.053-.69,2.978,2.978,0,0,1,.13-.756,3.208,3.208,0,0,1,.793-1.216c.294-.331.5-.528.659-.686a4.393,4.393,0,0,0,.622-.711,3.052,3.052,0,0,0,.476-.919,3.951,3.951,0,0,0,.15-.849c.008-.159,0-.294,0-.393,0-.159-.006-.225.038-.243a.05.05,0,0,1,.043,0,1.226,1.226,0,0,1,.28.579,3.167,3.167,0,0,1-.46,2.121,6.928,6.928,0,0,1-1.1,1.453c-.055.06-.109.116-.162.171a2.3,2.3,0,0,0-.681,1.052,2.47,2.47,0,0,0-.082.673,3.458,3.458,0,0,0,.473,1.53c.114.231.215.415.289.549.129.235.178.323.142.369h0a.051.051,0,0,1-.04.02ZM28.512,2.8a.863.863,0,0,0,0,.19c0,.1.007.236,0,.4a4.021,4.021,0,0,1-.152.861,3.106,3.106,0,0,1-.483.934,4.437,4.437,0,0,1-.629.719c-.162.158-.364.354-.657.683a3.168,3.168,0,0,0-.782,1.2,2.933,2.933,0,0,0-.128.743,2.325,2.325,0,0,0,.052.675,2.59,2.59,0,0,0,.341.767,4.422,4.422,0,0,0,.513.725,2.035,2.035,0,0,0,.611.526,1.183,1.183,0,0,0-.147-.31c-.074-.134-.175-.318-.29-.551A3.5,3.5,0,0,1,26.278,8.8a2.53,2.53,0,0,1,.084-.688,2.375,2.375,0,0,1,.694-1.075c.052-.055.106-.111.161-.171a6.879,6.879,0,0,0,1.09-1.442,3.119,3.119,0,0,0,.456-2.083A1.281,1.281,0,0,0,28.512,2.8Z"/><path d="M29.972,6.087c-.019-.088-.432-.04-.766.073a2.6,2.6,0,0,0-1.059.722,2.8,2.8,0,0,0-.916,1.855,2.972,2.972,0,0,0,.258,1.06c.221.572.455.773.444,1.225-.007.3-.114.484-.048.549s.314-.1.462-.313a1.8,1.8,0,0,0,.259-1.022c-.046-.815-.6-1.015-.608-1.8a1.858,1.858,0,0,1,.129-.676C28.57,6.509,30.008,6.252,29.972,6.087Z" style="fill:#ea2d2e"/><path d="M27.934,11.617a.094.094,0,0,1-.069-.026c-.046-.046-.03-.122-.005-.237a1.718,1.718,0,0,0,.045-.331,1.374,1.374,0,0,0-.214-.72,5,5,0,0,1-.228-.495,2.98,2.98,0,0,1-.259-1.07,2.81,2.81,0,0,1,.923-1.874,2.64,2.64,0,0,1,1.07-.729,1.482,1.482,0,0,1,.766-.1A.065.065,0,0,1,30,6.081h0c.015.07-.092.121-.306.224a2.73,2.73,0,0,0-1.542,1.463,1.827,1.827,0,0,0-.127.667,1.645,1.645,0,0,0,.291.885,1.889,1.889,0,0,1,.317.914,1.814,1.814,0,0,1-.264,1.039.809.809,0,0,1-.421.342Zm1.889-5.549a2.117,2.117,0,0,0-.608.117,2.588,2.588,0,0,0-1.048.715,2.764,2.764,0,0,0-.909,1.837,2.935,2.935,0,0,0,.256,1.05,4.955,4.955,0,0,0,.225.49,1.433,1.433,0,0,1,.22.745,1.765,1.765,0,0,1-.047.341c-.019.091-.035.163-.009.188a.046.046,0,0,0,.038.01.769.769,0,0,0,.382-.32,1.793,1.793,0,0,0,.254-1.005,1.844,1.844,0,0,0-.31-.89,1.711,1.711,0,0,1-.3-.911,1.877,1.877,0,0,1,.13-.686A2.776,2.776,0,0,1,29.67,6.257c.126-.061.283-.136.277-.164l-.008-.007A.264.264,0,0,0,29.823,6.068Z"/>`,
"PowerQuery": `<path d="M30,25.583H25.757V15.378a8.271,8.271,0,0,0-.832-4.261A3.061,3.061,0,0,0,22.118,9.8a3.383,3.383,0,0,0-2.826,1.664,6.791,6.791,0,0,0-1.161,3.987V25.583H13.869V15.031q0-5.231-3.694-5.231a3.332,3.332,0,0,0-2.826,1.573,6.935,6.935,0,0,0-1.106,4.078V25.583H2V6.856H6.243V9.818h.073a6.488,6.488,0,0,1,5.907-3.4,5.569,5.569,0,0,1,3.393,1.07A5.328,5.328,0,0,1,17.6,10.294a6.683,6.683,0,0,1,6.218-3.877Q30,6.417,30,14.043Z" style="fill:#cfcfcf"/>`,
"PowerShell": `<defs><linearGradient id="a" x1="23.325" y1="-118.543" x2="7.26" y2="-104.193" gradientTransform="matrix(1, 0, 0, -1, 0, -96)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#5391fe"/><stop offset="1" stop-color="#3e6dbf"/></linearGradient><linearGradient id="b" x1="7.1" y1="-104.002" x2="23.001" y2="-118.292" xlink:href="#a"/></defs><title>file_type_powershell</title><path d="M3.174,26.589a1.154,1.154,0,0,1-.928-.423,1.234,1.234,0,0,1-.21-1.052L6.233,6.78A1.8,1.8,0,0,1,7.914,5.41H28.826a1.157,1.157,0,0,1,.928.423,1.235,1.235,0,0,1,.21,1.052l-4.2,18.335a1.8,1.8,0,0,1-1.681,1.37H3.174Z" style="fill-rule:evenodd;fill:url(#a)"/><path d="M7.914,5.646H28.826a.913.913,0,0,1,.908,1.187l-4.2,18.334a1.575,1.575,0,0,1-1.451,1.187H3.174a.913.913,0,0,1-.908-1.187l4.2-18.334A1.574,1.574,0,0,1,7.914,5.646Z" style="fill-rule:evenodd;fill:url(#b)"/><path d="M16.04,21.544h5.086a1.118,1.118,0,0,1,0,2.234H16.04a1.118,1.118,0,0,1,0-2.234Z" style="fill:#2c5591;fill-rule:evenodd"/><path d="M19.339,16.578a1.762,1.762,0,0,1-.591.6L9.309,23.953a1.224,1.224,0,0,1-1.438-1.977l8.512-6.164v-.126L11.035,10a1.224,1.224,0,0,1,1.782-1.672l6.418,6.827A1.166,1.166,0,0,1,19.339,16.578Z" style="fill:#2c5591;fill-rule:evenodd"/><path d="M19.1,16.342a1.749,1.749,0,0,1-.59.6L9.074,23.718a1.225,1.225,0,0,1-1.439-1.977l8.513-6.164V15.45L10.8,9.761a1.224,1.224,0,0,1,1.783-1.672L19,14.916A1.162,1.162,0,0,1,19.1,16.342Z" style="fill:#fff;fill-rule:evenodd"/><path d="M15.9,21.412h5.086a1.059,1.059,0,1,1,0,2.118H15.9a1.059,1.059,0,1,1,0-2.118Z" style="fill:#fff;fill-rule:evenodd"/>`,
"Processing": `<defs><linearGradient id="a" x1="16" y1="3" x2="16" y2="29" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#1c4c70"/><stop offset="1" stop-color="#0c2b42"/></linearGradient></defs><title>file_type_processinglang</title><path d="M15.922,19.962a13,13,0,0,1-1.647-.077v5.552a27.76,27.76,0,0,1,3.332.461V29H5.968V25.9A27.988,27.988,0,0,1,9.3,25.438V6.715a28.215,28.215,0,0,1-3.331-.46v-3.1H8.955C10.18,3.153,13.549,3,16.23,3c6.318,0,9.8,2.948,9.8,8C26.031,16.018,22.2,19.962,15.922,19.962ZM16,7.058c-.613,0-1.149,0-1.723.038v8.615a9.694,9.694,0,0,0,1.455.115c3.025-.038,5.13-1.723,5.13-4.519C20.862,8.7,19.407,7.058,16,7.058Z" style="fill:url(#a)"/>`,
"Prolog": `<defs><radialGradient id="a" cx="1341.25" cy="-3396.866" r="18.299" gradientTransform="translate(-1327.077 3405.935)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="0.181" stop-color="#fbfbfb"/><stop offset="0.365" stop-color="#efeff0"/><stop offset="0.552" stop-color="#dadbdc"/><stop offset="0.738" stop-color="#bebfc2"/><stop offset="0.824" stop-color="#aeb0b3"/></radialGradient><radialGradient id="b" cx="6.678" cy="84.74" r="15.554" gradientTransform="translate(-1.884 -86.154) scale(1.072 1.166)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fafdff"/><stop offset="0.079" stop-color="#eef5fa"/><stop offset="0.22" stop-color="#cfdfec"/><stop offset="0.407" stop-color="#9dbbd5"/><stop offset="0.631" stop-color="#588ab5"/><stop offset="0.745" stop-color="#326fa4"/><stop offset="0.799" stop-color="#2b6698"/><stop offset="0.897" stop-color="#174e78"/><stop offset="0.994" stop-color="#003152"/></radialGradient><radialGradient id="c" cx="11.241" cy="-9.897" r="16.594" gradientTransform="translate(0 22.631) scale(1 1.062)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffd540"/><stop offset="0.667" stop-color="#ec1c24"/><stop offset="0.994" stop-color="#760000"/></radialGradient><radialGradient id="d" cx="12.286" cy="26.127" r="2.083" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#dddfe0"/><stop offset="0.174" stop-color="#d9dbdc"/><stop offset="0.351" stop-color="#cdcfd0"/><stop offset="0.531" stop-color="#b8babb"/><stop offset="0.711" stop-color="#9c9e9f"/><stop offset="0.891" stop-color="#78797b"/><stop offset="1" stop-color="#5e5f61"/></radialGradient><radialGradient id="e" cx="19.064" cy="26.127" r="2.083" xlink:href="#d"/><radialGradient id="f" cx="15.434" cy="16.191" r="2.687" gradientTransform="translate(0 0.461)" xlink:href="#d"/></defs><title>file_type_prolog</title><g style="isolation:isolate"><circle cx="16" cy="16" r="14" transform="translate(-6.602 14.92) rotate(-42.265)" style="fill:url(#a)"/><path d="M19.938,6.309a9.785,9.785,0,0,0-6.5-2.339C8.564,3.97,3.774,7.7,3.405,14.961c-.4,7.8,4.75,12.862,12,12.862,10.733,0,16.672-9.78,10.027-20.388,4.671,10.6-.527,17.279-7.236,17.279-5.441,0-9.61-3.651-9.61-10.345C8.582,4.709,15.823,4.039,19.938,6.309Z" style="fill:url(#b)"/><path d="M22.7,10.415c-.293-.94-.645-2.788.634-3.86a3.729,3.729,0,0,0-3.844,1.534A9.165,9.165,0,0,0,12,8.1,3.729,3.729,0,0,0,8.152,6.555c1.309,1.1.91,3.005.614,3.923A10.517,10.517,0,0,0,6.1,17.524c0,2.174,1.4,4.645,1.675,7.955l1.768-1.532a11.743,11.743,0,0,0,6.212,1.433,11.741,11.741,0,0,0,6.212-1.433l1.769,1.532c.28-3.31,1.675-5.781,1.675-7.955A10.512,10.512,0,0,0,22.7,10.415Z" style="fill:url(#c)"/><path d="M10.722,27.867a1.621,1.621,0,1,1,3.24,0c0,.018,0,.035,0,.053a2.234,2.234,0,1,0-3.228.126C10.725,27.987,10.722,27.927,10.722,27.867Z" style="fill:url(#d)"/><path d="M20.629,27.867a1.621,1.621,0,1,0-3.24,0c0,.018,0,.035,0,.053a2.234,2.234,0,1,1,3.228.126A1.678,1.678,0,0,0,20.629,27.867Z" style="fill:url(#e)"/><g style="opacity:0.53;mix-blend-mode:multiply"><path d="M8.346,18.4c-.132.667-.971.877-.971.877A1.359,1.359,0,0,1,6.809,18.1a2.929,2.929,0,0,0,.443,1.793A2.927,2.927,0,0,0,8.346,18.4Z" style="fill:#231f20"/><path d="M10.008,18.737c-.132.667-.972.877-.972.877a1.36,1.36,0,0,1-.566-1.182,2.929,2.929,0,0,0,.444,1.793A2.926,2.926,0,0,0,10.008,18.737Z" style="fill:#231f20"/><path d="M8.833,20.249c-.132.667-.971.877-.971.877A1.359,1.359,0,0,1,7.3,19.944a2.929,2.929,0,0,0,.443,1.793A2.925,2.925,0,0,0,8.833,20.249Z" style="fill:#231f20"/><path d="M10.5,20.583c-.132.667-.971.877-.971.877a1.36,1.36,0,0,1-.566-1.182A2.929,2.929,0,0,0,9.4,22.072,2.927,2.927,0,0,0,10.5,20.583Z" style="fill:#231f20"/><path d="M9.328,22.121c-.132.667-.972.877-.972.877a1.36,1.36,0,0,1-.565-1.182,2.929,2.929,0,0,0,.443,1.793A2.926,2.926,0,0,0,9.328,22.121Z" style="fill:#231f20"/><path d="M11.664,19.07c-.132.667-.972.877-.972.877a1.359,1.359,0,0,1-.565-1.182,2.93,2.93,0,0,0,.443,1.793A2.927,2.927,0,0,0,11.664,19.07Z" style="fill:#231f20"/></g><g style="opacity:0.53;mix-blend-mode:multiply"><path d="M23.157,18.4c.132.667.971.877.971.877a1.359,1.359,0,0,0,.566-1.182,2.93,2.93,0,0,1-.443,1.793A2.927,2.927,0,0,1,23.157,18.4Z" style="fill:#231f20"/><path d="M21.495,18.737c.132.667.972.877.972.877a1.36,1.36,0,0,0,.565-1.182,2.931,2.931,0,0,1-.444,1.793A2.926,2.926,0,0,1,21.495,18.737Z" style="fill:#231f20"/><path d="M22.669,20.249c.132.667.971.877.971.877a1.36,1.36,0,0,0,.566-1.182,2.929,2.929,0,0,1-.443,1.793A2.926,2.926,0,0,1,22.669,20.249Z" style="fill:#231f20"/><path d="M21.008,20.583c.132.667.971.877.971.877a1.359,1.359,0,0,0,.565-1.182,2.928,2.928,0,0,1-.443,1.793A2.927,2.927,0,0,1,21.008,20.583Z" style="fill:#231f20"/><path d="M22.175,22.121c.132.667.972.877.972.877a1.36,1.36,0,0,0,.565-1.182,2.928,2.928,0,0,1-.444,1.793A2.927,2.927,0,0,1,22.175,22.121Z" style="fill:#231f20"/><path d="M19.838,19.07c.132.667.972.877.972.877a1.359,1.359,0,0,0,.565-1.182,2.928,2.928,0,0,1-.443,1.793A2.928,2.928,0,0,1,19.838,19.07Z" style="fill:#231f20"/></g><circle cx="11.339" cy="14.074" r="3.816" style="fill:#fff"/><circle cx="12.13" cy="14.446" r="1.861" style="fill:#bdbfc1"/><circle cx="12.13" cy="14.446" r="1.191" style="fill:#231f20"/><circle cx="11.603" cy="14.027" r="0.357" style="fill:#fff"/><circle cx="20.112" cy="14.074" r="3.816" style="fill:#fff"/><circle cx="20.903" cy="14.446" r="1.861" style="fill:#bdbfc1"/><circle cx="20.903" cy="14.446" r="1.191" style="fill:#231f20"/><circle cx="20.375" cy="14.027" r="0.357" style="fill:#fff"/><path d="M15.706,21.52c0-1.412,2.157-3.413,2.157-4.887a2.157,2.157,0,0,0-4.313,0C13.55,18.107,15.706,20.108,15.706,21.52Z" style="fill:url(#f)"/></g>`,
"Protocol Buffers": `<polygon points="15.996 3.22 26.966 9.7 26.954 22.3 16 28.78 5.038 22.408 5.034 9.628 15.996 3.22" style="fill:#fff"/><path d="M16,2,3.987,9.02l0,14L16,30l12-7.1.013-13.8ZM26.954,22.3,16,28.78,5.038,22.408l0-12.78L16,3.22,26.966,9.7Z" style="fill:#171c1e"/><polygon points="25.569 13.654 19.946 16.964 19.943 24.89 25.59 21.565 25.569 13.654" style="fill:#1ea8ff"/><polygon points="23.282 12.303 25.569 13.654 19.946 16.964 19.943 24.89 17.327 23.37 17.348 15.875 23.282 12.303" style="fill:#50bfff"/><polygon points="22.512 10.35 22.514 11.816 16.411 15.498 16.418 23.597 14.998 24.431 14.994 14.856 22.512 10.35" style="fill:#97ff27"/><polygon points="20.008 8.871 22.512 10.35 14.994 14.856 14.998 24.431 12.194 22.801 12.189 13.413 20.008 8.871" style="fill:#c2ff72"/><polygon points="19.226 6.606 19.226 8.374 11.21 13.074 11.21 23.172 9.808 23.988 9.835 12.277 19.226 6.606" style="fill:#ff274b"/><polygon points="16.16 4.784 6.53 10.394 6.529 22.071 9.827 23.988 9.835 12.277 19.235 6.606 16.16 4.784" style="fill:#ff5c77"/>`,
"Pug": `<path d="M25.514,12.846c-.052-.938.209-1.825-.209-2.554-1.043-1.825-3.649-2.867-8.863-2.867V7.372h0v.052c-5.735,0-8.185,1.043-9.227,2.867a5.6,5.6,0,0,0-.469,2.554,9.546,9.546,0,0,0-.261,2.45c.156,1.147.261,2.294.417,3.336.156.886,1.408,1.564,1.564,2.4.313,2.242,2.294,3.284,8.028,3.284v.261h-.1v-.261c5.213,0,7.4-1.043,7.716-3.284.1-.834,1.147-1.512,1.3-2.4.156-1.043.209-2.19.365-3.336A11.774,11.774,0,0,0,25.514,12.846Z" style="fill:#efcca3"/><path d="M16.182,13.68a3.241,3.241,0,0,1,2.19,1.147c.73.626,1.929,1.043,2.45,1.616a4.715,4.715,0,0,1,1.408,1.981,8.9,8.9,0,0,1,.313,2.242c0,.261.156.209.573,0a9.02,9.02,0,0,0,2.19-1.877c-.156.886-1.251,1.668-1.355,2.5-.313,2.242-2.5,3.336-7.872,3.336h.313" style="fill:#ccac8d"/><path d="M19.519,11.908c.209.678.886,3.024-.469,2.242a2.557,2.557,0,0,1,.938,1.564,1.831,1.831,0,0,0,1.3,1.408,3.479,3.479,0,0,0,2.554-.626,2.956,2.956,0,0,0,.678-3.284,2.43,2.43,0,0,0-2.137-1.616C21.4,11.334,19.31,11.126,19.519,11.908Z" style="fill:#ccac8d"/><circle cx="22.178" cy="14.41" r="1.929"/><circle cx="21.656" cy="13.524" r="0.521" style="fill:#fff"/><path d="M19.206,14.306a17.68,17.68,0,0,1,2.711,2.346c.938,1.2.938,1.408.938,1.408l-.678.313a7.1,7.1,0,0,0-2.137-2.5c-1.2-.678-1.355-1.251-1.355-1.251Z" style="fill:#efcca3"/><path d="M16.235,13.68a3.605,3.605,0,0,0-2.346,1.147c-.73.626-2.033,1.043-2.5,1.616a4.806,4.806,0,0,0-1.46,1.981,8.9,8.9,0,0,0-.313,2.242c0,.261.052.313-.626,0A7.972,7.972,0,0,1,6.8,18.789c.156.886,1.251,1.668,1.355,2.5.313,2.19,2.5,3.284,7.872,3.284h.365" style="fill:#ccac8d"/><path d="M21.239,17.277a6.552,6.552,0,0,0-5.109-2.607h0a6.638,6.638,0,0,0-5.109,2.607,3.861,3.861,0,0,0-1.043,3.18c0,4.64,1.616,3.232,2.711,3.806a7.466,7.466,0,0,0,3.389.313h0a7.4,7.4,0,0,0,3.389-.313c1.095-.573,2.711.834,2.711-3.806A3.386,3.386,0,0,0,21.239,17.277Z" style="fill:#56332b"/><path d="M16.026,15.974a9.549,9.549,0,0,1-.469,2.554l.573-.156Z" style="fill:#442823"/><path d="M16.182,15.974a9.549,9.549,0,0,0,.469,2.554l-.573-.156Z" style="fill:#442823"/><path d="M14.358,15.453c-.209-.521.573-1.355,1.825-1.355s2.033.834,1.825,1.355-1.043.678-1.825.678C15.348,16.13,14.566,15.974,14.358,15.453Z" style="fill:#56332b"/><path d="M16.182,15.974c0-.1.73-.1,1.147-.365,0,0-.834.261-.991.156a.656.656,0,0,1-.209-.365.656.656,0,0,1-.209.365c-.156.1-1.095-.156-1.095-.156a8.058,8.058,0,0,1,1.2.365v.417a10.492,10.492,0,0,0,.1,2.033c.156.209.1-1.46.1-2.033A1.3,1.3,0,0,1,16.182,15.974Z"/><path d="M16.182,18.945a3.35,3.35,0,0,1,1.616.678,3.121,3.121,0,0,0-1.616-1.095,3.036,3.036,0,0,0-1.825,1.2A3.312,3.312,0,0,1,16.182,18.945Z" style="fill:#7f4a41"/><path d="M16.078,22.8a8.9,8.9,0,0,1-2.4-.469c-.156-.052-.313.052-.469,0a6.172,6.172,0,0,1-3.18-2.137v.209c0,4.64,1.616,3.232,2.711,3.806a7.466,7.466,0,0,0,3.389.313h0a7.4,7.4,0,0,0,3.389-.313c1.095-.573,2.711.834,2.711-3.806v-.469A5.914,5.914,0,0,1,19,22.282c-.156.052-.417-.052-.573-.052A7.045,7.045,0,0,1,16.078,22.8Z" style="fill:#442823"/><path d="M13.941,20.3s-.573,1.668-.156,2.4l-.521-.209A15.433,15.433,0,0,1,13.941,20.3Z" style="fill:#442823"/><path d="M18.32,20.3s.573,1.668.156,2.4L19,22.491A10.629,10.629,0,0,0,18.32,20.3Z" style="fill:#442823"/><path d="M12.585,11.908c-.209.678-.886,3.024.469,2.242a2.557,2.557,0,0,0-.938,1.564,1.831,1.831,0,0,1-1.3,1.408A3.479,3.479,0,0,1,8.258,16.5a2.956,2.956,0,0,1-.678-3.284,2.43,2.43,0,0,1,2.137-1.616C10.709,11.334,12.794,11.126,12.585,11.908Z" style="fill:#ccac8d"/><path d="M16.13,18.528a3.393,3.393,0,0,1,2.45,2.867v-.1a3.051,3.051,0,0,0-2.45-2.919,3,3,0,0,0-2.45,2.919v.1A3.463,3.463,0,0,1,16.13,18.528Z"/><ellipse cx="16.546" cy="15.138" rx="0.156" ry="0.313" transform="translate(-3.256 4.611) rotate(-14.46)" style="fill:#331712"/><ellipse cx="15.609" cy="15.146" rx="0.313" ry="0.156" transform="translate(-3.482 25.567) rotate(-72.765)" style="fill:#331712"/><circle cx="10.031" cy="14.41" r="1.929"/><circle cx="10.552" cy="13.524" r="0.521" style="fill:#fff"/><path d="M16.7,14.41s-.521.209-.626.261a2.492,2.492,0,0,1-.626-.261H16.7Z" style="fill:#7f4a41"/><path d="M12.9,14.306a17.68,17.68,0,0,0-2.711,2.346c-.938,1.2-.938,1.408-.938,1.408l.678.313a7.1,7.1,0,0,1,2.137-2.5c1.2-.678,1.355-1.251,1.355-1.251Z" style="fill:#efcca3"/><path d="M9.092,10.813a4.519,4.519,0,0,1-1.929,2.294A2.19,2.19,0,0,0,9.092,10.813Z" style="fill:#ccac8d"/><path d="M22.908,10.813a4.519,4.519,0,0,0,1.929,2.294A2.19,2.19,0,0,1,22.908,10.813Z" style="fill:#ccac8d"/><path d="M19.31,13.836a5.16,5.16,0,0,0-3.076-1.408h.156a3.852,3.852,0,0,0-3.024,1.408,4.832,4.832,0,0,1,3.024-1.043h0A5.785,5.785,0,0,1,19.31,13.836Z" style="fill:#ccac8d"/><path d="M17.746,10.969a2.455,2.455,0,0,0-1.564-.938h.156a1.786,1.786,0,0,0-1.512.938,2.187,2.187,0,0,1,1.512-.678h0A1.894,1.894,0,0,1,17.746,10.969Z" style="fill:#ccac8d"/><path d="M10.031,17.746a2.545,2.545,0,0,1-1.773.209H8.05a3.68,3.68,0,0,1-.886-1.512A2.27,2.27,0,0,0,10.031,17.746Z" style="fill:#ccac8d"/><path d="M22.126,17.746a2.545,2.545,0,0,0,1.773.209H23.69a1.749,1.749,0,0,0,1.095-1.512A2.02,2.02,0,0,1,22.126,17.746Z" style="fill:#ccac8d"/><path d="M11.23,10.709a4.75,4.75,0,0,1,2.242.1c.938.313.209,1.564.365,1.616a2.865,2.865,0,0,1,2.242-.73c1.773.1,1.981.886,2.242.73.261-.1-.261-2.19,2.45-1.72,0,0-2.763-.73-2.659,1.251a3.675,3.675,0,0,0-3.858-.1S14.827,9.927,11.23,10.709Z" style="fill:#ccac8d"/><path d="M10.5,8s-2.4,2.972-2.711,4.118c-.365,1.147-.626,5.943-.938,6.621L5.756,14.045l2.033-4.9Z" style="fill:#ccac8d"/><path d="M21.656,8s2.4,2.972,2.711,4.118c.365,1.147.626,5.943.938,6.621L26.4,14.045l-2.033-4.9Z" style="fill:#ccac8d"/><path d="M21.5,8a11.617,11.617,0,0,1,3.284,4.588c.73,2.45.417,5.474.991,5.839.834.521,1.72-2.607,2.033-2.919.469-.521,2.085-1.877,2.19-2.137s-3.232-3.91-4.744-4.64C23.585,7.893,21.4,7.789,21.5,8Z" style="fill:#56332b"/><path d="M23.69,9.3a15.379,15.379,0,0,1,2.972,8.654l1.2-2.45A16.564,16.564,0,0,0,23.69,9.3Z" style="fill:#442823"/><path d="M10.5,8a11.617,11.617,0,0,0-3.284,4.588c-.73,2.45-.417,5.474-.991,5.839-.834.521-1.72-2.607-2.033-2.919-.469-.521-2.085-1.877-2.19-2.137s3.232-3.91,4.744-4.64C8.415,7.893,10.6,7.789,10.5,8Z" style="fill:#56332b"/><path d="M8.31,9.3a15.379,15.379,0,0,0-2.972,8.654L4.14,15.5A16.564,16.564,0,0,1,8.31,9.3Z" style="fill:#442823"/><path d="M6.642,18.007a4.118,4.118,0,0,0,.573,1.564c.365.365.1-.313.1-.313s-.365-.209-.313-1.72S6.642,18.007,6.642,18.007Z" style="fill:#ccac8d"/><path d="M25.41,18.007a4.118,4.118,0,0,1-.573,1.564c-.365.365-.1-.313-.1-.313s.365-.209.313-1.72C24.993,16.078,25.41,18.007,25.41,18.007Z" style="fill:#ccac8d"/><circle cx="13.889" cy="17.121" r="0.156" style="fill:#442823"/><circle cx="12.846" cy="18.216" r="0.156" style="fill:#442823"/><circle cx="12.533" cy="17.121" r="0.156" style="fill:#442823"/><circle cx="18.164" cy="17.121" r="0.156" style="fill:#442823"/><circle cx="19.154" cy="18.216" r="0.156" style="fill:#442823"/><circle cx="19.467" cy="17.121" r="0.156" style="fill:#442823"/>`,
"Puppet": `<path d="M25.089,11.822H18.7L15.267,8.388V2H6.911v8.357H13.3l3.422,3.422h0v4.431h0l-3.434,3.434H6.911V30h8.357V23.612h0L18.7,20.178h6.388ZM9.7,4.786h2.786V7.571H9.7ZM12.482,27.2H9.7V24.417h2.786Z" style="fill:#ffae1a"/>`,
"PureScript": `<rect width="32" height="32" style="fill:#16171b"/><polygon points="21.892 22.136 19.706 20.095 10.107 20.095 12.293 22.136 21.892 22.136" style="fill:#fff"/><polygon points="12.293 14.98 10.107 17.021 19.706 17.021 21.892 14.98 12.293 14.98" style="fill:#fff"/><polygon points="21.891 11.906 19.706 9.864 10.107 9.864 12.293 11.906 21.891 11.906" style="fill:#fff"/><path d="M9.1,13.926,7.652,12.482,2.3,17.836a1.023,1.023,0,0,0,0,1.443l5.354,5.354L9.1,23.19,4.464,18.558Z" style="fill:#fff"/><path d="M29.7,12.721,24.348,7.366,22.9,8.81l4.63,4.632L22.9,18.075l1.443,1.443L29.7,14.165a1.021,1.021,0,0,0,0-1.444Z" style="fill:#fff"/>`,
"Python": `<defs><linearGradient id="a" x1="-133.268" y1="-202.91" x2="-133.198" y2="-202.84" gradientTransform="translate(25243.061 38519.17) scale(189.38 189.81)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#387eb8"/><stop offset="1" stop-color="#366994"/></linearGradient><linearGradient id="b" x1="-133.575" y1="-203.203" x2="-133.495" y2="-203.133" gradientTransform="translate(25309.061 38583.42) scale(189.38 189.81)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffe052"/><stop offset="1" stop-color="#ffc331"/></linearGradient></defs><title>file_type_python</title><path d="M15.885,2.1c-7.1,0-6.651,3.07-6.651,3.07V8.36h6.752v1H6.545S2,8.8,2,16.005s4.013,6.912,4.013,6.912H8.33V19.556s-.13-4.013,3.9-4.013h6.762s3.772.06,3.772-3.652V5.8s.572-3.712-6.842-3.712h0ZM12.153,4.237a1.214,1.214,0,1,1-1.183,1.244v-.02a1.214,1.214,0,0,1,1.214-1.214h0Z" style="fill:url(#a)"/><path d="M16.085,29.91c7.1,0,6.651-3.08,6.651-3.08V23.65H15.985v-1h9.47S30,23.158,30,15.995s-4.013-6.912-4.013-6.912H23.64V12.4s.13,4.013-3.9,4.013H12.975S9.2,16.356,9.2,20.068V26.2s-.572,3.712,6.842,3.712h.04Zm3.732-2.147A1.214,1.214,0,1,1,21,26.519v.03a1.214,1.214,0,0,1-1.214,1.214h.03Z" style="fill:url(#b)"/>`,
"Q (kdb+ database)": `<path d="M20.092,29V19.682A6.953,6.953,0,0,1,17.7,21.645a6.743,6.743,0,0,1-3.089.724A6.557,6.557,0,0,1,9.413,20,11.081,11.081,0,0,1,7,12.475,10.033,10.033,0,0,1,9.264,5.5,7.251,7.251,0,0,1,14.874,3a6.266,6.266,0,0,1,3.2.785,7.329,7.329,0,0,1,2.4,2.373V3.419H25V29Zm.157-16.542a6.492,6.492,0,0,0-1.16-4.232,3.634,3.634,0,0,0-2.905-1.387,3.742,3.742,0,0,0-2.975,1.413,6.881,6.881,0,0,0-1.2,4.485,6.767,6.767,0,0,0,1.152,4.406A3.593,3.593,0,0,0,16.009,18.5a3.786,3.786,0,0,0,2.966-1.518A6.889,6.889,0,0,0,20.249,12.458Z" style="fill:#1e78b3"/>`,
"Q#": `<path d="M19.451,6.218h2.638V8.856h2.637V6.218h2.637V8.856H30V11.5H27.364v2.636H30V16.77H27.364v2.637H24.727V16.769H22.091l0,2.637H19.453V16.768H16.815V14.127h2.638V11.5H16.815V8.853h2.639Zm2.638,7.914h2.637V11.5H22.089Z" style="fill:#33c"/><path d="M14.018,21.524a11.436,11.436,0,0,0,1.572-6.192,10.877,10.877,0,0,0-1.858-6.6A5.889,5.889,0,0,0,8.808,6.153a5.921,5.921,0,0,0-4.94,2.581A10.842,10.842,0,0,0,2,15.333a10.853,10.853,0,0,0,1.868,6.592,5.918,5.918,0,0,0,4.941,2.588,5.743,5.743,0,0,0,3.26-.987l2.306,2.321,1.577-2.4Zm-5.17-1.218,1.117,1.121a3.229,3.229,0,0,1-1.174.217,3.335,3.335,0,0,1-2.837-1.593,8.125,8.125,0,0,1-1.18-4.719,8.1,8.1,0,0,1,1.184-4.724,3.372,3.372,0,0,1,2.87-1.588,3.31,3.31,0,0,1,2.819,1.585,8.178,8.178,0,0,1,1.172,4.726,9.113,9.113,0,0,1-.833,4.15l-1.56-1.571Z" style="fill:#33c"/>`,
"QML": `<path d="M27.3,5H5.886L2,8.958V26H26.114L30,22.042V5ZM16.9,23.07l-1.828.852L13.5,21.331a3.968,3.968,0,0,1-1.082.106c-1.845,0-3.123-.5-3.85-1.49a8.03,8.03,0,0,1-1.082-4.7,8.351,8.351,0,0,1,1.1-4.773,4.379,4.379,0,0,1,3.833-1.561c1.828,0,3.087.515,3.833,1.544a8.351,8.351,0,0,1,1.1,4.773,10.809,10.809,0,0,1-.452,3.44,3.9,3.9,0,0,1-1.473,2Zm5.848-1.67a2.735,2.735,0,0,1-2.168-.692A4.192,4.192,0,0,1,20,18.1V14H19V12h1V9h2v3h2v2H22v3.9a3.907,3.907,0,0,0,.168,1.437c.112.231.393.355.86.355l1.533-.053.093,1.544A12.519,12.519,0,0,1,22.748,21.4ZM12.416,10.614a2.4,2.4,0,0,0-2.289,1.1,7.657,7.657,0,0,0-.6,3.513,7.131,7.131,0,0,0,.6,3.442A2.44,2.44,0,0,0,12.433,19.7a2.417,2.417,0,0,0,2.289-1.011,7.343,7.343,0,0,0,.586-3.442,7.692,7.692,0,0,0-.6-3.531A2.4,2.4,0,0,0,12.416,10.614Z" style="fill:#41cd52"/>`,
"R": `<defs><linearGradient id="a" x1="-134.811" y1="-103.284" x2="-134.772" y2="-103.323" gradientTransform="matrix(721.094, 0, 0, -482.937, 97213.595, -49874.512)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#cbced0"/><stop offset="1" stop-color="#84838b"/></linearGradient><linearGradient id="b" x1="-135.378" y1="-102.985" x2="-135.339" y2="-103.024" gradientTransform="matrix(398, 0, 0, -406.124, 53893, -41812.836)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#276dc3"/><stop offset="1" stop-color="#165caa"/></linearGradient></defs><title>file_type_r</title><path d="M16,23.956c-7.732,0-14-4.2-14-9.376S8.268,5.2,16,5.2,30,9.4,30,14.58,23.732,23.956,16,23.956ZM18.143,8.87C12.266,8.87,7.5,11.74,7.5,15.28s4.764,6.41,10.641,6.41,10.214-1.962,10.214-6.41S24.02,8.87,18.143,8.87Z" style="fill:url(#a)"/><path d="M23.321,19.726a10.545,10.545,0,0,1,1.34.5,2.591,2.591,0,0,1,.68.485,1.835,1.835,0,0,1,.311.447l3.339,5.63-5.4,0-2.524-4.74a6.1,6.1,0,0,0-.835-1.145.879.879,0,0,0-.641-.291H18.311v6.173l-4.776,0V11.026h9.591S27.5,11.1,27.5,15.261,23.321,19.726,23.321,19.726Zm-2.077-5.28-2.891,0v2.681h2.893a1.323,1.323,0,0,0,1.34-1.364A1.247,1.247,0,0,0,21.244,14.447Z" style="fill:url(#b)"/>`,
"Racket": `<circle cx="16" cy="16" r="14" style="fill:#fff"/><path d="M27.016,24.641a14,14,0,0,0-15.8-21.8C16.9,5.822,24.413,15.549,27.016,24.641Z" style="fill:#3e5ba9"/><path d="M13.995,10.93a24.3,24.3,0,0,0-7.22-5.46A14,14,0,0,0,5.463,25.217,39.56,39.56,0,0,1,13.995,10.93Z" style="fill:#9f1d20"/><path d="M16.575,14.1A32.645,32.645,0,0,0,9.43,28.365a14.016,14.016,0,0,0,13.3-.089A38.642,38.642,0,0,0,16.575,14.1Z" style="fill:#9f1d20"/>`,
"Razor C#": `<path d="M23.844,27.692a16.332,16.332,0,0,1-6.645,1.3q-6.364,0-10.013-3.243a11.3,11.3,0,0,1-3.649-8.9A13.716,13.716,0,0,1,7.322,6.951,12.716,12.716,0,0,1,16.9,3.008a11.676,11.676,0,0,1,8.425,3.006,9.994,9.994,0,0,1,3.142,7.533,10.187,10.187,0,0,1-2.318,7.114,7.532,7.532,0,0,1-5.817,2.547,2.613,2.613,0,0,1-1.845-.642,2.323,2.323,0,0,1-.764-1.6,4.9,4.9,0,0,1-4.148,2.243,4.6,4.6,0,0,1-3.507-1.479,5.706,5.706,0,0,1-1.384-4.063,9.913,9.913,0,0,1,2.2-6.357q2.2-2.763,4.8-2.763a5.063,5.063,0,0,1,4.256,1.716l.311-1.338h2.405l-2.081,9.08a10.716,10.716,0,0,0-.352,2.243q0,.972.744.972a4.819,4.819,0,0,0,3.877-2.047,8.93,8.93,0,0,0,1.621-5.681,7.98,7.98,0,0,0-2.675-6.175,9.887,9.887,0,0,0-6.919-2.432A10.6,10.6,0,0,0,8.713,8.352a12.066,12.066,0,0,0-3.2,8.495,9.561,9.561,0,0,0,3.06,7.573q3.06,2.7,8.586,2.7a13.757,13.757,0,0,0,5.675-1.054ZM19.466,12.25a3.977,3.977,0,0,0-3.6-1.716q-1.824,0-3.263,2.23a8.726,8.726,0,0,0-1.439,4.824q0,3.635,2.905,3.635A3.771,3.771,0,0,0,16.72,20.04a6.309,6.309,0,0,0,1.7-3.2Z" style="fill:#368832"/>`,
"React JSX": `<circle cx="16" cy="15.974" r="2.5" style="fill:#00d8ff"/><path d="M16,21.706a28.385,28.385,0,0,1-8.88-1.2,11.3,11.3,0,0,1-3.657-1.958A3.543,3.543,0,0,1,2,15.974c0-1.653,1.816-3.273,4.858-4.333A28.755,28.755,0,0,1,16,10.293a28.674,28.674,0,0,1,9.022,1.324,11.376,11.376,0,0,1,3.538,1.866A3.391,3.391,0,0,1,30,15.974c0,1.718-2.03,3.459-5.3,4.541A28.8,28.8,0,0,1,16,21.706Zm0-10.217a27.948,27.948,0,0,0-8.749,1.282c-2.8.977-4.055,2.313-4.055,3.2,0,.928,1.349,2.387,4.311,3.4A27.21,27.21,0,0,0,16,20.51a27.6,27.6,0,0,0,8.325-1.13C27.4,18.361,28.8,16.9,28.8,15.974a2.327,2.327,0,0,0-1.01-1.573,10.194,10.194,0,0,0-3.161-1.654A27.462,27.462,0,0,0,16,11.489Z" style="fill:#00d8ff"/><path d="M10.32,28.443a2.639,2.639,0,0,1-1.336-.328c-1.432-.826-1.928-3.208-1.327-6.373a28.755,28.755,0,0,1,3.4-8.593h0A28.676,28.676,0,0,1,16.71,5.995a11.376,11.376,0,0,1,3.384-2.133,3.391,3.391,0,0,1,2.878,0c1.489.858,1.982,3.486,1.287,6.859a28.806,28.806,0,0,1-3.316,8.133,28.385,28.385,0,0,1-5.476,7.093,11.3,11.3,0,0,1-3.523,2.189A4.926,4.926,0,0,1,10.32,28.443Zm1.773-14.7a27.948,27.948,0,0,0-3.26,8.219c-.553,2.915-.022,4.668.75,5.114.8.463,2.742.024,5.1-2.036a27.209,27.209,0,0,0,5.227-6.79,27.6,27.6,0,0,0,3.181-7.776c.654-3.175.089-5.119-.713-5.581a2.327,2.327,0,0,0-1.868.089A10.194,10.194,0,0,0,17.5,6.9a27.464,27.464,0,0,0-5.4,6.849Z" style="fill:#00d8ff"/><path d="M21.677,28.456c-1.355,0-3.076-.82-4.868-2.361a28.756,28.756,0,0,1-5.747-7.237h0a28.676,28.676,0,0,1-3.374-8.471,11.376,11.376,0,0,1-.158-4A3.391,3.391,0,0,1,8.964,3.9c1.487-.861,4.01.024,6.585,2.31a28.8,28.8,0,0,1,5.39,6.934,28.384,28.384,0,0,1,3.41,8.287,11.3,11.3,0,0,1,.137,4.146,3.543,3.543,0,0,1-1.494,2.555A2.59,2.59,0,0,1,21.677,28.456Zm-9.58-10.2a27.949,27.949,0,0,0,5.492,6.929c2.249,1.935,4.033,2.351,4.8,1.9.8-.465,1.39-2.363.782-5.434A27.212,27.212,0,0,0,19.9,13.74,27.6,27.6,0,0,0,14.755,7.1c-2.424-2.152-4.39-2.633-5.191-2.169a2.327,2.327,0,0,0-.855,1.662,10.194,10.194,0,0,0,.153,3.565,27.465,27.465,0,0,0,3.236,8.1Z" style="fill:#00d8ff"/>`,
"React TSX": `<circle cx="16" cy="15.974" r="2.5" style="fill:#007acc"/><path d="M16,21.706a28.385,28.385,0,0,1-8.88-1.2,11.3,11.3,0,0,1-3.657-1.958A3.543,3.543,0,0,1,2,15.974c0-1.653,1.816-3.273,4.858-4.333A28.755,28.755,0,0,1,16,10.293a28.674,28.674,0,0,1,9.022,1.324,11.376,11.376,0,0,1,3.538,1.866A3.391,3.391,0,0,1,30,15.974c0,1.718-2.03,3.459-5.3,4.541A28.8,28.8,0,0,1,16,21.706Zm0-10.217a27.948,27.948,0,0,0-8.749,1.282c-2.8.977-4.055,2.313-4.055,3.2,0,.928,1.349,2.387,4.311,3.4A27.21,27.21,0,0,0,16,20.51a27.6,27.6,0,0,0,8.325-1.13C27.4,18.361,28.8,16.9,28.8,15.974a2.327,2.327,0,0,0-1.01-1.573,10.194,10.194,0,0,0-3.161-1.654A27.462,27.462,0,0,0,16,11.489Z" style="fill:#007acc"/><path d="M10.32,28.443a2.639,2.639,0,0,1-1.336-.328c-1.432-.826-1.928-3.208-1.327-6.373a28.755,28.755,0,0,1,3.4-8.593h0A28.676,28.676,0,0,1,16.71,5.995a11.376,11.376,0,0,1,3.384-2.133,3.391,3.391,0,0,1,2.878,0c1.489.858,1.982,3.486,1.287,6.859a28.806,28.806,0,0,1-3.316,8.133,28.385,28.385,0,0,1-5.476,7.093,11.3,11.3,0,0,1-3.523,2.189A4.926,4.926,0,0,1,10.32,28.443Zm1.773-14.7a27.948,27.948,0,0,0-3.26,8.219c-.553,2.915-.022,4.668.75,5.114.8.463,2.742.024,5.1-2.036a27.209,27.209,0,0,0,5.227-6.79,27.6,27.6,0,0,0,3.181-7.776c.654-3.175.089-5.119-.713-5.581a2.327,2.327,0,0,0-1.868.089A10.194,10.194,0,0,0,17.5,6.9a27.464,27.464,0,0,0-5.4,6.849Z" style="fill:#007acc"/><path d="M21.677,28.456c-1.355,0-3.076-.82-4.868-2.361a28.756,28.756,0,0,1-5.747-7.237h0a28.676,28.676,0,0,1-3.374-8.471,11.376,11.376,0,0,1-.158-4A3.391,3.391,0,0,1,8.964,3.9c1.487-.861,4.01.024,6.585,2.31a28.8,28.8,0,0,1,5.39,6.934,28.384,28.384,0,0,1,3.41,8.287,11.3,11.3,0,0,1,.137,4.146,3.543,3.543,0,0,1-1.494,2.555A2.59,2.59,0,0,1,21.677,28.456Zm-9.58-10.2a27.949,27.949,0,0,0,5.492,6.929c2.249,1.935,4.033,2.351,4.8,1.9.8-.465,1.39-2.363.782-5.434A27.212,27.212,0,0,0,19.9,13.74,27.6,27.6,0,0,0,14.755,7.1c-2.424-2.152-4.39-2.633-5.191-2.169a2.327,2.327,0,0,0-.855,1.662,10.194,10.194,0,0,0,.153,3.565,27.465,27.465,0,0,0,3.236,8.1Z" style="fill:#007acc"/>`,
"Reason": `<polyline points="2 2 30 2 30 30 2 30 2 2" style="fill:#dd4b39"/><path d="M9.051,17.527q2.537,0,5.072,0A4.947,4.947,0,0,1,17.1,18.5a3.29,3.29,0,0,1,1.128,2.267,4.117,4.117,0,0,1-.778,3.022,3.6,3.6,0,0,1-1.137.905l2.247,3.549-3.061,0-1.6-3.043-2.154,0,0,3.032H9.051V17.527m2.69,2.128,0,3.438,1.989,0a2.184,2.184,0,0,0,1.468-.452,1.814,1.814,0,0,0,.482-1.544,1.469,1.469,0,0,0-.705-1.18,2.768,2.768,0,0,0-1.437-.269C12.94,19.654,11.741,19.655,11.741,19.655Zm8.384-2.13h8.35v2.13h-5.66V21.8l5.11,0v2.119H22.82V26.1h5.824v2.142H20.125V17.525Z" style="fill:#fff"/>`,
"Rego": `<defs><clipPath id="a"><path d="M7.055,16.241c3.415-10.22,14.759-9.473,17.924,0l.1,5.893a15.562,15.562,0,0,0-9.036,7.246A17.641,17.641,0,0,0,7.03,22.346Z" style="fill:none"/></clipPath></defs><title>file_type_rego</title><path d="M7.03,16.241l2.6-4.559c-2.418-.312-2.606-3.431-.8-9.062C3.809,8.853,2.42,10.228,7.03,16.241Z" style="fill:#bfbfbf;fill-rule:evenodd"/><path d="M24.97,16.241l-2.595-4.559c2.418-.312,2.606-3.431.8-9.062C28.191,8.853,29.58,10.228,24.97,16.241Z" style="fill:#bfbfbf;fill-rule:evenodd"/><path d="M7.055,16.241c3.415-10.22,14.759-9.473,17.924,0l.1,5.893a15.562,15.562,0,0,0-9.036,7.246A17.641,17.641,0,0,0,7.03,22.346Z" style="fill:none"/><g style="clip-path:url(#a)"><rect x="16.053" y="7.962" width="9.549" height="21.899" style="fill:#536367"/><rect x="5.322" y="7.962" width="10.732" height="21.899" style="fill:#78929a"/></g><circle cx="16.04" cy="16.241" r="1.166" style="fill:#fff"/>`,
"ReScript": `<defs><linearGradient id="a" x1="11.421" y1="-221.705" x2="21.509" y2="-248.792" gradientTransform="matrix(1, 0, 0, -1, 0, -218)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e84f4f"/><stop offset="0.409" stop-color="#db4646"/><stop offset="0.999" stop-color="#cb3939"/></linearGradient></defs><title>file_type_rescript</title><path d="M2,10.97c0-3.738,0-5.6.952-6.916a4.992,4.992,0,0,1,1.1-1.1C5.364,2,7.233,2,10.969,2H21.03c3.738,0,5.605,0,6.916.951a4.992,4.992,0,0,1,1.1,1.1C30,5.364,30,7.232,30,10.97V21.03c0,3.737,0,5.605-.952,6.916a4.966,4.966,0,0,1-1.1,1.1C26.636,30,24.768,30,21.03,30H10.969c-3.736,0-5.6,0-6.915-.952a4.966,4.966,0,0,1-1.1-1.1C2,26.636,2,24.767,2,21.03Z" style="fill:url(#a)"/><path d="M20.974,15.554a3.325,3.325,0,1,0-3.324-3.325A3.325,3.325,0,0,0,20.974,15.554Z" style="fill:#fff"/><path d="M9.316,11.809a4.676,4.676,0,0,1,.206-1.987A1.886,1.886,0,0,1,10.345,9a4.7,4.7,0,0,1,1.987-.205h2.64V21.045a4.686,4.686,0,0,1-.144,1.664,1.892,1.892,0,0,1-1.02,1.02,4.72,4.72,0,0,1-1.664.143,4.717,4.717,0,0,1-1.664-.143,1.892,1.892,0,0,1-1.02-1.02,4.72,4.72,0,0,1-.143-1.664Z" style="fill:#fff"/>`,
"reST (reStructuredText)": `<path d="M16,30A13.859,13.859,0,0,1,2.286,16,14.149,14.149,0,0,1,6.3,6.1,13.517,13.517,0,0,1,25.7,6.1,14.149,14.149,0,0,1,29.714,16,13.859,13.859,0,0,1,16,30Z" style="fill:#ce3f31"/><path d="M11.869,23.015h-.4a4.263,4.263,0,0,1-1.048-.113,1.387,1.387,0,0,1-.767-.548,2.2,2.2,0,0,1-.409-1.026A13.28,13.28,0,0,1,9.159,19.6a12.78,12.78,0,0,0-.08-1.687,1.773,1.773,0,0,0-.405-.924,1.325,1.325,0,0,0-1.026-.391V15.4a1.325,1.325,0,0,0,1.026-.391,1.773,1.773,0,0,0,.405-.924,12.78,12.78,0,0,0,.08-1.687,13.28,13.28,0,0,1,.084-1.731,2.2,2.2,0,0,1,.409-1.026,1.387,1.387,0,0,1,.767-.548,4.263,4.263,0,0,1,1.048-.113h.4v1.14h-.226q-.76,0-.931.4a7.72,7.72,0,0,0-.172,2.17,4.876,4.876,0,0,1-.416,2.316A2.117,2.117,0,0,1,8.859,16a2.089,2.089,0,0,1,1.264.986A4.876,4.876,0,0,1,10.54,19.3a7.72,7.72,0,0,0,.172,2.17q.172.4.931.4h.226Zm1.6-3.141h1.035V16.42h1.459l1.97,3.454h1.184L17.04,16.308a2.243,2.243,0,0,0,1.833-2.319c0-1.7-1.2-2.294-2.855-2.294H13.474Zm1.035-4.3V12.53h1.359c1.272,0,1.97.386,1.97,1.459s-.7,1.583-1.97,1.583Zm5.557-6.591h.4a4.263,4.263,0,0,1,1.048.113,1.387,1.387,0,0,1,.767.548,2.2,2.2,0,0,1,.409,1.026,13.28,13.28,0,0,1,.084,1.731,12.78,12.78,0,0,0,.08,1.687,1.773,1.773,0,0,0,.405.924,1.325,1.325,0,0,0,1.026.391v1.191a1.325,1.325,0,0,0-1.026.391,1.773,1.773,0,0,0-.405.924,12.78,12.78,0,0,0-.08,1.687,13.28,13.28,0,0,1-.084,1.731,2.2,2.2,0,0,1-.409,1.026,1.387,1.387,0,0,1-.767.548,4.263,4.263,0,0,1-1.048.113h-.4v-1.14h.226q.76,0,.931-.4A7.72,7.72,0,0,0,21.4,19.3a4.876,4.876,0,0,1,.416-2.316A2.089,2.089,0,0,1,23.075,16a2.117,2.117,0,0,1-1.264-.994,4.876,4.876,0,0,1-.416-2.316,7.72,7.72,0,0,0-.172-2.17q-.172-.4-.931-.4h-.226Z" style="fill:#fff"/>`,
"Robot Framework": `<circle cx="16" cy="16" r="14" style="fill:#fff"/><path d="M10.387,14.6a2.727,2.727,0,0,1,5.453,0,.99.99,0,1,1-1.98,0,.746.746,0,0,0-1.492,0,.99.99,0,1,1-1.98,0m11.3,4.586a.991.991,0,0,1-.992.992H11.508a.992.992,0,0,1,0-1.984h9.184a.994.994,0,0,1,.992.992M17.391,15.16a.992.992,0,0,1,.27-1.375l2.293-1.551a.989.989,0,1,1,1.109,1.637l-2.3,1.551a.965.965,0,0,1-.551.172.994.994,0,0,1-.824-.434m6.289,6.094a.707.707,0,0,1-.207.5l-1.707,1.707a.707.707,0,0,1-.5.207H10.8a.707.707,0,0,1-.5-.207L8.6,21.754a.707.707,0,0,1-.207-.5V10.8a.707.707,0,0,1,.207-.5L10.3,8.594a.707.707,0,0,1,.5-.207H21.266a.707.707,0,0,1,.5.207L23.473,10.3a.707.707,0,0,1,.207.5ZM25.129,9.16,22.9,6.93A1.807,1.807,0,0,0,21.629,6.4H10.438a1.807,1.807,0,0,0-1.273.527L6.938,9.16a1.8,1.8,0,0,0-.527,1.27V21.621a1.8,1.8,0,0,0,.527,1.273l2.227,2.23a1.81,1.81,0,0,0,1.273.523H21.629a1.8,1.8,0,0,0,1.273-.523l2.227-2.23a1.784,1.784,0,0,0,.527-1.273V10.434a1.784,1.784,0,0,0-.527-1.273"/>`,
"Ruby": `<defs><linearGradient id="a" x1="-235.957" y1="-308.579" x2="-235.986" y2="-308.527" gradientTransform="matrix(202.935, 0, 0, -202.78, 47910.461, -62541.16)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fb7655"/><stop offset="0.41" stop-color="#e42b1e"/><stop offset="0.99" stop-color="#900"/><stop offset="1" stop-color="#900"/></linearGradient><linearGradient id="b" x1="-235.571" y1="-309.087" x2="-235.697" y2="-309.041" gradientTransform="matrix(60.308, 0, 0, -111.778, 14236.351, -34525.395)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#871101"/><stop offset="0.99" stop-color="#911209"/><stop offset="1" stop-color="#911209"/></linearGradient><linearGradient id="c" x1="-235.896" y1="-313.362" x2="-235.937" y2="-313.129" gradientTransform="matrix(188.32, 0, 0, -21.986, 44447.302, -6856.882)" xlink:href="#b"/><linearGradient id="d" x1="-233.515" y1="-309.082" x2="-233.497" y2="-309.161" gradientTransform="matrix(65.222, 0, 0, -97.1, 15237.802, -29991.814)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="0.23" stop-color="#e57252"/><stop offset="0.46" stop-color="#de3b20"/><stop offset="0.99" stop-color="#a60003"/><stop offset="1" stop-color="#a60003"/></linearGradient><linearGradient id="e" x1="-235.314" y1="-309.534" x2="-235.31" y2="-309.607" gradientTransform="matrix(105.32, 0, 0, -106.825, 24798.925, -33053.152)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="0.23" stop-color="#e4714e"/><stop offset="0.56" stop-color="#be1a0d"/><stop offset="0.99" stop-color="#a80d00"/><stop offset="1" stop-color="#a80d00"/></linearGradient><linearGradient id="f" x1="-235.882" y1="-311.851" x2="-235.869" y2="-311.935" gradientTransform="matrix(94.321, 0, 0, -66.418, 22271.499, -20707.004)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="0.18" stop-color="#e46342"/><stop offset="0.4" stop-color="#c82410"/><stop offset="0.99" stop-color="#a80d00"/><stop offset="1" stop-color="#a80d00"/></linearGradient><linearGradient id="g" x1="-235.412" y1="-321.074" x2="-235.333" y2="-320.958" gradientTransform="matrix(70.767, 0, 0, -24.301, 16678.116, -7798.647)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="0.54" stop-color="#c81f11"/><stop offset="0.99" stop-color="#bf0905"/><stop offset="1" stop-color="#bf0905"/></linearGradient><linearGradient id="h" x1="-223.821" y1="-310.116" x2="-223.796" y2="-310.18" gradientTransform="matrix(18.177, 0, 0, -72.645, 4071.017, -22510.233)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="0.31" stop-color="#de4024"/><stop offset="0.99" stop-color="#bf190b"/><stop offset="1" stop-color="#bf190b"/></linearGradient><linearGradient id="i" x1="-235.561" y1="-309.258" x2="-235.424" y2="-309.116" gradientTransform="matrix(158.162, 0, 0, -157.937, 37256.313, -48819.382)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#bd0012"/><stop offset="0.07" stop-color="#fff"/><stop offset="0.17" stop-color="#fff"/><stop offset="0.27" stop-color="#c82f1c"/><stop offset="0.33" stop-color="#820c01"/><stop offset="0.46" stop-color="#a31601"/><stop offset="0.72" stop-color="#b31301"/><stop offset="0.99" stop-color="#e82609"/><stop offset="1" stop-color="#e82609"/></linearGradient><linearGradient id="j" x1="-235.424" y1="-309.143" x2="-235.476" y2="-309.126" gradientTransform="matrix(127.074, 0, 0, -97.409, 29932.229, -30086.947)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#8c0c01"/><stop offset="0.54" stop-color="#990c00"/><stop offset="0.99" stop-color="#a80d0e"/><stop offset="1" stop-color="#a80d0e"/></linearGradient><linearGradient id="k" x1="-235.839" y1="-309.604" x2="-235.901" y2="-309.555" gradientTransform="matrix(94.011, 0, 0, -105.603, 22198.743, -32676.856)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7e110b"/><stop offset="0.99" stop-color="#9e0c00"/><stop offset="1" stop-color="#9e0c00"/></linearGradient><linearGradient id="l" x1="-235.854" y1="-311.24" x2="-235.891" y2="-311.202" gradientTransform="matrix(79.702, 0, 0, -81.791, 18827.397, -25447.905)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#79130d"/><stop offset="0.99" stop-color="#9e120b"/><stop offset="1" stop-color="#9e120b"/></linearGradient><radialGradient id="m" cx="-235.882" cy="-312.543" r="0.076" gradientTransform="matrix(93.113, 0, 0, -48.655, 21986.073, -15193.61)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#a80d00"/><stop offset="0.99" stop-color="#7e0e08"/><stop offset="1" stop-color="#7e0e08"/></radialGradient><radialGradient id="n" cx="-235.282" cy="-309.704" r="0.097" gradientTransform="matrix(97.434, 0, 0, -75.848, 22937.057, -23467.84)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#a30c00"/><stop offset="0.99" stop-color="#800e08"/><stop offset="1" stop-color="#800e08"/></radialGradient><linearGradient id="o" x1="-231.241" y1="-309.435" x2="-231.299" y2="-309.337" gradientTransform="matrix(40.137, 0, 0, -81.143, 9286.998, -25078.589)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#8b2114"/><stop offset="0.43" stop-color="#9e100a"/><stop offset="0.99" stop-color="#b3100c"/><stop offset="1" stop-color="#b3100c"/></linearGradient><linearGradient id="p" x1="-235.898" y1="-317.466" x2="-235.831" y2="-317.537" gradientTransform="matrix(78.099, 0, 0, -32.624, 18447.361, -10353.553)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#b31000"/><stop offset="0.44" stop-color="#910f08"/><stop offset="0.99" stop-color="#791c12"/><stop offset="1" stop-color="#791c12"/></linearGradient></defs><title>file_type_ruby</title><path d="M23.693,20.469,7.707,29.961l20.7-1.4L30,7.685Z" style="fill:url(#a)"/><path d="M28.44,28.542,26.661,16.263l-4.846,6.4Z" style="fill:url(#b)"/><path d="M28.464,28.542,15.43,27.519,7.776,29.934Z" style="fill:url(#c)"/><path d="M7.794,29.937,11.05,19.27,3.885,20.8Z" style="fill:url(#d)"/><path d="M21.813,22.7l-3-11.735L10.243,19Z" style="fill:url(#e)"/><path d="M29.32,11.127l-8.1-6.619-2.257,7.3Z" style="fill:url(#f)"/><path d="M25.53,2.148,20.763,4.782l-3.007-2.67Z" style="fill:url(#g)"/><path d="M2,24.38l2-3.642L2.382,16.4Z" style="fill:url(#h)"/><path d="M2.274,16.263,3.9,20.873l7.062-1.584L19.024,11.8,21.3,4.569l-3.583-2.53-6.091,2.28C9.706,6.1,5.982,9.635,5.848,9.7s-2.459,4.464-3.574,6.562Z" style="fill:#fff"/><path d="M7.981,7.981C12.14,3.858,17.5,1.421,19.559,3.5s-.124,7.121-4.283,11.244S5.821,21.434,3.765,19.358,3.822,12.1,7.981,7.981Z" style="fill:url(#i)"/><path d="M7.794,29.933l3.231-10.7,10.729,3.447c-3.879,3.638-8.194,6.713-13.96,7.254Z" style="fill:url(#j)"/><path d="M19.038,11.774l2.754,10.91c3.24-3.407,6.149-7.07,7.573-11.6l-10.328.691Z" style="fill:url(#k)"/><path d="M29.337,11.139c1.1-3.327,1.357-8.1-3.841-8.985L21.231,4.509l8.106,6.629Z" style="fill:url(#l)"/><path d="M2,24.332c.153,5.49,4.114,5.572,5.8,5.62l-3.9-9.1L2,24.332Z" style="fill:#9e1209"/><path d="M19.053,11.791c2.49,1.531,7.509,4.6,7.61,4.661a17.552,17.552,0,0,0,2.619-5.343l-10.229.683Z" style="fill:url(#m)"/><path d="M11.021,19.232l4.319,8.332a27.924,27.924,0,0,0,6.385-4.88l-10.7-3.452Z" style="fill:url(#n)"/><path d="M3.887,20.861l-.612,7.287c1.155,1.577,2.743,1.714,4.409,1.591-1.205-3-3.614-9-3.8-8.878Z" style="fill:url(#o)"/><path d="M21.206,4.528l8.58,1.2c-.458-1.94-1.864-3.192-4.261-3.584l-4.319,2.38Z" style="fill:url(#p)"/>`,
"Rust": `<defs><radialGradient id="a" cx="-492.035" cy="-883.37" r="13.998" gradientTransform="matrix(0.866, -0.5, -0.3, -0.52, 177.106, -689.033)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#7d7d7d"/><stop offset="0.267" stop-color="#7e7c7a"/><stop offset="0.45" stop-color="#817871"/><stop offset="0.608" stop-color="#867162"/><stop offset="0.753" stop-color="#8d684c"/><stop offset="0.886" stop-color="#965c30"/><stop offset="1" stop-color="#a04f12"/></radialGradient></defs><title>file_type_rust</title><path d="M15.124,5.3a.832.832,0,1,1,.832.832h0a.831.831,0,0,1-.832-.832M5.2,12.834a.832.832,0,1,1,.832.832h0a.832.832,0,0,1-.832-.832m19.856.039a.832.832,0,1,1,.832.832.831.831,0,0,1-.832-.832h0M7.605,14.013a.76.76,0,0,0,.386-1l-.369-.835H9.074v6.545H6.144a10.247,10.247,0,0,1-.332-3.911Zm6.074.161V12.245h3.458c.179,0,1.261.206,1.261,1.016,0,.672-.83.913-1.513.913ZM8.958,24.561a.832.832,0,1,1,.832.832.831.831,0,0,1-.832-.832h0m12.331.039a.832.832,0,1,1,.832.832.832.832,0,0,1-.832-.832h0m.257-1.887a.758.758,0,0,0-.9.584l-.418,1.949a10.249,10.249,0,0,1-8.545-.041l-.417-1.949a.759.759,0,0,0-.9-.583h0l-1.721.37a10.233,10.233,0,0,1-.89-1.049h8.374c.095,0,.158-.017.158-.1V18.928c0-.086-.063-.1-.158-.1h-2.45V16.947h2.649a1.665,1.665,0,0,1,1.629,1.412c.105.413.336,1.757.494,2.187.157.483.8,1.447,1.482,1.447h4.323a10.243,10.243,0,0,1-.949,1.1Zm4.65-7.821a10.261,10.261,0,0,1,.022,1.779H25.167c-.105,0-.148.069-.148.172v.483c0,1.136-.641,1.384-1.2,1.447-.535.06-1.128-.224-1.2-.551a3.616,3.616,0,0,0-1.671-2.808c1.03-.654,2.1-1.619,2.1-2.911A3.292,3.292,0,0,0,21.44,9.8a4.559,4.559,0,0,0-2.2-.724H8.367A10.246,10.246,0,0,1,14.1,5.84l1.282,1.344a.758.758,0,0,0,1.072.026h0l1.434-1.372a10.248,10.248,0,0,1,7.015,5l-.982,2.217a.761.761,0,0,0,.386,1Zm2.448.036-.033-.343,1.011-.943a.42.42,0,0,0-.013-.595.428.428,0,0,0-.121-.081L28.2,12.483l-.1-.334.806-1.12a.422.422,0,0,0-.13-.581.43.43,0,0,0-.133-.055l-1.363-.222-.164-.306.573-1.257a.419.419,0,0,0-.236-.544.426.426,0,0,0-.146-.029l-1.383.048L25.7,7.819l.318-1.347a.421.421,0,0,0-.343-.487.435.435,0,0,0-.144,0L24.183,6.3l-.266-.219L23.966,4.7a.421.421,0,0,0-.431-.411.426.426,0,0,0-.141.028l-1.257.573-.306-.164-.222-1.363a.421.421,0,0,0-.5-.318.43.43,0,0,0-.133.055l-1.121.806-.333-.1-.483-1.293a.421.421,0,0,0-.555-.215.442.442,0,0,0-.12.08L17.418,3.39l-.343-.033L16.347,2.18a.421.421,0,0,0-.688,0l-.728,1.177-.343.033-.943-1.012a.421.421,0,0,0-.595.015.442.442,0,0,0-.08.12L12.483,3.8l-.333.1-1.12-.8a.422.422,0,0,0-.581.13.43.43,0,0,0-.055.133l-.222,1.363-.306.164L8.608,4.317a.421.421,0,0,0-.544.239.444.444,0,0,0-.028.144l.048,1.383L7.818,6.3,6.471,5.984a.421.421,0,0,0-.487.343.435.435,0,0,0,0,.144L6.3,7.819l-.218.265L4.7,8.036a.422.422,0,0,0-.383.573L4.89,9.866l-.164.306-1.363.222a.42.42,0,0,0-.318.5.43.43,0,0,0,.055.133l.806,1.12-.1.334-1.293.483a.421.421,0,0,0-.215.555.414.414,0,0,0,.081.121l1.011.943-.033.343-1.177.728a.421.421,0,0,0,0,.688l1.177.728.033.343-1.011.943a.421.421,0,0,0,.015.595.436.436,0,0,0,.119.08l1.293.483.1.334L3.1,20.972a.421.421,0,0,0,.131.581.43.43,0,0,0,.133.055l1.363.222.164.307-.573,1.257a.422.422,0,0,0,.24.545.438.438,0,0,0,.143.028l1.383-.048.219.266-.317,1.348a.42.42,0,0,0,.341.486.4.4,0,0,0,.146,0L7.818,25.7l.266.218L8.035,27.3a.419.419,0,0,0,.429.41.413.413,0,0,0,.143-.028l1.257-.573.306.164.222,1.362a.421.421,0,0,0,.5.319.407.407,0,0,0,.133-.055l1.12-.807.334.1.483,1.292a.422.422,0,0,0,.556.214.436.436,0,0,0,.119-.08l.943-1.011.343.034.728,1.177a.422.422,0,0,0,.588.1.413.413,0,0,0,.1-.1l.728-1.177.343-.034.943,1.011a.421.421,0,0,0,.595-.015.436.436,0,0,0,.08-.119l.483-1.292.334-.1,1.12.807a.421.421,0,0,0,.581-.131.43.43,0,0,0,.055-.133l.222-1.362.306-.164,1.257.573a.421.421,0,0,0,.544-.239.438.438,0,0,0,.028-.143l-.048-1.384.265-.218,1.347.317a.421.421,0,0,0,.487-.34.447.447,0,0,0,0-.146L25.7,24.183l.218-.266,1.383.048a.421.421,0,0,0,.41-.431.4.4,0,0,0-.028-.142l-.573-1.257.164-.307,1.363-.222a.421.421,0,0,0,.319-.5.434.434,0,0,0-.056-.135l-.806-1.12.1-.334,1.293-.483a.42.42,0,0,0,.215-.554.414.414,0,0,0-.081-.121l-1.011-.943.033-.343,1.177-.728a.421.421,0,0,0,0-.688Z" style="fill:url(#a)"/>`,
"SAS": `<path d="M16.018,30A14,14,0,1,1,30,16.2,14,14,0,0,1,16.018,30Z" style="fill:#002bb5"/><path d="M9.17,22.63c.026.061.046.124.077.183,2.215,4.206,7.738,4.616,10.756,2.454a6.017,6.017,0,0,0,1.731-8.583,15.7,15.7,0,0,0-1.318-1.731c-.881-1.067-1.755-2.14-2.636-3.207-.366-.443-.767-.835-1.416-.683a1.393,1.393,0,0,0-.816,2.311c.888,1.106,1.819,2.177,2.7,3.286a3.874,3.874,0,0,1,.589,4.4,5.423,5.423,0,0,1-5,3.134A6.6,6.6,0,0,1,9.17,22.63Z" style="fill:#fff"/><path d="M22.494,9.609c.08-.248-.066-.37-.141-.509A7.477,7.477,0,0,0,12.6,6.237c-3.3,1.63-5.1,5.352-2.637,9.147a56.53,56.53,0,0,0,4.135,5.12,1.012,1.012,0,0,0,.709.345,1.384,1.384,0,0,0,1.428-.765,1.247,1.247,0,0,0-.173-1.507c-.876-1.051-1.769-2.088-2.615-3.162a4.13,4.13,0,0,1,.323-5.771A6.054,6.054,0,0,1,19.984,8.13,5.19,5.19,0,0,1,22.494,9.609Z" style="fill:#fff"/>`,
"Sass (Sass)": `<path d="M26.11,17.572a5.8,5.8,0,0,0-2.537.588,5.345,5.345,0,0,1-.568-1.314,3.53,3.53,0,0,1-.051-1.1,9.811,9.811,0,0,1,.332-1.192c-.005-.051-.061-.292-.624-.3s-1.048.107-1.1.256a6.171,6.171,0,0,0-.235.834,19.686,19.686,0,0,1-1.713,3.294,3.186,3.186,0,0,1-.44-2.066,9.811,9.811,0,0,1,.332-1.192c-.005-.051-.061-.292-.624-.3s-1.048.107-1.1.256-.118.5-.235.834-1.483,3.386-1.841,4.173c-.184.4-.343.726-.455.946h0a.233.233,0,0,1-.02.041c-.1.189-.153.292-.153.292v.005c-.077.138-.159.266-.2.266a1.711,1.711,0,0,1,.01-.869c.2-1.059.69-2.705.685-2.762,0-.031.092-.317-.317-.465a.508.508,0,0,0-.578.1c-.036,0-.061.087-.061.087s.445-1.851-.849-1.851a3.855,3.855,0,0,0-2.475,1.683c-.348.189-1.089.593-1.882,1.028-.3.169-.614.338-.905.5-.02-.02-.041-.046-.061-.066C6.87,17.6,3.975,16.416,4.1,14.171c.046-.818.327-2.966,5.559-5.575,4.306-2.122,7.733-1.534,8.326-.23.849,1.862-1.836,5.319-6.285,5.82a3.351,3.351,0,0,1-2.813-.711c-.235-.256-.271-.271-.358-.22-.143.077-.051.307,0,.44a2.626,2.626,0,0,0,1.606,1.263,8.55,8.55,0,0,0,5.217-.517c2.7-1.043,4.8-3.943,4.184-6.372-.619-2.465-4.71-3.278-8.582-1.9A19.5,19.5,0,0,0,4.359,9.952c-2.133,1.995-2.47,3.728-2.332,4.455.5,2.578,4.051,4.255,5.472,5.5-.072.041-.138.077-.194.107-.711.353-3.421,1.77-4.1,3.268-.767,1.7.123,2.915.711,3.079a4.374,4.374,0,0,0,4.71-1.908A4.725,4.725,0,0,0,9.049,20.1a.107.107,0,0,0-.02-.031l.557-.327c.363-.215.721-.414,1.028-.578a6.74,6.74,0,0,0-.363,1.862,3.886,3.886,0,0,0,.834,2.7.921.921,0,0,0,.675.22c.6,0,.875-.5,1.176-1.094.368-.726.7-1.57.7-1.57s-.414,2.281.711,2.281c.409,0,.823-.532,1.008-.8v.005s.01-.015.031-.051l.066-.107v-.01c.164-.286.532-.936,1.079-2.015.706-1.391,1.386-3.13,1.386-3.13a8.888,8.888,0,0,0,.271,1.13,10.643,10.643,0,0,0,.583,1.309c-.164.23-.266.358-.266.358l.005.005c-.133.174-.276.363-.435.547a16.3,16.3,0,0,0-1.314,1.647.447.447,0,0,0,.123.6,1.116,1.116,0,0,0,.685.113,3.147,3.147,0,0,0,1.028-.235,3.45,3.45,0,0,0,.885-.465,1.98,1.98,0,0,0,.849-1.744,3.521,3.521,0,0,0-.322-1.233c.051-.072.1-.143.148-.215a23.428,23.428,0,0,0,1.534-2.649,8.888,8.888,0,0,0,.271,1.13,7.57,7.57,0,0,0,.5,1.125A4.861,4.861,0,0,0,20.965,20.8c-.322.931-.072,1.35.4,1.447a1.425,1.425,0,0,0,.747-.153,3.4,3.4,0,0,0,.946-.486,2.126,2.126,0,0,0,1.043-1.729,3.268,3.268,0,0,0-.235-1.023,5.356,5.356,0,0,1,2.716-.312c2.434.286,2.915,1.805,2.823,2.445a1.618,1.618,0,0,1-.772,1.094c-.169.107-.225.143-.21.22.02.113.1.107.245.087A1.9,1.9,0,0,0,30,20.7c.077-1.5-1.355-3.145-3.887-3.13ZM7.33,23.9c-.808.88-1.933,1.212-2.419.931-.522-.3-.317-1.6.675-2.532a12.884,12.884,0,0,1,1.9-1.417c.118-.072.292-.174.5-.3l.056-.031h0l.123-.077A3.493,3.493,0,0,1,7.33,23.9Zm5.881-4c-.281.685-.869,2.44-1.227,2.342-.307-.082-.5-1.412-.061-2.726a6.193,6.193,0,0,1,.956-1.754c.44-.491.926-.655,1.043-.455a9.062,9.062,0,0,1-.711,2.593Zm4.853,2.322c-.118.061-.23.1-.281.072-.036-.02.051-.1.051-.1s.609-.655.849-.951c.138-.174.3-.378.476-.609V20.7c0,.782-.757,1.309-1.094,1.524Zm3.744-.854c-.087-.061-.072-.266.22-.905a3.408,3.408,0,0,1,.834-1.074,1.448,1.448,0,0,1,.082.471,1.547,1.547,0,0,1-1.135,1.509Z" style="fill:#cd6799"/>`,
"Sass (SCSS)": `<path d="M16.171,18.7c-.481.221-1.008.509-2.063,1.088-.4.225-.818.45-1.207.662-.027-.027-.055-.061-.082-.089-2.087-2.23-5.947-3.805-5.783-6.8.061-1.091.436-3.955,7.413-7.433,5.742-2.83,10.311-2.046,11.1-.307C26.683,8.3,23.1,12.913,17.17,13.582a4.469,4.469,0,0,1-3.751-.948c-.314-.341-.361-.361-.477-.293-.191.1-.068.409,0,.586a3.5,3.5,0,0,0,2.141,1.684,11.4,11.4,0,0,0,6.956-.689c3.594-1.391,6.4-5.258,5.578-8.5-.825-3.287-6.281-4.371-11.443-2.537a26,26,0,0,0-8.79,5.047c-2.844,2.66-3.294,4.972-3.11,5.94.662,3.437,5.4,5.674,7.3,7.331-.1.055-.184.1-.259.143-.948.471-4.562,2.36-5.463,4.358-1.023,2.264.164,3.887.948,4.105a5.832,5.832,0,0,0,6.281-2.544,6.3,6.3,0,0,0,.559-5.8,5.03,5.03,0,0,1,.716-.477c.484-.286.945-.568,1.354-.786l0,0a10.475,10.475,0,0,1,4.475-.989c3.246.382,3.887,2.407,3.764,3.26a2.157,2.157,0,0,1-1.03,1.459c-.225.143-.3.191-.28.293.027.15.136.143.327.116a2.535,2.535,0,0,0,1.766-2.257c.1-2-1.807-4.194-5.183-4.174a7.753,7.753,0,0,0-2.946.587q-.225.093-.437.2Zm-4.825,7.839c-1.078,1.173-2.578,1.616-3.226,1.241-.7-.4-.423-2.135.9-3.376a17.18,17.18,0,0,1,2.53-1.889c.157-.1.389-.232.668-.4.048-.027.075-.041.075-.041l.164-.1A4.658,4.658,0,0,1,11.346,26.539Z" style="fill:#cd6799"/>`,
"Scala": `<defs><linearGradient id="a" x1="-134.907" y1="204.572" x2="-134.896" y2="204.572" gradientTransform="matrix(1538, 0, 0, -961.25, 207495, 196661)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e62d2a"/><stop offset="0.6" stop-color="#df3f3d"/><stop offset="0.8" stop-color="#df3f3d"/><stop offset="1" stop-color="#e62d2a"/></linearGradient><linearGradient id="b" x1="-134.907" y1="203.781" x2="-134.896" y2="203.781" gradientTransform="matrix(1538, 0, 0, -961.25, 207495, 195892)" xlink:href="#a"/><linearGradient id="c" x1="-134.907" y1="205.363" x2="-134.896" y2="205.363" gradientTransform="matrix(1538, 0, 0, -961.25, 207495, 197430)" xlink:href="#a"/></defs><title>file_type_scala</title><path d="M7.384,19.231v2.154c0,.363,7.833.971,12.937,2.154,2.465-.571,4.295-1.277,4.295-2.154V19.231c0-.877-1.83-1.582-4.295-2.154-5.1,1.183-12.937,1.791-12.937,2.154" style="fill:#7f0c1d"/><path d="M7.384,10.615v2.154c0,.363,7.833.971,12.937,2.154,2.465-.571,4.295-1.277,4.295-2.154V10.615c0-.877-1.83-1.582-4.295-2.154-5.1,1.183-12.937,1.791-12.937,2.154" style="fill:#7f0c1d"/><path d="M7.384,14.923v6.462c0-.538,17.232-1.615,17.232-4.308V10.615c0,2.692-17.232,3.769-17.232,4.308" style="fill:url(#a)"/><path d="M7.384,6.308V12.77c0-.538,17.232-1.615,17.232-4.308V2c0,2.692-17.232,3.769-17.232,4.308" style="fill:url(#b)"/><path d="M7.384,23.538V30c0-.538,17.232-1.615,17.232-4.308V19.231c0,2.692-17.232,3.769-17.232,4.308" style="fill:url(#c)"/>`,
"Shell session": `<path d="M29.4,27.6H2.5V4.5H29.4Zm-25.9-1H28.4V5.5H3.5Z" style="fill:#d9b400"/><polygon points="6.077 19.316 5.522 18.484 10.366 15.255 5.479 11.184 6.12 10.416 12.035 15.344 6.077 19.316" style="fill:#d9b400"/><rect x="12.7" y="18.2" width="7.8" height="1" style="fill:#d9b400"/><rect x="2.5" y="5.5" width="26.9" height="1.9" style="fill:#d9b400"/>`,
"Shell": `<path d="M29.4,27.6H2.5V4.5H29.4Zm-25.9-1H28.4V5.5H3.5Z" style="fill:#d9b400"/><polygon points="6.077 19.316 5.522 18.484 10.366 15.255 5.479 11.184 6.12 10.416 12.035 15.344 6.077 19.316" style="fill:#d9b400"/><rect x="12.7" y="18.2" width="7.8" height="1" style="fill:#d9b400"/><rect x="2.5" y="5.5" width="26.9" height="1.9" style="fill:#d9b400"/>`,
"Smarty": `<defs><linearGradient id="a" x1="13.859" y1="29.219" x2="18.106" y2="29.219" gradientUnits="userSpaceOnUse"><stop offset="0.034" stop-color="#636361"/><stop offset="0.178" stop-color="#6c6d70"/><stop offset="0.219" stop-color="#6f7175"/><stop offset="0.309" stop-color="#616366"/><stop offset="0.481" stop-color="#3c3d3f"/><stop offset="0.716" stop-color="#010101"/><stop offset="0.719"/><stop offset="1" stop-color="#636a6e"/></linearGradient><linearGradient id="b" x1="15.178" y1="29.734" x2="16.787" y2="29.734" xlink:href="#a"/><linearGradient id="c" x1="15.277" y1="29.881" x2="16.688" y2="29.881" gradientUnits="userSpaceOnUse"><stop offset="0.034" stop-color="#9b9b98"/><stop offset="0.131" stop-color="#a4a5a7"/><stop offset="0.219" stop-color="#aeb1b8"/><stop offset="0.352" stop-color="#9fa4ab"/><stop offset="0.605" stop-color="#788188"/><stop offset="0.719" stop-color="#657076"/><stop offset="1" stop-color="#8b949a"/></linearGradient><radialGradient id="d" cx="-8.456" cy="-16.616" r="19.383" gradientTransform="translate(34.042 37.063) scale(1.054)" gradientUnits="userSpaceOnUse"><stop offset="0.034" stop-color="#70706e"/><stop offset="0.112" stop-color="#616261"/><stop offset="0.219" stop-color="#46474a"/><stop offset="0.408" stop-color="#48494c"/><stop offset="0.487" stop-color="#4e5053"/><stop offset="0.544" stop-color="#5a5c5f"/><stop offset="0.592" stop-color="#6a6e71"/><stop offset="0.633" stop-color="#7f8588"/><stop offset="0.667" stop-color="#979ea1"/><stop offset="0.719" stop-color="#3d4447"/><stop offset="1" stop-color="#656c70"/></radialGradient><linearGradient id="e" x1="16.126" y1="28.108" x2="16.05" y2="26.893" gradientUnits="userSpaceOnUse"><stop offset="0.034" stop-color="#9b9b98"/><stop offset="0.109" stop-color="#a5a6a7"/><stop offset="0.219" stop-color="#babcc4"/><stop offset="0.311" stop-color="#abaeb5"/><stop offset="0.487" stop-color="#84898f"/><stop offset="0.719" stop-color="#485054"/><stop offset="1" stop-color="#8b949a"/></linearGradient><linearGradient id="f" x1="16.013" y1="26.542" x2="15.895" y2="24.635" xlink:href="#e"/><linearGradient id="g" x1="16.023" y1="25.546" x2="15.887" y2="23.355" xlink:href="#e"/><linearGradient id="h" x1="16.013" y1="27.627" x2="15.895" y2="25.72" xlink:href="#e"/><linearGradient id="j" x1="13.68" y1="28.805" x2="18.284" y2="28.805" gradientUnits="userSpaceOnUse"><stop offset="0.034" stop-color="#545453"/><stop offset="0.071" stop-color="#616262"/><stop offset="0.143" stop-color="#848589"/><stop offset="0.219" stop-color="#aeb1b8"/><stop offset="0.352" stop-color="#9fa4ab"/><stop offset="0.605" stop-color="#788188"/><stop offset="0.719" stop-color="#657076"/><stop offset="1" stop-color="#505659"/></linearGradient><linearGradient id="k" x1="12.159" y1="25.813" x2="19.475" y2="25.813" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e5e1df"/><stop offset="0" stop-color="#dddad6"/><stop offset="0.038" stop-color="#ceccc9"/><stop offset="0.112" stop-color="#a7a9a8"/><stop offset="0.212" stop-color="#697072"/><stop offset="0.264" stop-color="#465054"/><stop offset="0.303" stop-color="#636c6f"/><stop offset="0.398" stop-color="#a5aaac"/><stop offset="0.478" stop-color="#d5d7d9"/><stop offset="0.539" stop-color="#f3f4f5"/><stop offset="0.573" stop-color="#fefeff"/><stop offset="0.62" stop-color="#f4f5f6"/><stop offset="0.699" stop-color="#dadcdf"/><stop offset="0.8" stop-color="#b0b4b9"/><stop offset="0.876" stop-color="#8b9298"/><stop offset="1" stop-color="#d1d3d4"/><stop offset="1" stop-color="#a7a9ac"/></linearGradient><linearGradient id="l" x1="12.159" y1="24.728" x2="19.475" y2="24.728" xlink:href="#k"/><linearGradient id="m" x1="12.159" y1="23.548" x2="19.475" y2="23.548" xlink:href="#k"/><linearGradient id="n" x1="12.159" y1="26.898" x2="19.475" y2="26.898" xlink:href="#k"/><linearGradient id="o" x1="12.159" y1="25.967" x2="19.475" y2="25.967" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e5e1df"/><stop offset="0" stop-color="#dde8d0"/><stop offset="0" stop-color="#d2f3ba"/><stop offset="0.036" stop-color="#c5e4b1"/><stop offset="0.105" stop-color="#a4bd98"/><stop offset="0.199" stop-color="#6e7f71"/><stop offset="0.264" stop-color="#465054"/><stop offset="0.303" stop-color="#636c6f"/><stop offset="0.398" stop-color="#a5aaac"/><stop offset="0.478" stop-color="#d5d7d9"/><stop offset="0.539" stop-color="#f3f4f5"/><stop offset="0.573" stop-color="#fefeff"/><stop offset="0.62" stop-color="#f4f5f6"/><stop offset="0.699" stop-color="#dadcdf"/><stop offset="0.8" stop-color="#b0b4b9"/><stop offset="0.876" stop-color="#8b9298"/><stop offset="1" stop-color="#d1d3d4"/><stop offset="1" stop-color="#a7a9ac"/></linearGradient><linearGradient id="p" x1="12.159" y1="24.883" x2="19.475" y2="24.883" xlink:href="#o"/><linearGradient id="q" x1="12.159" y1="27.05" x2="19.475" y2="27.05" xlink:href="#o"/><linearGradient id="r" x1="11.902" y1="23.201" x2="19.884" y2="23.201" xlink:href="#e"/><radialGradient id="s" cx="-16.983" cy="-22.948" r="10.718" gradientTransform="translate(34.042 37.063) scale(1.054)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffffd1"/><stop offset="0.505" stop-color="#ff0"/><stop offset="0.568" stop-color="#fdf700"/><stop offset="0.664" stop-color="#f6e200"/><stop offset="0.782" stop-color="#ebbf00"/><stop offset="0.906" stop-color="#de9200"/><stop offset="1" stop-color="#da9819"/></radialGradient></defs><title>file_type_smarty</title><path d="M13.859,28.776a.242.242,0,0,0,.128.191,12,12,0,0,0,1.392.622,4.3,4.3,0,0,0,.578.072h.052a4.3,4.3,0,0,0,.578-.072,12.014,12.014,0,0,0,1.392-.622.243.243,0,0,0,.128-.191l-2.137.192Z" style="fill:url(#a)"/><path d="M16.014,30a1.123,1.123,0,0,0,.688-.247.175.175,0,0,0,.085-.126v-.105a3.235,3.235,0,0,0-.773-.053h-.063a3.237,3.237,0,0,0-.773.053v.105a.175.175,0,0,0,.085.126,1.122,1.122,0,0,0,.688.247Z" style="fill:url(#b)"/><path d="M15.951,29.807a4.732,4.732,0,0,1-.674-.044,1.105,1.105,0,0,0,.674.237h.063a1.106,1.106,0,0,0,.675-.237,4.733,4.733,0,0,1-.675.044Z" style="fill:url(#c)"/><path d="M19.809,26.838a1,1,0,0,0-.234.389c-.036.181-.1.585-1.326,1.406l-.025.017a.435.435,0,0,1-.086.037,9.968,9.968,0,0,1-2.155.209,9.968,9.968,0,0,1-2.156-.209.436.436,0,0,1-.085-.036l-.025-.017a4.579,4.579,0,0,1-1.12-.957c-.164-.219-.373-.257-.39-.345a21.055,21.055,0,0,0,3.855.057,13.049,13.049,0,0,0,3.761-.654A.692.692,0,0,1,19.809,26.838Z" style="fill:url(#d)"/><path d="M19.772,26.88a.985.985,0,0,1-.246.129c-.076.028-.245.078-.245.078a25.15,25.15,0,0,1-6.458.436c-.136-.009-.32-.028-.32-.028a1.062,1.062,0,0,1-.14-.028,1.016,1.016,0,0,1,.14.107c.16.013.319.019.319.019a26.864,26.864,0,0,0,6.743-.323l.009-.042A.885.885,0,0,1,19.772,26.88Z" style="fill:url(#e)"/><path d="M19.439,25.382s.245-.07.245-.162a.114.114,0,0,0-.013-.065.214.214,0,0,1-.061-.144.437.437,0,0,1,.119-.27,1.069,1.069,0,0,1-.2.1c-.076.028-.245.078-.245.078a25.151,25.151,0,0,1-6.458.436c-.136-.009-.32-.028-.32-.028a1.055,1.055,0,0,1-.181-.041.377.377,0,0,1,.078.217.716.716,0,0,1-.254.432.673.673,0,0,1,.368-.079A26.2,26.2,0,0,0,19.439,25.382Z" style="fill:url(#f)"/><path d="M19.439,24.229s.245-.078.245-.182a.143.143,0,0,0-.013-.073.254.254,0,0,1-.061-.162.514.514,0,0,1,.119-.3,1.026,1.026,0,0,1-.2.111c-.076.032-.245.088-.245.088a22.507,22.507,0,0,1-6.458.489c-.136-.01-.32-.032-.32-.032a.953.953,0,0,1-.181-.046.455.455,0,0,1,.078.243.825.825,0,0,1-.254.484.614.614,0,0,1,.368-.089C13.014,24.758,16.935,25.041,19.439,24.229Z" style="fill:url(#g)"/><path d="M19.439,26.467s.245-.07.245-.163a.115.115,0,0,0-.013-.065.214.214,0,0,1-.061-.144.435.435,0,0,1,.119-.27,1.07,1.07,0,0,1-.2.1c-.076.028-.245.078-.245.078a25.162,25.162,0,0,1-6.458.436c-.136-.009-.32-.028-.32-.028a1.042,1.042,0,0,1-.181-.041.377.377,0,0,1,.078.217.717.717,0,0,1-.254.432.67.67,0,0,1,.368-.079A26.207,26.207,0,0,0,19.439,26.467Z" style="fill:url(#h)"/><path d="M19.439,26.467s.245-.07.245-.163a.115.115,0,0,0-.013-.065.214.214,0,0,1-.061-.144.435.435,0,0,1,.119-.27,1.07,1.07,0,0,1-.2.1c-.076.028-.245.078-.245.078a25.168,25.168,0,0,1-6.458.436c-.136-.009-.32-.028-.32-.028a1.042,1.042,0,0,1-.181-.041.376.376,0,0,1,.078.217.717.717,0,0,1-.254.432.67.67,0,0,1,.368-.079A26.207,26.207,0,0,0,19.439,26.467Z" style="fill:url(#h)"/><path d="M18.224,28.65a.435.435,0,0,1-.086.037,9.968,9.968,0,0,1-2.155.209,9.968,9.968,0,0,1-2.156-.209.436.436,0,0,1-.085-.036l-.025-.017-.029-.019a.112.112,0,0,0,0,.073c.024.073.147.1.147.1a9.943,9.943,0,0,0,2.15.209,9.942,9.942,0,0,0,2.15-.209s.126-.029.147-.1a.118.118,0,0,0,0-.073l-.029.019Z" style="fill:url(#j)"/><path d="M19.944,25.5s.041.252-.418.423c-.076.028-.245.078-.245.078a25.162,25.162,0,0,1-6.458.436c-.136-.009-.32-.028-.32-.028-.276-.038-.467-.16-.455-.308,0,0-.033-.249.466-.249a26.2,26.2,0,0,0,6.925-.472s.245-.07.245-.162a.111.111,0,0,0-.013-.066S19.944,25.312,19.944,25.5Z" style="fill:url(#k)"/><path d="M19.944,24.416s.041.252-.418.423c-.076.028-.245.078-.245.078a25.151,25.151,0,0,1-6.458.436c-.136-.009-.32-.028-.32-.028-.276-.038-.467-.16-.455-.308,0,0-.033-.248.466-.248a26.193,26.193,0,0,0,6.925-.472s.245-.07.245-.162a.11.11,0,0,0-.013-.065S19.944,24.227,19.944,24.416Z" style="fill:url(#l)"/><path d="M19.893,24.406v-.021c-.012.076-.078.236-.417.355-.076.026-.245.073-.245.073a22.372,22.372,0,0,1-5.1.5h0a22.155,22.155,0,0,0,5.1-.441s.169-.047.245-.073C19.933,24.643,19.893,24.406,19.893,24.406Z" style="fill:#fff"/><path d="M19.893,25.491V25.47c-.012.076-.078.236-.417.355-.076.027-.245.073-.245.073a22.38,22.38,0,0,1-5.1.5h0a22.171,22.171,0,0,0,5.1-.441s.169-.047.245-.073C19.933,25.728,19.893,25.491,19.893,25.491Z" style="fill:#fff"/><path d="M19.944,23.034s.041.329-.418.552c-.076.037-.245.1-.245.1a19.409,19.409,0,0,1-6.458.569c-.136-.012-.32-.037-.32-.037-.276-.05-.467-.209-.455-.4,0,0-.033-.324.466-.324a18.283,18.283,0,0,0,6.925-.461,1.014,1.014,0,0,0,.444-.238A.53.53,0,0,1,19.944,23.034Z" style="fill:url(#m)"/><path d="M19.944,26.586s.041.252-.418.423c-.076.028-.245.078-.245.078a25.15,25.15,0,0,1-6.458.436c-.136-.009-.32-.028-.32-.028-.276-.038-.467-.16-.455-.308,0,0-.033-.248.466-.248a26.207,26.207,0,0,0,6.925-.472s.245-.07.245-.163a.111.111,0,0,0-.013-.065S19.944,26.4,19.944,26.586Z" style="fill:url(#n)"/><path d="M19.893,26.576v-.021c-.012.076-.078.236-.417.355-.076.026-.245.073-.245.073a22.372,22.372,0,0,1-5.1.5h0a22.163,22.163,0,0,0,5.1-.441s.169-.047.245-.073C19.933,26.813,19.893,26.576,19.893,26.576Z" style="fill:#fff"/><path d="M19.893,23.321V23.3c-.012.076-.078.236-.417.355-.076.027-.245.073-.245.073a22.372,22.372,0,0,1-5.1.5h0a22.156,22.156,0,0,0,5.1-.441s.169-.047.245-.073C19.933,23.558,19.893,23.321,19.893,23.321Z" style="fill:#fff"/><path d="M12.417,25.881s-.236,0-.241.08.246.085.246.085.175,0,.3.005c.619-.013,1.993-.038,3.437-.166C14.384,25.958,12.723,25.883,12.417,25.881Z" style="fill:url(#o)"/><path d="M12.417,24.8s-.236,0-.241.08.246.085.246.085.175,0,.3.005c.619-.012,1.993-.038,3.437-.166C14.384,24.874,12.723,24.8,12.417,24.8Z" style="fill:url(#p)"/><path d="M12.417,26.965s-.236,0-.241.08.246.085.246.085.175,0,.3.005c.619-.012,1.993-.038,3.437-.166C14.384,27.042,12.723,26.966,12.417,26.965Z" style="fill:url(#q)"/><path d="M11.965,22.779s-.274.315.319.711c0,0,5.775.587,7.6-.695C19.884,22.795,13.623,23.32,11.965,22.779Z" style="fill:url(#r)"/><path d="M20.035,22.779a4.449,4.449,0,0,0,.81-1.155,3.386,3.386,0,0,0,.2-1.115,6.733,6.733,0,0,1,.632-2.91c.534-1.014,2.81-4.447,2.81-7.462A8.012,8.012,0,0,0,16,2a8.012,8.012,0,0,0-8.483,8.136c0,3.015,2.276,6.448,2.81,7.462a6.731,6.731,0,0,1,.632,2.91,3.384,3.384,0,0,0,.2,1.115,4.453,4.453,0,0,0,.81,1.155,13.866,13.866,0,0,0,3.987.37A15.151,15.151,0,0,0,20.035,22.779Z" style="fill:url(#s)"/>`,
"Solidity (Ethereum)": `<path d="M20.477,2l-4.5,8h-9l4.5-8h9" style="fill:#c1c1c1;opacity:0.45;isolation:isolate"/><path d="M11.52,30l4.5-8h9l-4.5,8h-9" style="fill:#c1c1c1;opacity:0.45;isolation:isolate"/><path d="M15.975,10h9l-4.5-8h-9Z" style="fill:#c1c1c1;opacity:0.6;isolation:isolate"/><path d="M16.022,22h-9l4.5,8h9Z" style="fill:#c1c1c1;opacity:0.6;isolation:isolate"/><path d="M11.477,18l4.5-8-4.5-8-4.5,8Z" style="fill:#c1c1c1;opacity:0.8;isolation:isolate"/><path d="M20.52,14l-4.5,8,4.5,8,4.5-8Z" style="fill:#c1c1c1;opacity:0.8;isolation:isolate"/>`,
"Solution file": `<defs><linearGradient id="a" x1="16" y1="-182.072" x2="16" y2="-209.928" gradientTransform="matrix(1, 0, 0, -1, 0, -180)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient></defs><title>file_type_sln</title><path d="M6.045,23.991a1.166,1.166,0,0,1-1.208.191L2.718,23.3A1.168,1.168,0,0,1,2,22.222V9.778A1.165,1.165,0,0,1,2.718,8.7l2.119-.883a1.169,1.169,0,0,1,1.208.191l.476.408A.646.646,0,0,0,5.5,8.942V23.058a.646.646,0,0,0,1.021.525Z" style="fill:#52218a"/><path d="M2.718,23.3A1.169,1.169,0,0,1,2,22.222v-.1a.674.674,0,0,0,1.174.452L21.25,2.583a1.743,1.743,0,0,1,1.99-.338l5.769,2.778A1.749,1.749,0,0,1,30,6.6v.067a1.1,1.1,0,0,0-1.8-.854L6.521,23.583l-.476.408a1.166,1.166,0,0,1-1.208.191Z" style="fill:#6c33af"/><path d="M2.718,8.7A1.168,1.168,0,0,0,2,9.778v.1a.674.674,0,0,1,1.174-.452L21.25,29.416a1.743,1.743,0,0,0,1.99.338l5.769-2.778A1.747,1.747,0,0,0,30,25.4v-.068a1.1,1.1,0,0,1-1.8.855L6.521,8.417l-.476-.408a1.166,1.166,0,0,0-1.208-.191Z" style="fill:#854cc7"/><path d="M23.24,29.755a1.743,1.743,0,0,1-1.99-.338A1.025,1.025,0,0,0,23,28.692V3.308a1.025,1.025,0,0,0-1.75-.725,1.743,1.743,0,0,1,1.99-.338l5.768,2.774A1.749,1.749,0,0,1,30,6.6V25.405a1.751,1.751,0,0,1-.991,1.577Z" style="fill:#b179f1"/><g style="opacity:0.25"><path d="M22.093,29.883a1.74,1.74,0,0,0,1.147-.128l5.768-2.774A1.749,1.749,0,0,0,30,25.4V6.6a1.75,1.75,0,0,0-.992-1.577L23.24,2.245a1.742,1.742,0,0,0-1.99.339l-9.3,10.284L6.521,8.416l-.476-.408a1.168,1.168,0,0,0-1.207-.191L2.719,8.7A1.167,1.167,0,0,0,2,9.689c0,.029,0,.059,0,.088V22.221c0,.03,0,.059,0,.088a1.167,1.167,0,0,0,.715.989l2.119.883a1.226,1.226,0,0,0,.155.052,1.165,1.165,0,0,0,1.052-.243l.476-.408,5.43-4.452,9.3,10.285A1.733,1.733,0,0,0,22.093,29.883ZM23,10.072,15.77,16,23,21.927ZM5.5,12l3.619,4L5.5,20Z" style="fill-rule:evenodd;fill:url(#a)"/></g>`,
"SPARQL": `<path d="M26.284,20.361c-.165-.084-.359-.164-.523-.248H25.9s-1.158-.5-1.24-4.176c-.111-3.655,1.1-4.289,1.1-4.289a4.96,4.96,0,0,0,2.176-2.143,5.122,5.122,0,0,0-2.122-6.927,5.342,5.342,0,0,0-7.138,2.146,5.067,5.067,0,0,0-.523,3.214L18.1,7.855s.3,1.319-2.839,3.272c-3.115,1.95-4.549.962-4.549.962l.082.138a2.131,2.131,0,0,0-.273-.167,5.117,5.117,0,1,0,.825,8.52l-.025.055s1.129-.933,4.407.827c2.592,1.374,2.979,2.748,3.033,3.24a5.1,5.1,0,0,0,2.7,4.7,5.124,5.124,0,1,0,4.825-9.041Zm-5.79.685c-.412.138-1.6.3-4.077-1.017-2.7-1.454-3.115-2.664-3.169-3.021a5.406,5.406,0,0,0-.057-1.319l.029.026S13,14.534,16.084,12.639c2.757-1.705,4.026-1.374,4.245-1.293a2.83,2.83,0,0,0,.47.277,4.082,4.082,0,0,0,.964.383c.387.357,1.076,1.374,1.158,4.1s-.717,3.764-1.158,4.121A5.04,5.04,0,0,0,20.494,21.047Z" style="fill:#0c479c"/><path d="M20.135,4.229a3.861,3.861,0,0,0-.082,5.386c-.717-.685-.688-2.117.029-3.462a.673.673,0,0,1,.746-.277c.025,0,.054.029.082.029a.993.993,0,0,0,.276.026A1.056,1.056,0,0,0,22.2,4.805a.934.934,0,0,0-.3-.685c1.38-.907,2.95-1.017,3.61-.412h.029A3.826,3.826,0,0,0,20.135,4.229ZM5.145,13.846a3.859,3.859,0,0,0-.082,5.389c-.717-.689-.692-2.117.025-3.465a.668.668,0,0,1,.746-.273c.025,0,.054.029.082.029a1,1,0,0,0,.276.026A1.056,1.056,0,0,0,7.21,14.425a.945.945,0,0,0-.3-.689c1.377-.907,2.947-1.017,3.61-.412h.025A3.852,3.852,0,0,0,5.145,13.846Zm15.872,8.163a3.865,3.865,0,0,0-.082,5.389c-.717-.689-.688-2.117.029-3.465a.668.668,0,0,1,.746-.273c.025,0,.054.026.082.026a.887.887,0,0,0,.276.029,1.057,1.057,0,0,0,1.018-1.126.936.936,0,0,0-.3-.689c1.38-.907,2.95-1.017,3.61-.412h.029A3.829,3.829,0,0,0,21.017,22.009Z" style="fill:#fff"/>`,
"SQF": `<path d="M25,23.5H7a5.015,5.015,0,0,1-5-5v-6a5.015,5.015,0,0,1,5-5H25a5.015,5.015,0,0,1,5,5v6a5.015,5.015,0,0,1-5,5Z"/><path d="M7,19.461a4.81,4.81,0,0,1-1.414-.2,5.052,5.052,0,0,1-1.111-.472l-.4.432h-.5L3.5,16.052H4a8.462,8.462,0,0,0,.431.953,4.638,4.638,0,0,0,.606.9,3.177,3.177,0,0,0,.8.675,1.985,1.985,0,0,0,1.029.26,1.672,1.672,0,0,0,1.216-.411A1.382,1.382,0,0,0,8.5,17.391a1.156,1.156,0,0,0-.359-.862,2.945,2.945,0,0,0-1.111-.6q-.49-.167-.9-.31t-.773-.292a2.58,2.58,0,0,1-1.239-1.007,2.73,2.73,0,0,1-.405-1.465,2.406,2.406,0,0,1,.21-.986,2.608,2.608,0,0,1,.612-.85,2.967,2.967,0,0,1,.985-.575,3.722,3.722,0,0,1,1.306-.223,3.984,3.984,0,0,1,1.288.2,5.151,5.151,0,0,1,.944.408l.356-.37h.507l.047,2.988h-.5q-.175-.483-.411-.987a4.332,4.332,0,0,0-.5-.839,2.3,2.3,0,0,0-.659-.573,1.729,1.729,0,0,0-.875-.214A1.437,1.437,0,0,0,6,11.212a1.233,1.233,0,0,0-.4.934,1.141,1.141,0,0,0,.347.86,2.951,2.951,0,0,0,1.082.588q.431.154.88.309t.8.3a2.885,2.885,0,0,1,1.286.955,2.512,2.512,0,0,1,.44,1.512,2.632,2.632,0,0,1-.927,1.985,3.367,3.367,0,0,1-1.079.6A4.391,4.391,0,0,1,7,19.461Z" style="fill:#c2c2c2"/><path d="M18.921,11.434a4.338,4.338,0,0,1,.971,1.432,4.834,4.834,0,0,1,.359,1.914,4.958,4.958,0,0,1-.72,2.68,4.036,4.036,0,0,1-2.038,1.661,2.151,2.151,0,0,0,.42,1.272,1.168,1.168,0,0,0,.95.537,3.563,3.563,0,0,0,.592-.043q.254-.043.458-.1v.543a5.753,5.753,0,0,1-.985.3,6.054,6.054,0,0,1-1.37.151,2.206,2.206,0,0,1-1.612-.621,2.574,2.574,0,0,1-.708-1.732A4.579,4.579,0,0,1,13.7,19a4.186,4.186,0,0,1-1.253-.932,4.388,4.388,0,0,1-.842-1.377,4.769,4.769,0,0,1-.312-1.753,5.237,5.237,0,0,1,.347-1.948,4.5,4.5,0,0,1,.953-1.5,4.119,4.119,0,0,1,1.425-.942,4.86,4.86,0,0,1,3.5-.009A4.247,4.247,0,0,1,18.921,11.434Zm-1.5,6.266a4.857,4.857,0,0,0,.379-1.273,9.981,9.981,0,0,0,.117-1.606,10.534,10.534,0,0,0-.1-1.48,4.936,4.936,0,0,0-.347-1.282,2.41,2.41,0,0,0-.665-.9,1.571,1.571,0,0,0-1.032-.34,1.73,1.73,0,0,0-1.6,1.06,6.634,6.634,0,0,0-.548,2.993,9.583,9.583,0,0,0,.12,1.551,4.8,4.8,0,0,0,.376,1.273,2.286,2.286,0,0,0,.665.856,1.591,1.591,0,0,0,.991.306,1.611,1.611,0,0,0,.991-.309A2.135,2.135,0,0,0,17.423,17.7Z" style="fill:#c2c2c2"/><path d="M28.5,12.8h-.455a3.93,3.93,0,0,0-.6-1.086,1.385,1.385,0,0,0-.812-.63c-.116-.016-.272-.031-.465-.043s-.373-.019-.535-.019H24.349v3.433h.822a1.969,1.969,0,0,0,.606-.083,1.054,1.054,0,0,0,.455-.3,1.591,1.591,0,0,0,.283-.516,2.635,2.635,0,0,0,.166-.621h.443v3.686h-.443a2.471,2.471,0,0,0-.181-.676,2.094,2.094,0,0,0-.268-.528,1.012,1.012,0,0,0-.431-.293,1.842,1.842,0,0,0-.63-.1h-.822v2.9a.842.842,0,0,0,.079.38.58.58,0,0,0,.3.256,1.87,1.87,0,0,0,.353.1q.224.046.446.071v.482h-4.46v-.482l.449-.052a1.525,1.525,0,0,0,.391-.083.547.547,0,0,0,.292-.241.842.842,0,0,0,.082-.4v-6.18a.867.867,0,0,0-.073-.367.575.575,0,0,0-.3-.262,2.341,2.341,0,0,0-.431-.136q-.268-.062-.408-.08v-.482H28.5Z" style="fill:#c2c2c2"/>`,
"SQF: Status Quo Function (Arma 3)": `<path d="M25,23.5H7a5.015,5.015,0,0,1-5-5v-6a5.015,5.015,0,0,1,5-5H25a5.015,5.015,0,0,1,5,5v6a5.015,5.015,0,0,1-5,5Z"/><path d="M7,19.461a4.81,4.81,0,0,1-1.414-.2,5.052,5.052,0,0,1-1.111-.472l-.4.432h-.5L3.5,16.052H4a8.462,8.462,0,0,0,.431.953,4.638,4.638,0,0,0,.606.9,3.177,3.177,0,0,0,.8.675,1.985,1.985,0,0,0,1.029.26,1.672,1.672,0,0,0,1.216-.411A1.382,1.382,0,0,0,8.5,17.391a1.156,1.156,0,0,0-.359-.862,2.945,2.945,0,0,0-1.111-.6q-.49-.167-.9-.31t-.773-.292a2.58,2.58,0,0,1-1.239-1.007,2.73,2.73,0,0,1-.405-1.465,2.406,2.406,0,0,1,.21-.986,2.608,2.608,0,0,1,.612-.85,2.967,2.967,0,0,1,.985-.575,3.722,3.722,0,0,1,1.306-.223,3.984,3.984,0,0,1,1.288.2,5.151,5.151,0,0,1,.944.408l.356-.37h.507l.047,2.988h-.5q-.175-.483-.411-.987a4.332,4.332,0,0,0-.5-.839,2.3,2.3,0,0,0-.659-.573,1.729,1.729,0,0,0-.875-.214A1.437,1.437,0,0,0,6,11.212a1.233,1.233,0,0,0-.4.934,1.141,1.141,0,0,0,.347.86,2.951,2.951,0,0,0,1.082.588q.431.154.88.309t.8.3a2.885,2.885,0,0,1,1.286.955,2.512,2.512,0,0,1,.44,1.512,2.632,2.632,0,0,1-.927,1.985,3.367,3.367,0,0,1-1.079.6A4.391,4.391,0,0,1,7,19.461Z" style="fill:#c2c2c2"/><path d="M18.921,11.434a4.338,4.338,0,0,1,.971,1.432,4.834,4.834,0,0,1,.359,1.914,4.958,4.958,0,0,1-.72,2.68,4.036,4.036,0,0,1-2.038,1.661,2.151,2.151,0,0,0,.42,1.272,1.168,1.168,0,0,0,.95.537,3.563,3.563,0,0,0,.592-.043q.254-.043.458-.1v.543a5.753,5.753,0,0,1-.985.3,6.054,6.054,0,0,1-1.37.151,2.206,2.206,0,0,1-1.612-.621,2.574,2.574,0,0,1-.708-1.732A4.579,4.579,0,0,1,13.7,19a4.186,4.186,0,0,1-1.253-.932,4.388,4.388,0,0,1-.842-1.377,4.769,4.769,0,0,1-.312-1.753,5.237,5.237,0,0,1,.347-1.948,4.5,4.5,0,0,1,.953-1.5,4.119,4.119,0,0,1,1.425-.942,4.86,4.86,0,0,1,3.5-.009A4.247,4.247,0,0,1,18.921,11.434Zm-1.5,6.266a4.857,4.857,0,0,0,.379-1.273,9.981,9.981,0,0,0,.117-1.606,10.534,10.534,0,0,0-.1-1.48,4.936,4.936,0,0,0-.347-1.282,2.41,2.41,0,0,0-.665-.9,1.571,1.571,0,0,0-1.032-.34,1.73,1.73,0,0,0-1.6,1.06,6.634,6.634,0,0,0-.548,2.993,9.583,9.583,0,0,0,.12,1.551,4.8,4.8,0,0,0,.376,1.273,2.286,2.286,0,0,0,.665.856,1.591,1.591,0,0,0,.991.306,1.611,1.611,0,0,0,.991-.309A2.135,2.135,0,0,0,17.423,17.7Z" style="fill:#c2c2c2"/><path d="M28.5,12.8h-.455a3.93,3.93,0,0,0-.6-1.086,1.385,1.385,0,0,0-.812-.63c-.116-.016-.272-.031-.465-.043s-.373-.019-.535-.019H24.349v3.433h.822a1.969,1.969,0,0,0,.606-.083,1.054,1.054,0,0,0,.455-.3,1.591,1.591,0,0,0,.283-.516,2.635,2.635,0,0,0,.166-.621h.443v3.686h-.443a2.471,2.471,0,0,0-.181-.676,2.094,2.094,0,0,0-.268-.528,1.012,1.012,0,0,0-.431-.293,1.842,1.842,0,0,0-.63-.1h-.822v2.9a.842.842,0,0,0,.079.38.58.58,0,0,0,.3.256,1.87,1.87,0,0,0,.353.1q.224.046.446.071v.482h-4.46v-.482l.449-.052a1.525,1.525,0,0,0,.391-.083.547.547,0,0,0,.292-.241.842.842,0,0,0,.082-.4v-6.18a.867.867,0,0,0-.073-.367.575.575,0,0,0-.3-.262,2.341,2.341,0,0,0-.431-.136q-.268-.062-.408-.08v-.482H28.5Z" style="fill:#c2c2c2"/>`,
"SQL": `<path d="M8.562,15.256A21.159,21.159,0,0,0,16,16.449a21.159,21.159,0,0,0,7.438-1.194c1.864-.727,2.525-1.535,2.525-2V9.7a10.357,10.357,0,0,1-2.084,1.076A22.293,22.293,0,0,1,16,12.078a22.36,22.36,0,0,1-7.879-1.3A10.28,10.28,0,0,1,6.037,9.7v3.55C6.037,13.724,6.7,14.528,8.562,15.256Z" style="fill:#ffda44"/><path d="M8.562,21.961a15.611,15.611,0,0,0,2.6.741A24.9,24.9,0,0,0,16,23.155a24.9,24.9,0,0,0,4.838-.452,15.614,15.614,0,0,0,2.6-.741c1.864-.727,2.525-1.535,2.525-2v-3.39a10.706,10.706,0,0,1-1.692.825A23.49,23.49,0,0,1,16,18.74a23.49,23.49,0,0,1-8.271-1.348,10.829,10.829,0,0,1-1.692-.825V19.96C6.037,20.426,6.7,21.231,8.562,21.961Z" style="fill:#ffda44"/><path d="M16,30c5.5,0,9.963-1.744,9.963-3.894V23.269a10.5,10.5,0,0,1-1.535.762l-.157.063A23.487,23.487,0,0,1,16,25.445a23.422,23.422,0,0,1-8.271-1.351c-.054-.02-.106-.043-.157-.063a10.5,10.5,0,0,1-1.535-.762v2.837C6.037,28.256,10.5,30,16,30Z" style="fill:#ffda44"/><ellipse cx="16" cy="5.894" rx="9.963" ry="3.894" style="fill:#ffda44"/>`,
"Squirrel": `<path d="M12.966,27.3a18.926,18.926,0,0,1-5.707-.915c-1.832-.592-4.044-1.54-4.931-3.645a.557.557,0,0,1-.025-.073,12.214,12.214,0,0,1,.763-7.531c1.522-4.008,3.71-6.739,6.5-8.116a10.422,10.422,0,0,1,7.6-.55,10.426,10.426,0,0,1,6.04,4.639,11.057,11.057,0,0,1,1.058,2.326,10.66,10.66,0,0,1-5.378,12.689l-.02.009A14.832,14.832,0,0,1,12.966,27.3Z"/><path d="M22.72,11.393a10.144,10.144,0,0,0-12.9-3.869C6.7,9.061,4.784,12.2,3.593,15.334a11.9,11.9,0,0,0-.746,7.187c.783,1.86,2.779,2.744,4.582,3.327a16.206,16.206,0,0,0,11.213-.232A10.11,10.11,0,0,0,23.727,13.6,10.488,10.488,0,0,0,22.72,11.393Z" style="fill:#a05a2c"/><path d="M15.782,6.72A8.263,8.263,0,0,1,17.64,8.084,9.65,9.65,0,0,1,19.08,9.8a9.317,9.317,0,0,1-1.531,11.921A14.933,14.933,0,0,1,7.656,24.7a7.581,7.581,0,0,1-4.135-1.1,8.454,8.454,0,0,0,3.907,2.241,16.208,16.208,0,0,0,11.214-.233A10.112,10.112,0,0,0,23.727,13.6a10.487,10.487,0,0,0-1.007-2.211A9.973,9.973,0,0,0,15.782,6.72Z" style="fill-opacity:0.3137255012989044"/><path d="M23.476,13.389l-1.062-2.895.152-.236A6.875,6.875,0,0,1,27.509,7.7a2.177,2.177,0,0,1,1.879.588,3.376,3.376,0,0,1,.1,3.729c-.343.292-.751.124-1.222-.07a2.821,2.821,0,0,0-2.133-.27,10.2,10.2,0,0,0-2.047,1.209Z"/><path d="M23.039,10.563c1.223-1.9,5.107-2.915,5.912-1.923a2.97,2.97,0,0,1,.177,2.945c-.245.207-1.837-1.059-3.225-.423A10.574,10.574,0,0,0,23.73,12.45Z" style="fill:#502d16"/><path d="M29.4,9.727a.8.8,0,0,1-.2.469c-.229.162-1.9-.506-3.238.056a12.439,12.439,0,0,0-2.071,1.07L23.2,10.34c-.057.074-.116.147-.165.223l.692,1.886A10.577,10.577,0,0,1,25.9,11.162c1.388-.636,2.98.631,3.225.423A2.846,2.846,0,0,0,29.4,9.727Z" style="fill-opacity:0.3137255012989044"/><path d="M21.382,25.18a2.236,2.236,0,0,1-1.147-.323.563.563,0,0,1-.082-.888c.737-.684.607-2.173-.41-4.689a36.526,36.526,0,0,0-5.123-8.825l-.35-.43c-1.512-1.865-2.358-2.815-3.554-2.3a.562.562,0,0,1-.413.016.571.571,0,0,1-.377-.592,2.119,2.119,0,0,1,1.461-2c4.716-1.481,10.26.814,12.905,5.344a11.2,11.2,0,0,1-1.431,13.991A1.919,1.919,0,0,1,21.382,25.18Z"/><path d="M23.812,10.783c-2.444-4.192-7.73-6.528-12.27-5.093-1.007.248-1.065,1.535-1.052,1.517,1.776-.767,2.953.919,4.566,2.89a36.9,36.9,0,0,1,5.209,8.971c.89,2.2,1.4,4.267.27,5.312a1.5,1.5,0,0,0,1.909-.274A10.646,10.646,0,0,0,23.812,10.783Z" style="fill:#502d16"/><path d="M23.649,10.346a9.314,9.314,0,0,1-2.518,7.725c-.455.486-.873.177-1.263.063.138.313.271.626.4.936.89,2.2,1.4,4.266.271,5.312a1.5,1.5,0,0,0,1.909-.274C26.089,20.183,26.357,14.919,23.649,10.346Z" style="fill-opacity:0.3137255012989044"/>`,
"Stan": `<title>file_type_stan</title><path d="M16,2A14,14,0,0,0,5.688,25.469c1.7-.514,3.411-.992,4.806-1.357,4.037-1.054,10.948-2.836,11.946-5.082-.28.78-1.218,2.87-1.218,2.87-1.279,1.247-7.09,2.631-10.917,3.367-1.22.235-2.614.507-4.026.806A14,14,0,0,0,28.467,9.628c-2.526.408-10.5,1.854-12.539,2.315-2.255.509-6.789,1.433-7.694,2.993C8.8,13.5,10.492,9.744,10.492,9.744c1.216-2,6.6-3.425,10.358-4.463.876-.242,1.922-.539,3.023-.858A13.934,13.934,0,0,0,16,2Z" style="fill:#b2001d"/><path d="M8.223,14.987c-.252,1.175,3.52,2.313,6.921,3.389a26.362,26.362,0,0,1,5.667,2.192,3.085,3.085,0,0,0,1.662-1.614c.377-1.489-3.013-3.393-5.274-4.229a33.337,33.337,0,0,1-4.407-2.042c-4.316,1.143-4.569,2.3-4.569,2.3Z" style="fill:#590815"/>`,
"Stata Ado": `<defs><linearGradient id="a" x1="16" y1="2" x2="16" y2="30" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#8aa7c0"/><stop offset="1" stop-color="#3c6e8f"/></linearGradient></defs><title>file_type_stata</title><rect x="2" y="2" width="28" height="28" rx="1.556" ry="1.556" style="fill:url(#a)"/><rect x="13.171" y="6.015" width="5.756" height="5.756" style="fill:#fff"/><rect x="20.326" y="6.015" width="5.756" height="5.756" style="fill:#fff"/><rect x="20.326" y="13.171" width="5.756" height="5.756" style="fill:#fff"/><rect x="13.171" y="13.171" width="5.756" height="5.756" style="fill:#fff"/><rect x="6.015" y="13.171" width="5.756" height="5.756" style="fill:#fff"/><rect x="6.015" y="20.326" width="5.756" height="5.756" style="fill:#fff"/><rect x="13.171" y="20.326" width="5.756" height="5.756" style="fill:#fff"/>`,
"Stylus": `<title>file_type_stylus</title><path d="M6.315,20.776c.726-.869.812-1.766.249-3.432-.356-1.054-.947-1.865-.513-2.521.463-.7,1.445-.021.627.911l.164.114c.983.114,1.467-1.232.733-1.616-1.937-1.011-3.631.933-2.884,3.183.32.954.769,1.965.406,2.77A1.794,1.794,0,0,1,3.773,21.3c-.847.043-.285-1.9.691-2.385.085-.043.206-.1.093-.242a2.134,2.134,0,0,0-2.314,1.2C1.061,22.121,4.485,22.954,6.315,20.776Z" style="fill:#c2c2c2"/><path d="M27.462,14.14c.278.684.7,1.36.449,1.958-.206.513-.477.726-.776.776-.42.071-.306-1.246.413-1.638.064-.036.157-.206.071-.306a1.636,1.636,0,0,0-1.7.961c-.8,1.687,1.823,2.15,3.112.491.513-.662.534-1.317.043-2.506-.313-.755-.79-1.317-.491-1.816.32-.527,1.089-.071.513.634l.128.071c.748.043,1.054-.954.484-1.2A1.834,1.834,0,0,0,27.462,14.14Z" style="fill:#c2c2c2"/><path d="M17.95,12.338c-.52-.413-1.979.278-2.392,1.3a16.213,16.213,0,0,1-2.043,4.037c-.8.876-.876.2-.8-.306A15.327,15.327,0,0,1,14.7,12.652c-.235-.349-1.773-.3-2.841,1.36-.4.627-1.31,2.713-2.321,4.358-.221.356-.5.107-.285-.726a39.8,39.8,0,0,1,1.873-5.682,39.072,39.072,0,0,1,6.921-.819c.263-.071.441-.306,0-.32a46.778,46.778,0,0,0-6.593.441,4.923,4.923,0,0,1,1.445-1.944,1.787,1.787,0,0,0-2.264.719,12.287,12.287,0,0,0-.819,1.453,24.194,24.194,0,0,0-3.98.862c-.783.3-.7,1.246-.221,1.068a31.631,31.631,0,0,1,3.816-1.1,30.292,30.292,0,0,0-1.865,5.682c-.441,2.492,1.1,2.478,1.858,1.5.819-1.075,2.528-4.856,2.791-5.255.078-.135.185-.064.128.057-1.908,3.809-1.744,5.283-.2,4.956a4.929,4.929,0,0,0,2.214-1.965c.064-.15.2-.135.171-.071-1.21,3.14-2.748,5.682-3.781,6.479-.94.719-1.638-.84,1.687-3.076.491-.335.263-.79-.292-.634h0a29.793,29.793,0,0,0-8.786,3.325c-.164.114-.313.206-.306.441.007.135.242.085.356.014A22.771,22.771,0,0,1,11.1,20.9a.158.158,0,0,0,.114.007c.121-.028.114.036.036.085-.178.1-.356.192-.4.206-1.766.691-2.834,2.214-2.456,2.99.32.669,2.051.427,2.869-.014,2.008-1.089,3.468-3.225,4.464-6.173C16.6,15.386,17.693,12.424,17.95,12.338Z" style="fill:#c2c2c2"/><path d="M29.62,18.369a48.145,48.145,0,0,0-13.429.968c-.926.242-.669.733-.2.641.007,0,.206-.05.214-.05a42.279,42.279,0,0,1,12.375-.242C29.014,19.765,30.317,18.462,29.62,18.369Z" style="fill:#c2c2c2"/><path d="M18.861,17.985c.911-.456,2.264-3.275,3.154-4.82.064-.114.178-.021.114.057-2.25,3.873-1.3,4.322-.406,4.265,1.189-.071,2.286-1.78,2.528-2.165.1-.15.157-.028.1.078-.057.178-.263.491-.456.919-.271.605.014.84.249.947.37.178,1.381.064,1.538-.555-1.011-.021,1.41-4.792,1.659-5.084a1.718,1.718,0,0,0-2.2.975c-1.018,2.015-1.873,3.638-2.407,3.667-1.04.057,1.2-4.493,1.559-4.635-.221-.32-1.638-.185-2.428,1.04-.285.441-2.022,3.517-2.449,4.023-.755.9-.812.128-.6-.769a10.569,10.569,0,0,1,.349-1.132,5.324,5.324,0,0,1,1.36-1.844c2.2-2.442,3.46-4.422,2.962-5.2-.441-.691-1.915-.384-2.862,1.04-1.744,2.613-3.354,6.195-3.56,7.832S18.056,18.383,18.861,17.985Zm.926-4.792c.078-.178.128-.228.263-.527h0A24.934,24.934,0,0,1,22.492,8.28c.42-.441,1.011.157-.057,1.794a16.462,16.462,0,0,1-2.115,2.642v.007c-.2.221-.377.406-.456.513C19.808,13.307,19.744,13.292,19.787,13.193Z" style="fill:#c2c2c2"/>`,
"SVG": `<path d="M7.674,14.488a2.218,2.218,0,1,0,0,3.137H24.326a2.218,2.218,0,1,0,0-3.137Z" style="fill:#ffb13b;stroke:#000;stroke-width:3.73000001907349px"/><path d="M11.222,9.06A2.218,2.218,0,1,0,9,11.278L20.778,23.052A2.218,2.218,0,1,0,23,20.834Z" style="fill:#ffb13b;stroke:#000;stroke-width:3.73000001907349px"/><path d="M17.568,7.73a2.218,2.218,0,1,0-3.137,0V24.382a2.218,2.218,0,1,0,3.137,0Z" style="fill:#ffb13b;stroke:#000;stroke-width:3.73000001907349px"/><path d="M23,11.278A2.218,2.218,0,1,0,20.778,9.06L9,20.834a2.218,2.218,0,1,0,2.218,2.218Z" style="fill:#ffb13b;stroke:#000;stroke-width:3.73000001907349px"/><path d="M7.674,14.488a2.218,2.218,0,1,0,0,3.137H24.326a2.218,2.218,0,1,0,0-3.137Z" style="fill:#ffb13b"/><path d="M11.222,9.06A2.218,2.218,0,1,0,9,11.278L20.778,23.052A2.218,2.218,0,1,0,23,20.834Z" style="fill:#ffb13b"/><path d="M17.568,7.73a2.218,2.218,0,1,0-3.137,0V24.382a2.218,2.218,0,1,0,3.137,0Z" style="fill:#ffb13b"/><path d="M23,11.278A2.218,2.218,0,1,0,20.778,9.06L9,20.834a2.218,2.218,0,1,0,2.218,2.218Z" style="fill:#ffb13b"/><path d="M2,16.056H30V25.95a4.035,4.035,0,0,1-4.106,4.106H6.106A4.035,4.035,0,0,1,2,25.95Z"/><path d="M6.2,23.045A3.628,3.628,0,1,1,12.4,20.48H10.27A1.5,1.5,0,1,0,7.7,21.541h0a1.6,1.6,0,0,0,1.062.441h0a4.118,4.118,0,0,1,2.566,1.063h0a3.628,3.628,0,1,1-6.194,2.565H7.264A1.5,1.5,0,1,0,9.83,24.55h0a1.948,1.948,0,0,0-1.063-.44h0A4.465,4.465,0,0,1,6.2,23.045Z" style="fill:#fff"/><path d="M19.651,16.852,17.085,29.24H14.96L12.4,16.852H14.52l1.5,7.255,1.5-7.255Z" style="fill:#fff"/><path d="M23.28,21.983h3.628v3.628h0a3.628,3.628,0,1,1-7.257,0h0V20.48h0a3.628,3.628,0,0,1,7.257,0H24.783a1.5,1.5,0,1,0-3.005,0v5.13h0a1.5,1.5,0,0,0,3.005,0h0v-1.5h-1.5V21.983Z" style="fill:#fff"/>`,
"Swift": `<defs><linearGradient id="a" x1="-134.494" y1="-171.82" x2="-134.497" y2="-171.89" gradientTransform="matrix(240, 0, 0, -205.6, 32295, -35312.585)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f88535"/><stop offset="1" stop-color="#fd2221"/></linearGradient></defs><title>file_type_swift</title><path d="M19.422,4.007s6.217,3.554,7.844,9.2c1.466,5.1.292,7.534.292,7.534a8.915,8.915,0,0,1,1.742,2.8,4.825,4.825,0,0,1,.29,4.453s-.1-2.08-3.2-2.511c-2.841-.4-3.874,2.366-9.3,2.232A18.435,18.435,0,0,1,2,19.354C4.651,20.8,8.124,23.045,12.449,22.7s5.228-1.674,5.228-1.674A66.9,66.9,0,0,1,4.891,7.643c3.4,2.845,11.822,8.507,11.626,8.363A75.826,75.826,0,0,1,8.092,6.24S20.728,16.629,21.745,16.563c.418-.861,2.579-5.318-2.324-12.557Z" style="fill:url(#a)"/>`,
"Systemd configuration file": `<path d="M2,12v8H5.256V18.769H3.3V13.231H5.256V12Z" style="fill:#d2d2d2"/><path d="M26.744,12v1.231H28.7v5.538H26.744V20H30V12Z" style="fill:#d2d2d2"/><path d="M17.628,16l5.21-2.769v5.538Z" style="fill:#30d475"/><ellipse cx="12.093" cy="16" rx="2.93" ry="2.769" style="fill:#30d475"/>`,
"T4 templating": `<path d="M19.545,6.035H13.27V24H8.3V6.035H2.055V2h17.49Z" style="fill:#1e88e5"/><path d="M27.567,10V22.608h2.4V25.9h-2.4V30H23.551V25.9H14.834V22.455q1.158-1.3,2.4-2.838t2.4-3.173q1.158-1.632,2.155-3.285A32.925,32.925,0,0,0,23.481,10ZM18.781,22.608h4.77V15.621q-.488.907-1.06,1.834t-1.2,1.827q-.628.9-1.269,1.743T18.781,22.608Z" style="fill:#1e88e5"/>`,
"T4 Text Templates (C#)": `<path d="M19.545,6.035H13.27V24H8.3V6.035H2.055V2h17.49Z" style="fill:#1e88e5"/><path d="M27.567,10V22.608h2.4V25.9h-2.4V30H23.551V25.9H14.834V22.455q1.158-1.3,2.4-2.838t2.4-3.173q1.158-1.632,2.155-3.285A32.925,32.925,0,0,0,23.481,10ZM18.781,22.608h4.77V15.621q-.488.907-1.06,1.834t-1.2,1.827q-.628.9-1.269,1.743T18.781,22.608Z" style="fill:#1e88e5"/>`,
"T4 Text Templates (VB)": `<path d="M19.545,6.035H13.27V24H8.3V6.035H2.055V2h17.49Z" style="fill:#1e88e5"/><path d="M27.567,10V22.608h2.4V25.9h-2.4V30H23.551V25.9H14.834V22.455q1.158-1.3,2.4-2.838t2.4-3.173q1.158-1.632,2.155-3.285A32.925,32.925,0,0,0,23.481,10ZM18.781,22.608h4.77V15.621q-.488.907-1.06,1.834t-1.2,1.827q-.628.9-1.269,1.743T18.781,22.608Z" style="fill:#1e88e5"/>`,
"Tcl": `<path d="M21.942,2.876c.04,2.468-.033,4.91-2.169,7.23l-.079.089h.119l.873.013c-1.418,2.95-2.341,5.892-4.38,8.83l-.073.106.126-.023,1.078-.2a5.851,5.851,0,0,1-3.484,3.65c-.39-5.455,2.333-10.27,4.645-15.071l.007-.013-.086-.06c-3.786,4.233-5.491,10.2-6.136,15.127a4.582,4.582,0,0,1-2.145-2.988l.9.377.093.04-.02-.1c-.681-3.028.376-5.2,1.4-8.056l.737.493.086.06,0-.1c-.058-2.32,1.5-4.649,3.577-6.727l.288.77.04.1.056-.1.631-1.051,0-.007A6.1,6.1,0,0,1,21.942,2.876Z" style="fill:#c3b15f"/><path d="M21.948,2.875a6.131,6.131,0,0,0-3.926,2.388l0,.007-.631,1.051-.056.1-.04-.1L17,5.544c-2.072,2.078-3.635,4.407-3.577,6.727l0,.1-.086-.06-.737-.493c-1.025,2.856-2.083,5.029-1.4,8.056l.02.1-.093-.04-.886-.374c0,.018.007.035.01.053a4.533,4.533,0,0,0,2.126,2.932c.05-.381.105-.771.169-1.164-1.543-3.614-.2-6.271.407-8.661l.939.542c-.13-2.238,1.184-4.651,2.893-6.757l.5.873C18.555,4.769,19.56,3.72,21.948,2.875Z" style="fill:#eff1cb;stroke:#eff1cb"/><path d="M22.518,2l-.056.01c-2.082.363-4.121,1.128-5.015,2.959l-.377-.658-.033-.06-.05.05a20.85,20.85,0,0,0-2.939,3.5A5.939,5.939,0,0,0,12.835,11l-.532-.664-.053-.066-.036.076a27.535,27.535,0,0,0-1.693,4.7,6.73,6.73,0,0,0-.159,3.719l-.876-.509-.073-.043-.007.086a5.529,5.529,0,0,0,2.017,4.843l-.972.241-.2.05.2.053a4.258,4.258,0,0,1,1.455.6,1.325,1.325,0,0,1,.516,1.3V28.1l.01.013,1.217,1.745.1.139V25.719a3.466,3.466,0,0,1,.621-1.484A1.639,1.639,0,0,1,15.5,23.7l.182-.023-.165-.076-.641-.3a9.112,9.112,0,0,0,3.693-5.322l.02-.086-.083.023-.793.215a11.669,11.669,0,0,0,2.089-3.5C20.512,13,21.18,11.166,21.728,9.7l.03-.079-.083.007-.612.043a6.655,6.655,0,0,0,1.382-3.527,17.039,17.039,0,0,0,.079-4.086Zm-.575.876c.04,2.468-.033,4.91-2.169,7.23l-.079.089h.119l.873.013c-1.418,2.95-2.341,5.892-4.38,8.83l-.073.106.126-.023,1.078-.2a5.851,5.851,0,0,1-3.484,3.65c-.39-5.455,2.333-10.27,4.645-15.071l.007-.013-.086-.06c-3.786,4.233-5.491,10.2-6.136,15.127a4.582,4.582,0,0,1-2.145-2.988l.9.377.093.04-.02-.1c-.681-3.028.376-5.2,1.4-8.056l.737.493.086.06,0-.1c-.058-2.32,1.5-4.649,3.577-6.727l.288.77.04.1.056-.1.631-1.051,0-.007A6.1,6.1,0,0,1,21.942,2.876Z"/>`,
"Template Toolkit 2": `<path d="M8.907,23.021H8.878a3.305,3.305,0,0,1-2.011-.661A2.561,2.561,0,0,1,5.83,20.334V16.1H4.288a3.05,3.05,0,0,1-2.738-1.69,3.3,3.3,0,0,1,.441-3.53,2.265,2.265,0,0,1,1.815-.9h9.65a3.05,3.05,0,0,1,2.738,1.69,3.3,3.3,0,0,1-.441,3.53,2.265,2.265,0,0,1-1.815.9H11.955v4.231a2.561,2.561,0,0,1-1.037,2.026A3.305,3.305,0,0,1,8.907,23.021ZM4.264,11.636a1.39,1.39,0,0,0-1.388,1.388v.033a1.39,1.39,0,0,0,1.388,1.388H7.487v5.881c0,.572.624,1.037,1.39,1.037h.029c.767,0,1.39-.465,1.39-1.037V14.446h3.223a1.39,1.39,0,0,0,1.388-1.388v-.033a1.39,1.39,0,0,0-1.388-1.388Z" style="fill:#015d9a"/><path d="M14.981,12.953v.033a1.533,1.533,0,0,1-1.533,1.533H10.37v5.737a1.393,1.393,0,0,1-1.535,1.181H8.806a1.393,1.393,0,0,1-1.535-1.181V14.518H4.192A1.533,1.533,0,0,1,2.66,12.986v-.033A1.533,1.533,0,0,1,4.192,11.42h9.257A1.533,1.533,0,0,1,14.981,12.953Zm-4.223,9.222a2.418,2.418,0,0,0,.98-1.912V15.888h2.127a2.114,2.114,0,0,0,1.7-.846,2.992,2.992,0,0,0-2.18-4.99H3.735a2.114,2.114,0,0,0-1.7.846,2.992,2.992,0,0,0,2.18,4.99H5.9v4.375a2.418,2.418,0,0,0,.98,1.912,3.16,3.16,0,0,0,1.923.631h.029A3.16,3.16,0,0,0,10.758,22.174Z" style="fill:#3bcefc"/><path d="M23.607,23.021h-.029a3.305,3.305,0,0,1-2.011-.661,2.561,2.561,0,0,1-1.037-2.026V16.1H18.988a3.05,3.05,0,0,1-2.738-1.69,3.3,3.3,0,0,1,.441-3.53,2.265,2.265,0,0,1,1.815-.9h9.65a3.05,3.05,0,0,1,2.738,1.69,3.3,3.3,0,0,1-.441,3.53,2.265,2.265,0,0,1-1.815.9H26.655v4.231a2.561,2.561,0,0,1-1.037,2.026A3.305,3.305,0,0,1,23.607,23.021ZM18.964,11.636a1.39,1.39,0,0,0-1.388,1.388v.033a1.39,1.39,0,0,0,1.388,1.388h3.223v5.881c0,.572.624,1.037,1.39,1.037h.029c.767,0,1.39-.465,1.39-1.037V14.446h3.223a1.39,1.39,0,0,0,1.388-1.388v-.033a1.39,1.39,0,0,0-1.388-1.388Z" style="fill:#015d9a"/><path d="M29.681,12.953v.033a1.533,1.533,0,0,1-1.533,1.533H25.07v5.737a1.393,1.393,0,0,1-1.535,1.181h-.029a1.393,1.393,0,0,1-1.535-1.181V14.518H18.892a1.533,1.533,0,0,1-1.533-1.533v-.033a1.533,1.533,0,0,1,1.533-1.533h9.257A1.533,1.533,0,0,1,29.681,12.953Zm-4.223,9.222a2.418,2.418,0,0,0,.98-1.912V15.888h2.127a2.114,2.114,0,0,0,1.7-.846,2.992,2.992,0,0,0-2.18-4.99h-9.65a2.114,2.114,0,0,0-1.7.846,2.992,2.992,0,0,0,2.18,4.99H20.6v4.375a2.418,2.418,0,0,0,.98,1.912,3.16,3.16,0,0,0,1.923.631h.029A3.16,3.16,0,0,0,25.458,22.174Z" style="fill:#3bcefc"/>`,
"TeX": `<path d="M11.333,13.122c-.128-1.562-.241-2.756-2.287-2.756H7.91v8.4h2.145v.611l-3.083-.029-3.082.029v-.611H6.034v-8.4H4.884c-2.046,0-2.159,1.208-2.287,2.756H2l.284-3.367h9.362l.284,3.367h-.6Z" style="fill:#cfcfcf"/><path d="M19.289,22.53H10.41V21.92h1.506V13.467H10.41v-.611h8.637l.412,3.367h-.6c-.213-1.833-.682-2.756-2.855-2.756H13.791V17.2h.838c1.364,0,1.505-.6,1.505-1.662h.6v3.935h-.6c0-1.08-.142-1.662-1.505-1.662h-.838v4.106h2.216c2.472,0,3-1.108,3.3-3.225h.6Z" style="fill:#cfcfcf"/><path d="M27.727,19.186c-.54,0-1.96,0-2.415.029V18.6h1.179l-2.557-3.552-2.529,3.381A4.1,4.1,0,0,0,22.7,18.6v.611c-.355-.029-1.576-.029-2.017-.029-.4,0-1.548,0-1.875.029V18.6h.383a7.459,7.459,0,0,0,.824-.043c.5-.043.54-.085.667-.256L23.536,14.5l-3.153-4.418H19V9.47c.384.028,1.79.028,2.273.028.582,0,1.918,0,2.429-.028v.611H22.528l2.117,2.955,2.074-2.784a4.1,4.1,0,0,0-1.293-.17V9.47c.356.028,1.591.028,2.032.028.4,0,1.534,0,1.861-.028v.611h-.369a5.264,5.264,0,0,0-.838.043c-.469.043-.526.071-.667.256l-2.4,3.21L28.636,18.6H30v.611C29.645,19.186,28.182,19.186,27.727,19.186Z" style="fill:#cfcfcf"/>`,
"Textile": `<path d="M28.681,26.075H3.319A1.317,1.317,0,0,1,2,24.756V7.244A1.317,1.317,0,0,1,3.319,5.925H28.681A1.317,1.317,0,0,1,30,7.244V24.76A1.316,1.316,0,0,1,28.681,26.075Z" style="fill:#ffe7ac"/><path d="M6.066,12.848a4.987,4.987,0,0,1,1.508-.659V10.664a3.7,3.7,0,0,1,.743-.33,7.869,7.869,0,0,1,1.327-.347h.642v2.391h2.484V13.6H10.286v4.848a3.172,3.172,0,0,0,.29,1.609,1.07,1.07,0,0,0,.971.448,7.127,7.127,0,0,0,.76-.048,3.338,3.338,0,0,0,.782-.18l.132.62a2.388,2.388,0,0,1-.5.356,5.457,5.457,0,0,1-.752.356,5.837,5.837,0,0,1-.923.281A4.769,4.769,0,0,1,10,22a2.385,2.385,0,0,1-1.824-.637,2.947,2.947,0,0,1-.6-2.062V13.591H6.066Z"/><path d="M14.607,20.453a1.447,1.447,0,0,1,.431-1.09,1.591,1.591,0,0,1,1.147-.413,1.649,1.649,0,0,1,1.165.413,1.422,1.422,0,0,1,.453,1.09,1.369,1.369,0,0,1-.453,1.081,1.692,1.692,0,0,1-1.165.4,1.61,1.61,0,0,1-1.147-.4A1.427,1.427,0,0,1,14.607,20.453Z"/>`,
"TOML": `<path d="M22.76,6.83v3.25h-5V25.17H14.26V10.08h-5V6.83Z" style="fill:#7f7f7f"/><path d="M2,2H8.2V5.09H5.34v21.8H8.2V30H2Z" style="fill:#bfbfbf"/><path d="M30,30H23.8V26.91h2.86V5.11H23.8V2H30Z" style="fill:#bfbfbf"/>`,
"TSConfig": `<path d="M23.827,8.243A4.424,4.424,0,0,1,26.05,9.524a5.853,5.853,0,0,1,.852,1.143c.011.045-1.534,1.083-2.471,1.662-.034.023-.169-.124-.322-.35a2.014,2.014,0,0,0-1.67-1c-1.077-.074-1.771.49-1.766,1.433a1.3,1.3,0,0,0,.153.666c.237.49.677.784,2.059,1.383,2.544,1.1,3.636,1.817,4.31,2.843a5.158,5.158,0,0,1,.416,4.333,4.764,4.764,0,0,1-3.932,2.815,10.9,10.9,0,0,1-2.708-.028,6.531,6.531,0,0,1-3.616-1.884,6.278,6.278,0,0,1-.926-1.371,2.655,2.655,0,0,1,.327-.208c.158-.09.756-.434,1.32-.761l1.024-.6.214.312a4.771,4.771,0,0,0,1.35,1.292,3.3,3.3,0,0,0,3.458-.175,1.545,1.545,0,0,0,.2-1.974c-.276-.4-.84-.727-2.443-1.422a8.8,8.8,0,0,1-3.349-2.055,4.687,4.687,0,0,1-.976-1.777,7.116,7.116,0,0,1-.062-2.268,4.332,4.332,0,0,1,3.644-3.374A9,9,0,0,1,23.827,8.243ZM15.484,9.726l.011,1.454h-4.63V24.328H7.6V11.183H2.97V9.755a13.986,13.986,0,0,1,.04-1.466c.017-.023,2.832-.034,6.245-.028l6.211.017Z" style="fill:#007acc"/><path d="M27.075,25.107l.363-.361c1.68.055,1.706,0,1.78-.177l.462-1.124.034-.107-.038-.093c-.02-.049-.081-.2-1.13-1.2v-.526c1.211-1.166,1.185-1.226,1.116-1.4l-.46-1.136c-.069-.17-.1-.237-1.763-.191l-.364-.367a8.138,8.138,0,0,0-.057-1.657l-.047-.106-1.2-.525c-.177-.081-.239-.11-1.372,1.124l-.509-.008c-1.167-1.245-1.222-1.223-1.4-1.152l-1.115.452c-.175.071-.236.1-.169,1.79l-.36.359c-1.68-.055-1.7,0-1.778.177L18.606,20l-.036.108.038.094c.02.048.078.194,1.13,1.2v.525c-1.211,1.166-1.184,1.226-1.115,1.4l.459,1.137c.07.174.1.236,1.763.192l.363.377a8.169,8.169,0,0,0,.055,1.654l.047.107,1.208.528c.176.073.236.1,1.366-1.13l.509.006c1.168,1.247,1.228,1.223,1.4,1.154l1.113-.45C27.082,26.827,27.143,26.8,27.075,25.107Zm-4.788-2.632a2,2,0,1,1,2.618,1.14A2.023,2.023,0,0,1,22.287,22.475Z" style="fill:#99b8c4"/>`,
"Twig": `<path d="M4.574,5.463c.262.4,2.5-1.608,4.454-1.161,2.061.472,4.014,3.724,4.848,13.7a40.18,40.18,0,0,1,3.541,3.61q.53.614,1.013,1.22a11.847,11.847,0,0,1,.229-1.4,12.3,12.3,0,0,1,1.981-4.4A19.151,19.151,0,0,0,17.272,7.9c-1.03-1.445-4.6-6.478-8.546-5.843C6.182,2.465,4.3,5.054,4.574,5.463Z" style="fill:#63bf6a"/><path d="M24.4,30c-.32-2.567-.448-4.76-.5-6.449-.094-3.232.1-4.541.9-5.756.193-.295,1.288-1.975,2.58-1.863,1.466.128,2.213,2.414,2.362,2.337.175-.09-.36-3.543-2.532-4.431-2.6-1.063-6.312,2.07-7.8,5.154a12.223,12.223,0,0,0-.857,2.81,32.555,32.555,0,0,0-.71,8.2Z" style="fill:#74d74d"/><path d="M2.238,13.935c.145-.447,2.468-.259,4.54.293,2.5.666,7,2.344,11.651,8.606A12.544,12.544,0,0,1,20.279,30H10.386a21.875,21.875,0,0,0-.175-4.62,14.9,14.9,0,0,0-2.459-7.158C5.441,15.159,2.055,14.5,2.238,13.935Z" style="fill:#78dc50"/><path d="M17.3,21.323a1.753,1.753,0,1,1-.513-1.24A1.748,1.748,0,0,1,17.3,21.323Z" style="fill:#fff"/><path d="M21.975,21.323a1.753,1.753,0,1,1-.513-1.24A1.748,1.748,0,0,1,21.975,21.323Z" style="fill:#fff"/>`,
"TypeScript": `<rect x="2" y="2" width="28" height="28" rx="1.312" style="fill:#3178c6"/><path d="M18.245,23.759v3.068a6.492,6.492,0,0,0,1.764.575,11.56,11.56,0,0,0,2.146.192,9.968,9.968,0,0,0,2.088-.211,5.11,5.11,0,0,0,1.735-.7,3.542,3.542,0,0,0,1.181-1.266,4.469,4.469,0,0,0,.186-3.394,3.409,3.409,0,0,0-.717-1.117,5.236,5.236,0,0,0-1.123-.877,12.027,12.027,0,0,0-1.477-.734q-.6-.249-1.08-.484a5.5,5.5,0,0,1-.813-.479,2.089,2.089,0,0,1-.516-.518,1.091,1.091,0,0,1-.181-.618,1.039,1.039,0,0,1,.162-.571,1.4,1.4,0,0,1,.459-.436,2.439,2.439,0,0,1,.726-.283,4.211,4.211,0,0,1,.956-.1,5.942,5.942,0,0,1,.808.058,6.292,6.292,0,0,1,.856.177,5.994,5.994,0,0,1,.836.3,4.657,4.657,0,0,1,.751.422V13.9a7.509,7.509,0,0,0-1.525-.4,12.426,12.426,0,0,0-1.9-.129,8.767,8.767,0,0,0-2.064.235,5.239,5.239,0,0,0-1.716.733,3.655,3.655,0,0,0-1.171,1.271,3.731,3.731,0,0,0-.431,1.845,3.588,3.588,0,0,0,.789,2.34,6,6,0,0,0,2.395,1.639q.63.26,1.175.509a6.458,6.458,0,0,1,.942.517,2.463,2.463,0,0,1,.626.585,1.2,1.2,0,0,1,.23.719,1.1,1.1,0,0,1-.144.552,1.269,1.269,0,0,1-.435.441,2.381,2.381,0,0,1-.726.292,4.377,4.377,0,0,1-1.018.105,5.773,5.773,0,0,1-1.969-.35A5.874,5.874,0,0,1,18.245,23.759Zm-5.154-7.638h4V13.594H5.938v2.527H9.92V27.375h3.171Z" style="fill:#fff;fill-rule:evenodd"/>`,
"TypoScript": `<path d="M23.093,21.3a3.847,3.847,0,0,1-1.18.165c-3.555,0-8.778-12.424-8.778-16.559,0-1.523.362-2.031.87-2.466C9.653,2.943,4.43,4.539,2.761,6.57a4.048,4.048,0,0,0-.58,2.321C2.181,15.348,9.072,30,13.933,30c2.248,0,6.041-3.7,9.16-8.7" style="fill:#ff8700"/><path d="M20.823,2c4.5,0,9,.725,9,3.264,0,5.151-3.264,11.389-4.933,11.389-2.974,0-6.673-8.269-6.673-12.4,0-1.886.725-2.249,2.611-2.249" style="fill:#ff8700"/>`,
"V": `<path d="M20.467,29.288,29.952,2.913a.5.5,0,0,0-.566-.728L21.927,2.9a1.464,1.464,0,0,0-1.141.9L12.007,29.006a.573.573,0,0,0,.578.813h7.26a.657.657,0,0,0,.577-.4Z" style="fill:#536b8a"/><path d="M2.614,2.185l7.459.719a1.466,1.466,0,0,1,1.142.9L20.18,29.413a.286.286,0,0,1-.289.406H12.585a1.311,1.311,0,0,1-1.152-.81L2.048,2.913A.5.5,0,0,1,2.614,2.185Z" style="fill:#5d87bf"/>`,
"Vala": `<path d="M12.509,17.193c-.165-6.836-.325-12.455-.357-12.487A7.916,7.916,0,0,0,9.879,5.874,7.606,7.606,0,0,0,7.324,9.188a8.422,8.422,0,0,0-.587,3.543,4.665,4.665,0,0,0,.2,1.962,3.417,3.417,0,0,1,.182.56c-.012.009-.338-.018-.724-.061-1.868-.207-2.786-1.05-3-2.757A6.312,6.312,0,0,1,4.85,7.719a15.134,15.134,0,0,1,8.414-5.163,12.891,12.891,0,0,1,2.542-.235l1.748-.05.059,2.506c.032,1.378.1,6.358.161,11.067s-.252,8.29-.219,8.4C19.5,17.879,22,13.073,24.367,6.253l1.427-3.983H28.54c-.022.063-2.751,6.5-5.514,13.916l-5.473,13.55H12.976C12.976,27.906,12.535,18.486,12.509,17.193Z" style="fill:#403757"/><path d="M17.732,30H12.713v-.263c0-1.137-.17-5.192-.307-8.452-.081-1.929-.15-3.6-.161-4.087-.156-6.479-.286-11-.336-12.163a11.674,11.674,0,0,0-1.874,1.049,7.348,7.348,0,0,0-2.466,3.2A8.146,8.146,0,0,0,7,12.731,4.37,4.37,0,0,0,7.185,14.6c.215.569.273.723.1.859-.093.073-.107.084-.916-.007-1.976-.219-3-1.167-3.234-2.986A6.568,6.568,0,0,1,4.64,7.561,15.439,15.439,0,0,1,13.2,2.3,13.176,13.176,0,0,1,15.8,2.058L17.811,2l.065,2.77c.032,1.392.106,6.461.161,11.07.031,2.616-.052,4.915-.124,6.43.931-2.763,1.958-5.27,3.033-7.9,1.043-2.547,2.122-5.18,3.173-8.207l1.491-4.16h3.3l-.125.351c0,.007-.031.076-.084.2-1.1,2.622-3.259,7.889-5.43,13.717Zm-4.495-.526h4.14l5.407-13.386c2.124-5.7,4.243-10.876,5.362-13.555H25.979L24.614,6.342c-1.055,3.038-2.137,5.678-3.183,8.231-1.311,3.2-2.55,6.226-3.626,9.747l-.255.831-.248-.833a3.274,3.274,0,0,1,.021-.839c.074-1.35.229-4.158.188-7.633-.055-4.607-.129-9.674-.161-11.064L17.3,2.541l-1.484.043a12.729,12.729,0,0,0-2.49.228A14.887,14.887,0,0,0,5.06,7.877a6.071,6.071,0,0,0-1.4,4.524c.2,1.58,1.028,2.336,2.77,2.529l.333.035c-.019-.054-.041-.114-.066-.179a4.893,4.893,0,0,1-.219-2.055,8.7,8.7,0,0,1,.6-3.638,7.883,7.883,0,0,1,2.644-3.43c.022-.016,2.232-1.525,2.615-1.142.092.092.131.131.433,12.666h0c.01.485.08,2.149.16,4.076C13.06,24.313,13.217,28.06,13.237,29.474Z" style="fill:#c8c8c8"/>`,
"VB.Net": `<path d="M6.67,7.836,9,18.915,11.336,7.836H16L11.336,24.164H6.672L2,7.836Z" style="fill:#00519a"/><path d="M18.331,7.836h7.6a4.08,4.08,0,0,1,2.9,1.749,3.78,3.78,0,0,1,.571,2.04,3.985,3.985,0,0,1-.571,2.034,4.108,4.108,0,0,1-2.341,1.763,4.1,4.1,0,0,1,2.929,1.756,3.8,3.8,0,0,1,.58,2.1,4.663,4.663,0,0,1-.579,2.546,5.047,5.047,0,0,1-3.5,2.338H18.331ZM23,14.252h1.166a1.754,1.754,0,0,0,0-3.5H23Zm0,7H24.39a2.047,2.047,0,0,0,0-4.089H23Z" style="fill:#00519a"/>`,
"VBA": `<polygon points="10.457 11.092 16.014 13.839 16.014 18.307 10.457 15.382 10.457 11.092" style="fill:#6483c0"/><path d="M16.2,18.613l-5.926-3.12V10.8L16.2,13.724ZM10.642,15.27,15.83,18V13.953l-5.188-2.564Z"/><polygon points="16.371 13.839 16.371 18.307 21.315 15.814 21.315 11.354 16.371 13.839" style="fill:#6483c0"/><path d="M16.186,18.607V13.725l5.313-2.67v4.873Zm.369-4.655v4.055L21.13,15.7V11.653Z"/><polygon points="10.703 10.797 16.186 13.58 21.082 11.064 15.777 8.389 10.703 10.797" style="fill:#6483c0"/><path d="M16.187,13.788l-5.9-3,5.5-2.608,5.709,2.879ZM11.122,10.8l5.064,2.57,4.49-2.308-4.9-2.471Z"/><polygon points="18.957 15.829 24.515 18.575 24.515 23.043 18.957 20.118 18.957 15.829" style="fill:#952781"/><path d="M24.7,23.349l-5.926-3.12v-4.7L24.7,18.46Zm-5.557-3.343,5.188,2.731V18.689l-5.188-2.564Z"/><polygon points="24.871 18.575 24.871 23.043 29.815 20.55 29.815 16.09 24.871 18.575" style="fill:#952781"/><path d="M24.687,23.343V18.461L30,15.791v4.873Zm.369-4.655v4.055l4.575-2.308V16.389Z"/><polygon points="19.203 15.546 24.687 18.329 29.583 15.812 24.364 13.346 19.203 15.546" style="fill:#952781"/><path d="M24.687,18.536l-5.92-3.005,5.6-2.387L30,15.805ZM19.64,15.56l5.046,2.561,4.479-2.3-4.806-2.27Z"/><polygon points="2.19 15.496 7.748 18.243 7.748 22.711 2.19 19.786 2.19 15.496" style="fill:#d87b30"/><path d="M7.932,23.017,2.006,19.9V15.2l5.926,2.929ZM2.375,19.674l5.188,2.731V18.357L2.375,15.793Z"/><polygon points="8.104 18.243 8.104 22.711 13.048 20.218 13.048 15.758 8.104 18.243" style="fill:#d87b30"/><path d="M7.92,23.011V18.129l5.313-2.67v4.873Zm.369-4.655v4.055L12.864,20.1V16.057Z"/><polygon points="2.436 15.213 7.92 17.997 12.816 15.48 7.597 13.014 2.436 15.213" style="fill:#d87b30"/><path d="M7.92,18.2,2,15.2l5.6-2.387,5.632,2.661ZM2.873,15.228l5.046,2.561,4.479-2.3-4.806-2.27Z"/><polygon points="10.875 16.296 16.432 19.042 16.432 23.511 10.875 20.585 10.875 16.296" style="fill:#e0d400"/><path d="M16.617,23.816,10.691,20.7V16l5.926,2.929ZM11.06,20.474l5.188,2.731V19.157L11.06,16.593Z"/><polygon points="16.789 19.042 16.789 23.511 21.733 21.017 21.733 16.557 16.789 19.042" style="fill:#e0d400"/><path d="M16.6,23.811V18.929l5.313-2.67v4.873Zm.369-4.655v4.055L21.549,20.9V16.857Z"/><polygon points="11.121 16.001 16.605 18.784 21.501 16.267 16.196 13.593 11.121 16.001" style="fill:#e0d400"/><path d="M16.605,18.991l-5.9-3,5.5-2.608,5.709,2.879ZM11.54,16.006l5.064,2.57,4.49-2.308-4.9-2.471Z"/>`,
"Velocity": `<path d="M16.245,24.187A8.352,8.352,0,1,1,24.6,15.835,8.362,8.362,0,0,1,16.245,24.187Zm0-14.762a6.41,6.41,0,1,0,6.41,6.41A6.417,6.417,0,0,0,16.245,9.425Z"/><polygon points="29.132 8.551 25.451 6.531 25.451 7.474 15.821 7.474 15.821 9.424 25.451 9.424 25.451 10.571 29.132 8.551" style="fill:#262692"/><polygon points="8.984 2 6.964 5.687 7.906 5.687 7.906 15.328 9.857 15.328 9.857 5.687 11.004 5.687 8.984 2" style="fill:#262693"/><polygon points="23.705 30 21.685 26.243 22.628 26.243 22.628 16.417 24.578 16.417 24.578 26.243 25.725 26.243 23.705 30" style="fill:#262693"/><polygon points="2.868 23.32 6.634 21.3 6.634 22.242 16.484 22.242 16.484 24.192 6.634 24.192 6.634 25.34 2.868 23.32" style="fill:#262692"/>`,
"Verilog": `<path d="M29.007,17.4h.037a1.449,1.449,0,0,0,.938-.316,1.473,1.473,0,0,0,.519-1.031V15.9a1.413,1.413,0,0,0-1.376-1.3h-.009c-.687,0-1.374,0-2.062,0H25.5V11.956l3.513,0h.034A1.411,1.411,0,0,0,30.5,10.6l0-.09,0-.032a1.412,1.412,0,0,0-.646-1.1,1.455,1.455,0,0,0-.835-.225H25.456a2.96,2.96,0,0,0-.278-1.034,2.909,2.909,0,0,0-1.7-1.461,2.684,2.684,0,0,0-.629-.13V4.947c0-.69,0-1.38,0-2.063A1.414,1.414,0,0,0,21.481,1.5h-.116a1.4,1.4,0,0,0-1.319,1.388q0,1.154,0,2.306V6.5H17.4V4.981c0-.7,0-1.4,0-2.087A1.41,1.41,0,0,0,16.053,1.5H15.9a1.408,1.408,0,0,0-1.3,1.383c0,.688,0,1.376,0,2.064V6.508q-1.319,0-2.639,0V4.888c0-.666,0-1.332,0-1.989a1.366,1.366,0,0,0-.4-.975,1.4,1.4,0,0,0-.984-.424H10.5A1.41,1.41,0,0,0,9.159,2.881c0,.683,0,1.366,0,2.049v1.6a2.933,2.933,0,0,0-2.466,1.9,2.878,2.878,0,0,0-.161.726H4.957c-.693,0-1.386,0-2.073,0H2.876A1.413,1.413,0,0,0,1.5,10.5v.095a1.417,1.417,0,0,0,.575,1.091,1.463,1.463,0,0,0,.887.273h.017l3.522,0V14.6H4.948c-.686,0-1.375,0-2.057,0A1.428,1.428,0,0,0,1.5,15.913V16.1a1.4,1.4,0,0,0,1.386,1.3c.711,0,1.423,0,2.135,0H6.5V20.05l-.292,0c-.613-.007-1.226,0-1.838,0H3.087a1.633,1.633,0,0,0-.918.211A1.437,1.437,0,0,0,1.5,21.4V21.5a1.417,1.417,0,0,0,1.375,1.337h.005q.645,0,1.29,0H6.546a2.832,2.832,0,0,0,1.978,2.5,2.712,2.712,0,0,0,.631.128v1.62c0,.678,0,1.354,0,2.025a1.4,1.4,0,1,0,2.8-.092l0-3.527H14.6v3.516A1.414,1.414,0,0,0,15.947,30.5H16.1a1.411,1.411,0,0,0,1.3-1.385q.006-1.066,0-2.131V25.5h2.644V29.1A1.423,1.423,0,0,0,21.4,30.5h.119a1.408,1.408,0,0,0,1.16-.741,1.643,1.643,0,0,0,.167-.833V25.474a2.671,2.671,0,0,0,.62-.128,2.928,2.928,0,0,0,1.886-1.888,2.834,2.834,0,0,0,.123-.613h1.581c.687,0,1.375,0,2.057,0h.008A1.422,1.422,0,0,0,30.5,21.481v-.118a1.409,1.409,0,0,0-1.382-1.318h0c-.718,0-1.436,0-2.154,0H25.5V17.4Z" style="fill:#c5c5c5;opacity:0.3"/><path d="M10.515,2h.056a.91.91,0,0,1,.886.893c.006,1.108,0,2.216,0,3.324-.6,0-1.2,0-1.8,0,0-1.111,0-2.222,0-3.333A.907.907,0,0,1,10.515,2Z" style="fill:#1a348f"/><path d="M15.937,2h.116a.912.912,0,0,1,.846.889c.006,1.109,0,2.219,0,3.329H15.1c0-1.11,0-2.22,0-3.33A.911.911,0,0,1,15.937,2Z" style="fill:#1a348f"/><path d="M21.392,2h.089a.907.907,0,0,1,.859.881c.007,1.112,0,2.225,0,3.337h-1.8c0-1.109,0-2.217,0-3.326A.912.912,0,0,1,21.392,2Z" style="fill:#1a348f"/><path d="M2,10.518a.908.908,0,0,1,.882-.859c1.112-.007,2.223,0,3.334,0q0,.9,0,1.8c-1.079,0-2.158,0-3.237,0a.983.983,0,0,1-.6-.173A.924.924,0,0,1,2,10.571Z" style="fill:#1a348f"/><path d="M25.786,9.655h3.233a1,1,0,0,1,.561.143.924.924,0,0,1,.42.716v.058a.933.933,0,0,1-.3.651.957.957,0,0,1-.677.234c-1.079,0-2.158,0-3.237,0Q25.786,10.556,25.786,9.655Z" style="fill:#1a348f"/><path d="M2,15.944a.913.913,0,0,1,.888-.842c1.109-.007,2.219,0,3.328,0q0,.9,0,1.8c-1.109,0-2.217,0-3.326,0A.915.915,0,0,1,2,16.063Z" style="fill:#1a348f"/><path d="M25.786,15.1c1.109,0,2.218,0,3.326,0a.914.914,0,0,1,.889.835v.117a.946.946,0,0,1-.331.641.973.973,0,0,1-.651.207H25.786Q25.785,16,25.786,15.1Z" style="fill:#1a348f"/><path d="M2.433,20.678a1.121,1.121,0,0,1,.643-.136c1.043.006,2.086-.006,3.129.006.028.6,0,1.2.012,1.8-1.11,0-2.221,0-3.331,0A.911.911,0,0,1,2,21.483V21.4A.925.925,0,0,1,2.433,20.678Z" style="fill:#1a348f"/><path d="M25.786,20.543c1.108,0,2.216,0,3.324,0a.914.914,0,0,1,.89.847v.09a.911.911,0,0,1-.888.859c-1.109.007-2.218,0-3.326,0C25.786,21.743,25.785,21.143,25.786,20.543Z" style="fill:#1a348f"/><path d="M9.656,25.781h1.8c0,1.081,0,2.162,0,3.243a.957.957,0,0,1-.235.677.931.931,0,0,1-.653.3h-.052a.907.907,0,0,1-.86-.882C9.651,28.006,9.658,26.894,9.656,25.781Z" style="fill:#1a348f"/><path d="M15.1,25.781h1.8c0,1.11,0,2.22,0,3.33a.914.914,0,0,1-.836.889h-.116a.94.94,0,0,1-.619-.306.962.962,0,0,1-.228-.673Q15.1,27.4,15.1,25.781Z" style="fill:#1a348f"/><path d="M20.547,29.106c0-1.108,0-2.217,0-3.325h1.8c0,1.048,0,2.1,0,3.144a1.178,1.178,0,0,1-.105.59.92.92,0,0,1-.756.484H21.4A.911.911,0,0,1,20.547,29.106Z" style="fill:#1a348f"/><path d="M24.732,8.349A2.429,2.429,0,0,0,23.31,7.131,3.245,3.245,0,0,0,22.254,7c-4.3.008-8.6-.011-12.905.01A2.436,2.436,0,0,0,7.157,8.606,3.611,3.611,0,0,0,7,9.934q0,6.25,0,12.5a2.673,2.673,0,0,0,.268,1.219A2.431,2.431,0,0,0,8.688,24.87,3.756,3.756,0,0,0,9.927,25H22.07a3.762,3.762,0,0,0,1.243-.127A2.429,2.429,0,0,0,24.875,23.3,3.8,3.8,0,0,0,25,22.071q0-6.25,0-12.5A2.686,2.686,0,0,0,24.732,8.349Z" style="fill:#1a348f"/><path d="M7.5,8.307l.084-.2q.968,0,1.935.024h.394q.179,0,.394-.012.776-.036,2.807-.036.406,0,.788.006t.741.018a.234.234,0,0,1,.108.108l-.024.191q-.072.119-.358.119h-.1a10.3,10.3,0,0,0-1.1.054,2.179,2.179,0,0,0-1,.245.432.432,0,0,0-.155.346,4.05,4.05,0,0,0,.394,1.4l1.818,4.217.634,1.4q.921,2.222,1.819,4.539.1.251.179.454l.8-1.959q.62-1.481,1.252-3.154l.823-2.246q.024-.072.131-.478a17.026,17.026,0,0,0,1.157-4,.561.561,0,0,0-.161-.364,1.165,1.165,0,0,0-.52-.3,7.723,7.723,0,0,0-.932-.143l-.884-.108a.337.337,0,0,1-.108-.2l.036-.1,3.87-.036H23.6a3.1,3.1,0,0,1,.885.084l.012.1a.641.641,0,0,1-.072.251,2.449,2.449,0,0,1-.526.119,3.6,3.6,0,0,0-1.244.281,1.815,1.815,0,0,0-.5.687l-3.134,7.765q-1.466,3.5-2.086,5.423l-.345,1.039a.531.531,0,0,1-.263.1,1.383,1.383,0,0,1-.3-.036q-1.422-3.676-2.318-5.681L10.055,9.92a3.247,3.247,0,0,0-.591-.89,5.463,5.463,0,0,0-1.379-.424,4.347,4.347,0,0,1-.466-.119A.326.326,0,0,1,7.5,8.307Z" style="fill:#c5c2ff"/>`,
"VHDL": `<path d="M2,2H30V30H2Zm1.689.067A1.624,1.624,0,0,0,2.063,3.692V28.314A1.625,1.625,0,0,0,3.689,29.94H28.316a1.625,1.625,0,0,0,1.626-1.626V3.692a1.624,1.624,0,0,0-1.626-1.625ZM3.008,28.079a.911.911,0,0,0,.911.912H28.083a.911.911,0,0,0,.911-.912V3.919a.91.91,0,0,0-.911-.911H3.919a.91.91,0,0,0-.911.911Z" style="fill:#0d9b35"/><polygon points="25.52 5.502 18.858 26.491 13.154 26.491 6.492 5.502 10.508 5.502 16.029 22.795 21.504 5.502 25.52 5.502" style="fill:#fff"/>`,
"vim": `<defs><clipPath id="a"><polygon points="2 2 30 2 30 30 2 30 2 2 2 2" style="fill:none;clip-rule:evenodd"/></clipPath></defs><title>file_type_vim</title><polygon points="29.989 15.856 15.856 2.011 2.011 16.136 15.856 29.989 29.989 15.856 29.989 15.856" style="fill:#231f20;fill-rule:evenodd"/><g style="clip-path:url(#a)"><polygon points="29.989 15.856 15.856 2.011 2.011 16.136 15.856 29.989 29.989 15.856 29.989 15.856" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/></g><polygon points="28.575 15.856 29.422 15.856 15.856 29.422 15.856 28.575 28.575 15.856 28.575 15.856" style="fill:#29695d;fill-rule:evenodd"/><polygon points="28.575 15.856 29.422 15.856 15.856 29.422 15.856 28.575 28.575 15.856 28.575 15.856" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="2.578 16.136 3.425 16.136 15.856 28.575 15.856 29.422 2.578 16.136 2.578 16.136" style="fill:#317367;fill-rule:evenodd"/><polygon points="2.578 16.136 3.425 16.136 15.856 28.575 15.856 29.422 2.578 16.136 2.578 16.136" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="15.856 3.418 15.856 2.578 2.578 16.136 3.425 16.136 15.856 3.418 15.856 3.418" style="fill:#60c2ac;fill-rule:evenodd"/><polygon points="15.856 3.418 15.856 2.578 2.578 16.136 3.425 16.136 15.856 3.418 15.856 3.418" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="15.856 2.578 15.856 3.418 28.575 15.856 29.422 15.856 15.856 2.578 15.856 2.578" style="fill:#43b54a;fill-rule:evenodd"/><polygon points="15.856 2.578 15.856 3.418 28.575 15.856 29.422 15.856 15.856 2.578 15.856 2.578" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="15.856 28.575 28.575 15.856 15.856 3.418 3.425 16.136 15.856 28.575 15.856 28.575" style="fill:#3c8376;fill-rule:evenodd"/><polygon points="15.856 28.575 28.575 15.856 15.856 3.418 3.425 16.136 15.856 28.575 15.856 28.575" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="18.498 6.246 19.345 7.1 13.502 13.028 13.502 7.1 14.069 7.1 14.916 6.246 14.916 3.992 14.069 3.138 4.652 3.138 3.805 3.992 3.805 6.246 4.652 7.1 5.312 7.1 5.312 26.314 6.346 27.161 9.267 27.161 29.516 6.246 29.516 3.992 28.669 3.138 19.438 3.138 18.498 3.992 18.498 6.246 18.498 6.246" style="fill:#231f20;fill-rule:evenodd"/><polygon points="18.498 6.246 19.345 7.1 13.502 13.028 13.502 7.1 14.069 7.1 14.916 6.246 14.916 3.992 14.069 3.138 4.652 3.138 3.805 3.992 3.805 6.246 4.652 7.1 5.312 7.1 5.312 26.314 6.346 27.161 9.267 27.161 29.516 6.246 29.516 3.992 28.669 3.138 19.438 3.138 18.498 3.992 18.498 6.246 18.498 6.246" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="4.932 6.533 4.365 5.966 4.365 4.272 4.932 3.705 13.789 3.698 14.349 4.272 13.789 4.544 13.502 4.272 4.932 5.679 4.932 6.533 4.932 6.533" style="fill:#fff;fill-rule:evenodd"/><polygon points="4.932 6.533 4.365 5.966 4.365 4.272 4.932 3.705 13.789 3.698 14.349 4.272 13.789 4.544 13.502 4.272 4.932 5.679 4.932 6.533 4.932 6.533" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="6.626 26.594 5.966 26.027 5.966 6.526 6.626 5.966 6.626 26.594 6.626 26.594" style="fill:#fff;fill-rule:evenodd"/><polygon points="6.626 26.594 5.966 26.027 5.966 6.526 6.626 5.966 6.626 26.594 6.626 26.594" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="20.759 6.533 21.326 5.966 21.326 7.1 11.902 16.703 12.942 14.442 20.759 6.533 20.759 6.533" style="fill:#fff;fill-rule:evenodd"/><polygon points="20.759 6.533 21.326 5.966 21.326 7.1 11.902 16.703 12.942 14.442 20.759 6.533 20.759 6.533" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="6.82 5.686 6.626 5.966 5.966 6.533 4.932 6.533 4.932 5.399 6.82 5.686 6.82 5.686" style="fill:#929497;fill-rule:evenodd"/><polygon points="6.82 5.686 6.626 5.966 5.966 6.533 4.932 6.533 4.932 5.399 6.82 5.686 6.82 5.686" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="12.942 6.533 12.942 14.442 11.902 16.696 11.902 5.958 13.502 5.958 13.789 5.678 13.502 4.272 14.349 4.272 14.349 5.966 13.789 6.533 12.942 6.533 12.942 6.533" style="fill:#929497;fill-rule:evenodd"/><polygon points="12.942 6.533 12.942 14.442 11.902 16.696 11.902 5.958 13.502 5.958 13.789 5.678 13.502 4.272 14.349 4.272 14.349 5.966 13.789 6.533 12.942 6.533 12.942 6.533" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="19.625 6.533 19.065 5.966 19.065 4.272 19.718 3.705 28.295 3.705 28.956 4.272 28.008 5.119 19.625 5.679 19.625 6.533 19.625 6.533" style="fill:#fff;fill-rule:evenodd"/><polygon points="19.625 6.533 19.065 5.966 19.065 4.272 19.718 3.705 28.295 3.705 28.956 4.272 28.008 5.119 19.625 5.679 19.625 6.533 19.625 6.533" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="28.956 5.966 9.074 26.594 6.626 26.594 6.626 25.747 8.42 25.747 28.295 5.399 28.008 4.272 28.956 4.272 28.956 5.966 28.956 5.966" style="fill:#929497;fill-rule:evenodd"/><polygon points="28.956 5.966 9.074 26.594 6.626 26.594 6.626 25.747 8.42 25.747 28.295 5.399 28.008 4.272 28.956 4.272 28.956 5.966 28.956 5.966" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="21.512 5.686 21.319 5.966 20.759 6.533 19.625 6.533 19.625 5.399 21.512 5.686 21.512 5.686" style="fill:#929497;fill-rule:evenodd"/><polygon points="21.512 5.686 21.319 5.966 20.759 6.533 19.625 6.533 19.625 5.399 21.512 5.686 21.512 5.686" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="11.902 16.696 11.902 5.958 13.502 5.958 13.789 5.679 13.789 4.544 13.502 4.265 5.212 4.265 4.932 4.544 4.932 5.679 5.212 5.958 6.626 5.958 6.626 25.747 6.992 26.027 8.607 26.027 28.389 5.399 28.389 4.588 28.102 4.265 19.912 4.265 19.625 4.544 19.625 5.686 19.912 5.966 21.326 5.966 21.326 7.1 11.902 16.696 11.902 16.696" style="fill:#d0d2d3;fill-rule:evenodd"/><polygon points="11.902 16.696 11.902 5.958 13.502 5.958 13.789 5.679 13.789 4.544 13.502 4.265 5.212 4.265 4.932 4.544 4.932 5.679 5.212 5.958 6.626 5.958 6.626 25.747 6.992 26.027 8.607 26.027 28.389 5.399 28.389 4.588 28.102 4.265 19.912 4.265 19.625 4.544 19.625 5.686 19.912 5.966 21.326 5.966 21.326 7.1 11.902 16.696 11.902 16.696" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="17.041 16.711 17.701 16.144 19.395 16.144 19.869 16.711 19.302 18.405 18.649 18.972 16.955 18.972 16.474 18.405 17.041 16.711 17.041 16.711" style="fill:#231f20;fill-rule:evenodd"/><polygon points="17.041 16.711 17.701 16.144 19.395 16.144 19.869 16.711 19.302 18.405 18.649 18.972 16.955 18.972 16.474 18.405 17.041 16.711 17.041 16.711" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="17.608 26.034 19.309 20.953 18.742 20.953 19.309 19.251 21.843 19.251 22.41 19.819 22.79 19.819 23.35 19.251 25.238 19.251 25.805 19.819 26.178 19.819 26.745 19.251 28.812 19.251 29.566 20.386 28.331 24.405 28.891 24.405 28.346 26.034 24.951 26.034 26.278 22.079 25.431 22.079 24.649 24.391 25.209 24.391 24.678 26.034 21.283 26.034 22.603 22.079 21.756 22.079 20.967 24.405 21.534 24.405 21.003 26.034 17.608 26.034 17.608 26.034" style="fill:#231f20;fill-rule:evenodd"/><polygon points="17.608 26.034 19.309 20.953 18.742 20.953 19.309 19.251 21.843 19.251 22.41 19.819 22.79 19.819 23.35 19.251 25.238 19.251 25.805 19.819 26.178 19.819 26.745 19.251 28.812 19.251 29.566 20.386 28.331 24.405 28.891 24.405 28.346 26.034 24.951 26.034 26.278 22.079 25.431 22.079 24.649 24.391 25.209 24.391 24.678 26.034 21.283 26.034 22.603 22.079 21.756 22.079 20.967 24.405 21.534 24.405 21.003 26.034 17.608 26.034 17.608 26.034" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="28.554 19.819 28.992 20.443 27.599 24.907 28.159 24.907 27.972 25.467 25.711 25.467 27.032 21.512 25.051 21.512 23.924 24.907 24.484 24.907 24.297 25.467 22.036 25.467 23.357 21.512 21.376 21.512 20.249 24.907 20.816 24.907 20.622 25.467 18.361 25.467 20.063 20.386 19.495 20.386 19.682 19.819 21.756 19.819 22.323 20.386 22.883 20.386 23.45 19.819 25.144 19.819 25.711 20.386 26.278 20.386 26.845 19.819 28.554 19.819 28.554 19.819" style="fill:#d0d2d3;fill-rule:evenodd"/><polygon points="28.554 19.819 28.992 20.443 27.599 24.907 28.159 24.907 27.972 25.467 25.711 25.467 27.032 21.512 25.051 21.512 23.924 24.907 24.484 24.907 24.297 25.467 22.036 25.467 23.357 21.512 21.376 21.512 20.249 24.907 20.816 24.907 20.622 25.467 18.361 25.467 20.063 20.386 19.495 20.386 19.682 19.819 21.756 19.819 22.323 20.386 22.883 20.386 23.45 19.819 25.144 19.819 25.711 20.386 26.278 20.386 26.845 19.819 28.554 19.819 28.554 19.819" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><path d="M19.022,19.251,17.292,24.4h.589l-.56,1.637H13.933l1.694-5.082H15.06l3.962-1.7Zm-3.962,1.7.567-1.7h3.4l-3.962,1.7Z" style="fill:#231f20;fill-rule:evenodd"/><path d="M19.022,19.251,17.292,24.4h.589l-.56,1.637H13.933l1.694-5.082H15.06l3.962-1.7Zm-3.962,1.7.567-1.7h3.4l-3.962,1.7Z" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="16.947 25.467 17.134 24.907 16.567 24.907 18.268 19.819 15.914 19.819 15.72 20.386 16.38 20.386 14.686 25.467 16.947 25.467 16.947 25.467" style="fill:#d0d2d3;fill-rule:evenodd"/><polygon points="16.947 25.467 17.134 24.907 16.567 24.907 18.268 19.819 15.914 19.819 15.72 20.386 16.38 20.386 14.686 25.467 16.947 25.467 16.947 25.467" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/><polygon points="18.828 18.125 19.208 16.991 19.022 16.711 17.888 16.711 17.514 16.991 17.134 18.125 17.328 18.405 18.462 18.405 18.828 18.125 18.828 18.125" style="fill:#d0d2d3;fill-rule:evenodd"/><polygon points="18.828 18.125 19.208 16.991 19.022 16.711 17.888 16.711 17.514 16.991 17.134 18.125 17.328 18.405 18.462 18.405 18.828 18.125 18.828 18.125" style="fill:none;stroke:#231f20;stroke-miterlimit:10;stroke-width:0.216000005602837px"/>`,
"Visual Basic": `<path d="M6.67,7.836,9,18.915,11.336,7.836H16L11.336,24.164H6.672L2,7.836Z" style="fill:#00519a"/><path d="M18.331,7.836h7.6a4.08,4.08,0,0,1,2.9,1.749,3.78,3.78,0,0,1,.571,2.04,3.985,3.985,0,0,1-.571,2.034,4.108,4.108,0,0,1-2.341,1.763,4.1,4.1,0,0,1,2.929,1.756,3.8,3.8,0,0,1,.58,2.1,4.663,4.663,0,0,1-.579,2.546,5.047,5.047,0,0,1-3.5,2.338H18.331ZM23,14.252h1.166a1.754,1.754,0,0,0,0-3.5H23Zm0,7H24.39a2.047,2.047,0,0,0,0-4.089H23Z" style="fill:#00519a"/>`,
"WebAssembly": `<path d="M19.153,2.35V2.5a3.2,3.2,0,1,1-6.4,0h0V2.35H2V30.269H29.919V2.35Z" style="fill:#654ff0"/><path d="M8.485,17.4h1.85L11.6,24.123h.023L13.14,17.4h1.731l1.371,6.81h.027l1.44-6.81h1.815l-2.358,9.885H15.329l-1.36-6.728h-.036l-1.456,6.728h-1.87Zm13.124,0h2.917l2.9,9.885H25.515l-.63-2.2H21.562l-.486,2.2H19.217Zm1.11,2.437-.807,3.627h2.512L23.5,19.832Z" style="fill:#fff"/>`,
"Wolfram language": `<path d="M30,20.55,25.94,16,30,11.45l-5.948-1.294.595-6.067L19.071,6.543,15.993,1.279,12.929,6.543,7.353,4.089l.595,6.067L2,11.45,6.059,16,2,20.55l5.948,1.294-.595,6.067,5.576-2.454,3.078,5.264,3.063-5.264,5.591,2.454-.61-6.067Z" style="fill:#d10"/><path d="M19.353,11.45a6.968,6.968,0,0,1-3.42.862,5.446,5.446,0,0,1-3.212-.862A7.1,7.1,0,0,1,12.5,14.8a6.225,6.225,0,0,1-1.874,2.914,7.454,7.454,0,0,1,3.138,1.19,9.659,9.659,0,0,1,2.216,2.721,8.194,8.194,0,0,1,2.141-2.691,7.605,7.605,0,0,1,3.242-1.2,12.562,12.562,0,0,1-1.933-2.944A6.718,6.718,0,0,1,19.353,11.45Zm-1.9,6.543a5.233,5.233,0,0,0-1.457,1.636,6.236,6.236,0,0,0-1.5-1.621,5.191,5.191,0,0,0-1.948-.848,6.839,6.839,0,0,0,1.115-2.007,6.18,6.18,0,0,0,.223-2.082,6.317,6.317,0,0,0,2.082.446,6.552,6.552,0,0,0,2.171-.461,4.521,4.521,0,0,0,.074,2.156,6.71,6.71,0,0,0,1.249,1.933A7.031,7.031,0,0,0,17.45,17.993Zm4.238-4.015c-.357-1.175.654-6.706.654-6.706S18.55,9.844,15.888,9.844s-6.23-2.572-6.23-2.572,1.175,4.015.461,6.587-4.387,5.472-4.387,5.472,4.788.283,6.6,1.5,3.658,5.948,3.658,5.948,2.454-5.2,3.48-5.948,6.8-1.5,6.8-1.5-4.223-4.178-4.58-5.353Zm-2.84,5.963a9.444,9.444,0,0,0-2.84,4.178s-1.413-3.152-2.974-4.223S8.3,18.543,8.3,18.543s2.454-2.171,3.048-4.1a11.923,11.923,0,0,0-.1-4.952,11.3,11.3,0,0,0,4.669,1.621c2.037,0,4.848-1.621,4.848-1.621s-.818,3.033-.164,4.922,3.108,4.134,3.108,4.134a10.557,10.557,0,0,0-4.862,1.4Z" style="fill:#fff"/>`,
"XML": `<path d="M20.42,21.157l2.211,2.211L30,16,22.631,8.631,20.42,10.843,25.58,16Z" style="fill:#f1662a"/><path d="M11.58,10.843,9.369,8.631,2,16l7.369,7.369,2.211-2.211L6.42,16Z" style="fill:#f1662a"/><path d="M17.411,7.677l1.6.437-4.42,16.209-1.6-.437,4.42-16.209Z" style="fill:#f1662a"/>`,
"XQuery": `<path d="M20.42,21.157l2.211,2.211L30,16,22.631,8.631,20.42,10.843,25.58,16ZM11.58,10.843,9.369,8.631,2,16l7.369,7.369,2.211-2.211L6.42,16Zm5.831-3.166,1.6.437-4.42,16.209-1.6-.437Z" style="fill:#f1662a"/><path d="M20.332,18.462a3.354,3.354,0,0,1,.975-1.423,4.014,4.014,0,0,1,1.617-.8A9.118,9.118,0,0,1,25.138,16a5.472,5.472,0,0,1,3.681,1.039A3.5,3.5,0,0,1,30,19.808a4.47,4.47,0,0,1-.24,1.491,3.124,3.124,0,0,1-.838,1.239l-1.675,1.6a1.512,1.512,0,0,0-.424.789,5.307,5.307,0,0,0-.1,1.1H23v-.54a6.32,6.32,0,0,1,.207-1.778,2.886,2.886,0,0,1,.78-1.24l1.352-1.289a1.84,1.84,0,0,0,.563-.894,3.682,3.682,0,0,0,.1-.8,1.5,1.5,0,0,0-.252-.9.9.9,0,0,0-.779-.346,1.255,1.255,0,0,0-.483.086.724.724,0,0,0-.344.337,2.347,2.347,0,0,0-.217.721,7.614,7.614,0,0,0-.081,1.24H20A6.155,6.155,0,0,1,20.332,18.462Zm6.457,8.5V30H22.936V26.962Z" style="fill:#fcba00"/>`,
"YAML": `<path d="M2,12.218c.755,0,1.51-.008,2.264,0l.053.038Q5.7,13.638,7.078,15.014c.891-.906,1.8-1.794,2.7-2.7.053-.052.11-.113.192-.1.608,0,1.215,0,1.823,0a1.4,1.4,0,0,1,.353.019c-.7.67-1.377,1.369-2.069,2.05L5.545,18.8c-.331.324-.648.663-.989.975-.754.022-1.511.007-2.266.007,1.223-1.209,2.431-2.433,3.658-3.637C4.627,14.841,3.318,13.525,2,12.218Z" style="fill:#ffe885"/><path d="M12.7,12.218c.613,0,1.226,0,1.839,0q0,3.783,0,7.566c-.611,0-1.222.012-1.832-.008,0-1.664,0-3.329,0-4.994-1.6,1.607-3.209,3.2-4.811,4.8-.089.08-.166.217-.305.194-.824-.006-1.649,0-2.474,0Q8.916,16,12.7,12.218Z" style="fill:#ffe885"/><path d="M14.958,12.22c.47-.009.939,0,1.409,0,.836.853,1.69,1.689,2.536,2.532q1.268-1.267,2.539-2.532.7,0,1.4,0-.008,3.784,0,7.567c-.471,0-.943.006-1.414,0q.008-2.387,0-4.773c-.844.843-1.676,1.7-2.526,2.536-.856-.835-1.687-1.695-2.532-2.541,0,1.594-.006,3.188.006,4.781-.472,0-.943.005-1.415,0Q14.958,16,14.958,12.22Z" style="fill:#ffe885"/><path d="M23.259,12.217c.472,0,.944-.007,1.416,0q-.007,3.083,0,6.166c1.26,0,2.521,0,3.782,0,.063.006.144-.012.191.045.448.454.907.9,1.353,1.354q-3.371.007-6.741,0Q23.267,16,23.259,12.217Z" style="fill:#ffe885"/>`,
"YANG": `<path d="M8.877,23.159c0-5.535,3.992-7.168,7.894-7.168,3.357,0,5.988-3.811,5.988-6.624,0-3.621-2.487-5.831-4.882-7.12A13.881,13.881,0,1,0,14.5,29.8C10.491,28.248,8.877,25.324,8.877,23.159Z" style="fill:#fff"/><path d="M14.482,29.917A14,14,0,0,1,16,2a14.154,14.154,0,0,1,1.893.131l.04.013c2.255,1.213,4.944,3.452,4.944,7.223,0,2.715-2.564,6.741-6.106,6.741-2.9,0-7.776.916-7.776,7.05,0,2.022,1.451,4.946,5.542,6.531ZM16,2.236A13.765,13.765,0,0,0,13.637,29.56c-3.581-1.684-4.877-4.447-4.877-6.4,0-6.576,5.6-7.286,8.012-7.286,3.406,0,5.87-3.886,5.87-6.506,0-3.645-2.606-5.82-4.8-7.006A13.928,13.928,0,0,0,16,2.236Z" style="fill:#231f20"/><path d="M29.882,16a13.882,13.882,0,0,0-12-13.752c2.4,1.289,4.882,3.5,4.882,7.12,0,2.813-2.631,6.624-5.988,6.624-3.9,0-7.894,1.633-7.894,7.168,0,2.166,1.613,5.089,5.618,6.641A13.875,13.875,0,0,0,29.882,16Z" style="fill:#231f20"/><path d="M16,30a14.2,14.2,0,0,1-1.518-.083l-.03-.007c-4.2-1.628-5.693-4.654-5.693-6.75,0-6.576,5.6-7.286,8.012-7.286,3.406,0,5.87-3.886,5.87-6.506,0-3.655-2.621-5.833-4.82-7.016l.072-.221A14,14,0,0,1,16,30Zm-1.477-.316A13.756,13.756,0,0,0,29.764,16,13.807,13.807,0,0,0,18.5,2.466c2.115,1.272,4.377,3.441,4.377,6.9,0,2.715-2.564,6.741-6.106,6.741-2.9,0-7.776.916-7.776,7.05C9,25.178,10.443,28.1,14.523,29.684Z" style="fill:#231f20"/><circle cx="15.943" cy="22.787" r="1.506" style="fill:#fff"/><circle cx="16.007" cy="9.142" r="1.506" style="fill:#231f20"/>`,
"Zig": `<polygon points="5.733 19.731 5.733 12.264 8.533 12.264 8.533 8.531 2 8.531 2 23.464 5.547 23.464 8.907 19.731 5.733 19.731" style="fill:#f7a41d"/><polygon points="26.453 8.531 23.093 12.264 26.267 12.264 26.267 19.731 23.467 19.731 23.467 23.464 30 23.464 30 8.531 26.453 8.531" style="fill:#f7a41d"/><polygon points="26.875 6.707 20.513 8.531 9.467 8.531 9.467 12.264 16.847 12.264 5.115 25.293 11.497 23.464 22.533 23.464 22.533 19.731 15.148 19.731 26.875 6.707" style="fill:#f7a41d"/>`
};
var LANGUAGE_COLORS = {
".gitignore": "#dd4c35",
".hgignore": "#bfbfbf",
".npmignore": "#cb3837",
".properties": "#99b8c4",
"6502 Assembly": "#0000bf",
"ActionScript": "#c41718",
"Ada": "#0f23c3",
"AL": "#2ea98e",
"ANTLR4": "#e44a32",
"Apache Configuration": "#c92037",
"Apex": "#0f9bd7",
"APL": "#d2d2d2",
"AppleScript": "#a8c2ab",
"Arduino": "2d9094",
"ARM Assembly": "#0000bf",
"AsciiDoc": "#e40046",
"ASP.NET (C#)": "#33a9dc",
"AutoHotkey": "#d8d8d8",
"AutoIt": "#5d83ac",
"Avro IDL": "#0040ff",
"AWK": "#d2d2d2",
"Batch": "#d9b400",
"C#": "#368832",
"C": "#005f91",
"C++": "#984c93",
"Clojure": "#91dc47",
"CMake": "#01a300",
"COBOL": "#005ca5",
"CoffeeScript": "#6f4e37",
"Crystal": "#c8c8c8",
"CSS": "#1572b6",
"CSV": "#c2c2c2",
"D": "#b03931",
"Dart": "#58b6f0",
"Dhall": "#b7b7b7",
"Diff": "#c00000",
"Django/Jinja2": "#ff0000",
"Docker": "#0096e6",
"DOT (Graphviz)": "#4ed1f8",
"EditorConfig": "#e3e3f8",
"EJS": "#90a93a",
"Elixir": "#452459",
"Elm": "#8cd636",
"ERB": "#921a1e",
"Erlang": "#a2003e",
"F#": "#378bba",
"Firestore security rules": "#f6820c",
"Flow": "#ffb047",
"Fortran": "#734f96",
"FreeMarker Template Language": "#0050b2",
"GameMaker Language": "#8bc34a",
"G-code": "#ba0000",
"GDScript": "#478cbf",
"Git": "#dd4c35",
"GLSL": "#4386b5",
"Go module": "#ce3262",
"Go": "#00acd7",
"Gradle": "#006533",
"GraphQL": "#e10098",
"Groovy": "#6398aa",
"Haml": "#ecdfa7",
"Handlebars": "#c19770",
"Haskell": "#C04504",
"Haxe": "#f68712",
"HLSL": "#0000ff",
"HTML": "#e44f26",
"HTTP": "#3b61a6",
"Idris": "#8a0819",
"Ini": "#99b8c4",
"Io": "#c2c2c2",
"Java": "#5382a1",
"JavaScript": "#f5de19",
"JSON": "#f5de19",
"JSON5": "#909090",
"Julia": "#4063d8",
"Kotlin": "#9d4b9d",
"Kusto": "#59b4d9",
"LaTeX": "#cfcfcf",
"Less": "#2a4f84",
"Liquid": "#004999",
"Lisp": "#8381c5",
"LiveScript": "#317eac",
"Log file": "#00bd02",
"LOLCODE": "#8d2701",
"Lua": "#050080",
"Markdown": "#755838",
"MATLAB": "#ef6c3e",
"MAXScript": "#00696b",
"MEL": "#06a0a2",
"MongoDB": "#41a247",
"nginx": "#019639",
"Nim": "#ffe953",
"Nix": "#5277c3",
"NSIS": "#a42d26",
"Object Pascal": "#FF6344",
"Objective-C": "#c2c2c2",
"OCaml": "#f29104",
"OpenCL": "#FF1C1A",
"Pascal": "#FF6344",
"Perl": "#3a3c5b",
"PHP": "#4c6b96",
"PL/SQL": "#ff0000",
"Plain text": "#c2c2c2",
"PlantUML": "#A11F41",
"PowerQuery": "#cfcfcf",
"PowerShell": "#5391fe",
"Processing": "#1c4c70",
"Prolog": "#ec1c24",
"Protocol Buffers": "#97ff27",
"Pug": "#442823",
"Puppet": "#ffae1a",
"PureScript": "#16171b",
"Python": "#3671A1",
"Q (kdb+ database)": "#1e78b3",
"Q#": `#3333cc`,
"QML": "#41cd52",
"R": "#276dc3",
"Racket": "#9f1d20",
"Razor C#": "#368832",
"React JSX": "#00d8ff",
"React TSX": "#007acc",
"Reason": "#dd4b39",
"Rego": "#78929a",
"ReScript": "#e84f4f",
"reST (reStructuredText)": "#ce3f31",
"Robot Framework": ``,
"Ruby": "#b31301",
"Rust": "#a04f12",
"SAS": "#002bb5",
"Sass (Sass)": "#cd6799",
"Sass (SCSS)": "#cd6799",
"Scala": `#e62d2a `,
"Shell session": "#d9b400",
"Shell": "#d9b400",
"Smarty": "#f6e200",
"Solidity (Ethereum)": "#c1c1c1",
"Solution file": "#854cc7",
"SPARQL": "#0c479c",
"SQF": "#c2c2c2",
"SQF: Status Quo Function (Arma 3)": "#c2c2c2",
"SQL": "#ffda44",
"Squirrel": "#a05a2c",
"Stan": "#b2001d",
"Stata Ado": "#3c6e8f",
"Stylus": "#c2c2c2",
"SVG": "#ffb13b",
"Swift": "#FA5D2D",
"Systemd configuration file": "#30d475",
"T4 templating": "#1e88e5",
"T4 Text Templates (C#)": "#1e88e5",
"T4 Text Templates (VB)": "#1e88e5",
"Tcl": "#eff1cb",
"Template Toolkit 2": "#3bcefc",
"TeX": "#cfcfcf",
"Textile": "#ffe7ac",
"TOML": "#bfbfbf",
"TSConfig": "#007acc",
"Twig": "#78dc50",
"TypeScript": "#3178c6",
"TypoScript": "#ff8700",
"V": "#5d87bf",
"Vala": "#403757",
"VB.Net": "#00519a",
"VBA": "#d87b30",
"Velocity": "#262692",
"Verilog": "#1a348f",
"VHDL": "#0d9b35",
"vim": "#43b54a",
"Visual Basic": "#00519a",
"WebAssembly": "#654ff0",
"Wolfram language": "#d01000",
"XML": "#f1662a",
"XQuery": "#f1662a",
"YAML": "#ffe885",
"YANG": "#231f20",
"Zig": "#f7a41d"
};
// src/SettingsTab.ts
var import_obsidian = require("obsidian");
var import_pickr = __toESM(require_pickr_min());
// node_modules/colortranslator/esm/index.js
var t = function() {
return t = Object.assign || function(t2) {
for (var e2, r2 = 1, n2 = arguments.length; r2 < n2; r2++)
for (var i2 in e2 = arguments[r2])
Object.prototype.hasOwnProperty.call(e2, i2) && (t2[i2] = e2[i2]);
return t2;
}, t.apply(this, arguments);
};
function e(t2, e2, r2) {
if (r2 || 2 === arguments.length)
for (var n2, i2 = 0, o2 = e2.length; i2 < o2; i2++)
!n2 && i2 in e2 || (n2 || (n2 = Array.prototype.slice.call(e2, 0, i2)), n2[i2] = e2[i2]);
return t2.concat(n2 || Array.prototype.slice.call(e2));
}
var r;
var n;
var i;
var o;
!function(t2) {
t2.HEX = "HEX", t2.RGB = "RGB", t2.HSL = "HSL", t2.CMYK = "CMYK";
}(r || (r = {})), function(t2) {
t2.ANALOGOUS = "ANALOGOUS", t2.COMPLEMENTARY = "COMPLEMENTARY", t2.SPLIT_COMPLEMENTARY = "SPLIT_COMPLEMENTARY", t2.TRIADIC = "TRIADIC", t2.TETRADIC = "TETRADIC", t2.SQUARE = "SQUARE";
}(n || (n = {})), function(t2) {
t2.ADDITIVE = "ADDITIVE", t2.SUBTRACTIVE = "SUBTRACTIVE";
}(i || (i = {})), function(t2) {
t2.black = "#000000", t2.silver = "#C0C0C0", t2.gray = "#808080", t2.white = "#FFFFFF", t2.maroon = "#800000", t2.red = "#FF0000", t2.purple = "#800080", t2.fuchsia = "#FF00FF", t2.green = "#008000", t2.lime = "#00FF00", t2.olive = "#808000", t2.yellow = "#FFFF00", t2.navy = "#000080", t2.blue = "#0000FF", t2.teal = "#008080", t2.aqua = "#00FFFF", t2.orange = "#FFA500", t2.aliceblue = "#F0F8FF", t2.antiquewhite = "#FAEBD7", t2.aquamarine = "#7FFFD4", t2.azure = "#F0FFFF", t2.beige = "#F5F5DC", t2.bisque = "#FFE4C4", t2.blanchedalmond = "#FFEBCD", t2.blueviolet = "#8A2BE2", t2.brown = "#A52A2A", t2.burlywood = "#DEB887", t2.cadetblue = "#5F9EA0", t2.chartreuse = "#7FFF00", t2.chocolate = "#D2691E", t2.coral = "#FF7F50", t2.cornflowerblue = "#6495ED", t2.cornsilk = "#FFF8DC", t2.crimson = "#DC143C", t2.cyan = "#00FFFF", t2.darkblue = "#00008B", t2.darkcyan = "#008B8B", t2.darkgoldenrod = "#B8860B", t2.darkgray = "#A9A9A9", t2.darkgreen = "#006400", t2.darkgrey = "#A9A9A9", t2.darkkhaki = "#BDB76B", t2.darkmagenta = "#8B008B", t2.darkolivegreen = "#556B2F", t2.darkorange = "#FF8C00", t2.darkorchid = "#9932CC", t2.darkred = "#8B0000", t2.darksalmon = "#E9967A", t2.darkseagreen = "#8FBC8F", t2.darkslateblue = "#483D8B", t2.darkslategray = "#2F4F4F", t2.darkslategrey = "#2F4F4F", t2.darkturquoise = "#00CED1", t2.darkviolet = "#9400D3", t2.deeppink = "#FF1493", t2.deepskyblue = "#00BFFF", t2.dimgray = "#696969", t2.dimgrey = "#696969", t2.dodgerblue = "#1E90FF", t2.firebrick = "#B22222", t2.floralwhite = "#FFFAF0", t2.forestgreen = "#228B22", t2.gainsboro = "#DCDCDC", t2.ghostwhite = "#F8F8FF", t2.gold = "#FFD700", t2.goldenrod = "#DAA520", t2.greenyellow = "#ADFF2F", t2.grey = "#808080", t2.honeydew = "#F0FFF0", t2.hotpink = "#FF69B4", t2.indianred = "#CD5C5C", t2.indigo = "#4B0082", t2.ivory = "#FFFFF0", t2.khaki = "#F0E68C", t2.lavender = "#E6E6FA", t2.lavenderblush = "#FFF0F5", t2.lawngreen = "#7CFC00", t2.lemonchiffon = "#FFFACD", t2.lightblue = "#ADD8E6", t2.lightcoral = "#F08080", t2.lightcyan = "#E0FFFF", t2.lightgoldenrodyellow = "#FAFAD2", t2.lightgray = "#D3D3D3", t2.lightgreen = "#90EE90", t2.lightgrey = "#D3D3D3", t2.lightpink = "#FFB6C1", t2.lightsalmon = "#FFA07A", t2.lightseagreen = "#20B2AA", t2.lightskyblue = "#87CEFA", t2.lightslategray = "#778899", t2.lightslategrey = "#778899", t2.lightsteelblue = "#B0C4DE", t2.lightyellow = "#FFFFE0", t2.limegreen = "#32CD32", t2.linen = "#FAF0E6", t2.magenta = "#FF00FF", t2.mediumaquamarine = "#66CDAA", t2.mediumblue = "#0000CD", t2.mediumorchid = "#BA55D3", t2.mediumpurple = "#9370DB", t2.mediumseagreen = "#3CB371", t2.mediumslateblue = "#7B68EE", t2.mediumspringgreen = "#00FA9A", t2.mediumturquoise = "#48D1CC", t2.mediumvioletred = "#C71585", t2.midnightblue = "#191970", t2.mintcream = "#F5FFFA", t2.mistyrose = "#FFE4E1", t2.moccasin = "#FFE4B5", t2.navajowhite = "#FFDEAD", t2.oldlace = "#FDF5E6", t2.olivedrab = "#6B8E23", t2.orangered = "#FF4500", t2.orchid = "#DA70D6", t2.palegoldenrod = "#EEE8AA", t2.palegreen = "#98FB98", t2.paleturquoise = "#AFEEEE", t2.palevioletred = "#DB7093", t2.papayawhip = "#FFEFD5", t2.peachpuff = "#FFDAB9", t2.peru = "#CD853F", t2.pink = "#FFC0CB", t2.plum = "#DDA0DD", t2.powderblue = "#B0E0E6", t2.rosybrown = "#BC8F8F", t2.royalblue = "#4169E1", t2.saddlebrown = "#8B4513", t2.salmon = "#FA8072", t2.sandybrown = "#F4A460", t2.seagreen = "#2E8B57", t2.seashell = "#FFF5EE", t2.sienna = "#A0522D", t2.skyblue = "#87CEEB", t2.slateblue = "#6A5ACD", t2.slategray = "#708090", t2.slategrey = "#708090", t2.snow = "#FFFAFA", t2.springgreen = "#00FF7F", t2.steelblue = "#4682B4", t2.tan = "#D2B48C", t2.thistle = "#D8BFD8", t2.tomato = "#FF6347", t2.turquoise = "#40E0D0", t2.violet = "#EE82EE", t2.wheat = "#F5DEB3", t2.whitesmoke = "#F5F5F5", t2.yellowgreen = "#9ACD32", t2.rebeccapurple = "#663399";
}(o || (o = {}));
var a;
var u;
var c;
var s;
var d;
var h;
var l;
var f = Object.keys(o);
var g = { HEX: ["r", "g", "b", "a"], RGB: ["r", "g", "b", "a"], HSL: ["h", "s", "l", "a"], CMYK: ["c", "m", "y", "k", "a"] };
var p = { BGR: r.RGB, ABGR: r.RGB, HLS: r.HSL, AHLS: r.HSL, CKMY: r.CMYK, ACKMY: r.CMYK };
var b = ((a = {})[r.HEX] = /^#(?:([a-f\d])([a-f\d])([a-f\d])([a-f\d])?|([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?)$/i, a[r.RGB] = /^rgba?\s*\(\s*(?:((?:\d*\.)?\d+%?)\s*,\s*((?:\d*\.)?\d+%?)\s*,\s*((?:\d*\.)?\d+%?)(?:\s*,\s*((?:\d*\.)?\d+))?|((?:\d*\.)?\d+%?)\s*((?:\d*\.)?\d+%?)\s*((?:\d*\.)?\d+%?)(?:\s*\/\s*((?:\d*\.)?\d+%?))?)\s*\)$/, a[r.HSL] = /^hsla?\s*\(\s*(?:(-?(?:\d*\.)?\d+(?:deg|grad|rad|turn)?)\s*,\s*((?:\d*\.)?\d+)%\s*,\s*((?:\d*\.)?\d+)%(?:\s*,\s*((?:\d*\.)?\d+))?|(-?(?:\d*\.)?\d+(?:deg|grad|rad|turn)?)\s*((?:\d*\.)?\d+)%\s*((?:\d*\.)?\d+)%(?:\s*\/\s*((?:\d*\.)?\d+%?))?)\s*\)$/, a[r.CMYK] = /^(?:device-cmyk|cmyk)\s*\(\s*(?:((?:\d*\.)?\d+%?)\s*,\s*((?:\d*\.)?\d+%?)\s*,\s*((?:\d*\.)?\d+%?)\s*,\s*((?:\d*\.)?\d+%?)(?:\s*,\s*((?:\d*\.)?\d+))?|((?:\d*\.)?\d+%?)\s*((?:\d*\.)?\d+%?)\s*((?:\d*\.)?\d+%?)\s*((?:\d*\.)?\d+%?)(?:\s*\/\s*((?:\d*\.)?\d+%?))?)\s*\)$/, a);
var F = /^(-?(?:\d*\.)?\d+)((?:deg|grad|rad|turn)?)$/;
var m = /^(\d+(?:\.\d+)?|\.\d+)%$/;
var y = /^0x([a-f\d]{1,2})$/i;
var A = /\{(\d+)\}/g;
var E = "The provided string color doesn't have a correct format";
var v = "The provided color object doesn't have the proper keys or format";
var H = function(t2, e2) {
return Object.prototype.hasOwnProperty.call(t2, e2);
};
var B = function(t2) {
return +"".concat(t2).replace(m, "$1");
};
var C = function(t2) {
return m.test("".concat(t2)) ? B(t2) : Math.min(+t2, 100);
};
var M = function(t2) {
return 1 === t2.length && (t2 += t2), parseInt(t2, 16);
};
var R = function(t2) {
var e2 = G(t2, 0).toString(16).toUpperCase();
return 1 === e2.length ? "0x0".concat(e2) : "0x".concat(e2);
};
var D = function(t2, e2) {
return void 0 === e2 && (e2 = false), !e2 && m.test(t2) ? Math.min(255 * B(t2) / 100, 255) : y.test(t2) ? (3 === t2.length && (t2 += t2.slice(-1)), e2 ? G(t2) / 255 : G(t2)) : Math.min(+t2, e2 ? 1 : 255);
};
var S = function(t2) {
return Math.min(m.test(t2) ? B(t2) / 100 : +t2, 1);
};
var L = function(t2) {
return e([], t2, true).sort().join("").toUpperCase();
};
var G = function(t2, e2) {
void 0 === e2 && (e2 = 6);
var r2 = Math.pow(10, e2);
return Math.round(+t2 * r2) / r2;
};
var k = function(t2, e2, r2) {
return Math.max(e2, Math.min(t2, r2));
};
var O = function(t2, e2, r2) {
return r2 < 0 && (r2 += 6), r2 >= 6 && (r2 -= 6), G(r2 < 1 ? 255 * ((e2 - t2) * r2 + t2) : r2 < 3 ? 255 * e2 : r2 < 4 ? 255 * ((e2 - t2) * (4 - r2) + t2) : 255 * t2);
};
var X = function(t2, e2, r2) {
e2 /= 100;
var n2 = (r2 /= 100) <= 0.5 ? r2 * (e2 + 1) : r2 + e2 - r2 * e2, i2 = 2 * r2 - n2;
return { r: O(i2, n2, (t2 /= 60) + 2), g: O(i2, n2, t2), b: O(i2, n2, t2 - 2) };
};
var Y = function(t2, e2, r2, n2) {
return { r: G(255 * (1 - t2) * (n2 = 1 - n2)), g: G(255 * (1 - e2) * n2), b: G(255 * (1 - r2) * n2) };
};
var j = function(t2, e2, r2) {
t2 /= 255, e2 /= 255, r2 /= 255;
var n2 = 1 - Math.max(t2, e2, r2), i2 = 1 - n2, o2 = i2 && (i2 - e2) / i2, a2 = i2 && (i2 - r2) / i2;
return { c: G(100 * (i2 && (i2 - t2) / i2)), m: G(100 * o2), y: G(100 * a2), k: G(100 * n2) };
};
var K = function(t2, e2, r2, n2) {
void 0 === n2 && (n2 = 1), t2 /= 255, e2 /= 255, r2 /= 255, n2 = Math.min(n2, 1);
var i2 = Math.max(t2, e2, r2), o2 = Math.min(t2, e2, r2), a2 = i2 - o2, u2 = 0, c2 = 0, s2 = (i2 + o2) / 2;
if (0 !== a2) {
switch (i2) {
case t2:
u2 = (e2 - r2) / a2 % 6;
break;
case e2:
u2 = (r2 - t2) / a2 + 2;
break;
case r2:
u2 = (t2 - e2) / a2 + 4;
}
(u2 = G(60 * u2)) < 0 && (u2 += 360), c2 = a2 / (1 - Math.abs(2 * s2 - 1));
}
return { h: u2, s: G(100 * c2), l: G(100 * s2), a: n2 };
};
var I = function(t2, e2) {
if (t2 < 0 && (t2 += 360), t2 > 360 && (t2 -= 360), 360 === t2 || 0 === t2)
return t2;
var r2 = [[0, 120], [120, 180], [180, 240], [240, 360]], n2 = [[0, 60], [60, 120], [120, 240], [240, 360]], i2 = e2 ? n2 : r2, o2 = 0, a2 = 0, u2 = 0, c2 = 0;
return (e2 ? r2 : n2).find(function(e3, r3) {
return t2 >= e3[0] && t2 < e3[1] && (o2 = e3[0], a2 = e3[1], u2 = i2[r3][0], c2 = i2[r3][1], true);
}), u2 + (c2 - u2) / (a2 - o2) * (t2 - o2);
};
var P = function(t2, e2) {
void 0 === e2 && (e2 = false);
var r2 = L(Object.keys(t2));
return g[p[r2]].reduce(function(r3, n2) {
var i2, o2, a2 = t2[n2];
return void 0 !== a2 && (e2 ? r3.push((i2 = G(a2, 0), 1 === (o2 = G(i2, 0).toString(16).toUpperCase()).length && (o2 = "0".concat(o2)), o2)) : r3.push(a2)), r3;
}, []);
};
var T = function(t2, e2) {
return t2.replace(A, function(t3, r2) {
return "".concat(e2[+r2 - 1]);
});
};
var w = ((u = {})[r.HEX] = function(t2) {
var e2 = P(t2, true), r2 = 4 === e2.length ? "#{1}{2}{3}{4}" : "#{1}{2}{3}";
return T(r2, e2);
}, u[r.RGB] = function(t2) {
var e2 = P(t2), r2 = 4 === e2.length ? "rgba({1},{2},{3},{4})" : "rgb({1},{2},{3})";
return T(r2, e2);
}, u[r.HSL] = function(t2) {
var e2 = P(t2), r2 = 4 === e2.length ? "hsla({1},{2}%,{3}%,{4})" : "hsl({1},{2}%,{3}%)";
return T(r2, e2);
}, u[r.CMYK] = function(t2) {
var e2 = P(t2), r2 = 5 === e2.length ? "cmyk({1}%,{2}%,{3}%,{4}%,{5})" : "cmyk({1}%,{2}%,{3}%,{4}%)";
return T(r2, e2);
}, u);
var x = function(t2) {
if ("string" == typeof t2) {
var e2 = t2.match(F), r2 = +e2[1];
switch (e2[2]) {
case "rad":
t2 = G(180 * r2 / Math.PI);
break;
case "turn":
t2 = G(360 * r2);
break;
default:
t2 = r2;
}
}
return (t2 > 360 || t2 < 0) && (t2 -= 360 * Math.floor(t2 / 360)), t2;
};
var N = function(t2) {
return "string" == typeof t2 && (t2 = m.test(t2) ? B(t2) / 100 : +t2), isNaN(+t2) || t2 > 1 ? 1 : G(t2);
};
var V = function(r2, n2, o2) {
return n2.reduce(function(n3, a2) {
return e(e([], n3, true), [t(t({}, r2), { h: o2 === i.ADDITIVE ? x(r2.h + a2) : x(I(I(r2.h, false) + a2, true)) })], false);
}, [t({}, r2)]);
};
var U = function(t2, e2) {
return V(t2, [30, -30], e2);
};
var q = function(t2, e2) {
return V(t2, [180], e2);
};
var $ = function(t2, e2) {
return V(t2, [150, -150], e2);
};
var _ = function(t2, e2) {
return V(t2, [120, -120], e2);
};
var Q = function(t2, e2) {
return V(t2, [60, -120, 180], e2);
};
var z = function(t2, e2) {
return V(t2, [90, -90, 180], e2);
};
var J = function(t2) {
return "string" == typeof t2 ? function(t3) {
var e2;
if (Object.keys(r).some(function(r2) {
if (b[r2].test(t3))
return e2 = r2, true;
}), !e2 && ~f.indexOf(t3) && (e2 = r.HEX), !e2)
throw new Error(E);
return e2;
}(t2) : function(t3) {
var e2, n2 = false, i2 = L(Object.keys(t3));
if (p[i2] && (e2 = p[i2]), e2 && e2 === r.RGB) {
var o2 = Object.entries(t3).some(function(t4) {
return !y.test("".concat(t4[1]));
}), a2 = Object.entries(t3).some(function(t4) {
return !(m.test("".concat(t4[1])) || !y.test("".concat(t4[1])) && !isNaN(+t4[1]) && +t4[1] <= 255);
});
o2 && a2 && (n2 = true), o2 || (e2 = r.HEX);
}
if (!e2 || n2)
throw new Error(v);
return e2;
}(t2);
};
var W = ((c = {})[r.HEX] = function(t2) {
var e2 = (~f.indexOf(t2) ? o[t2] : t2).match(b.HEX), r2 = { r: M(e2[1] || e2[5]), g: M(e2[2] || e2[6]), b: M(e2[3] || e2[7]) }, n2 = e2[4] || e2[8];
return void 0 !== n2 && (r2.a = M(n2) / 255), r2;
}, c[r.RGB] = function(t2) {
var e2 = t2.match(b.RGB), r2 = D(e2[1] || e2[5]), n2 = D(e2[2] || e2[6]), i2 = D(e2[3] || e2[7]), o2 = e2[4] || e2[8], a2 = { r: Math.min(r2, 255), g: Math.min(n2, 255), b: Math.min(i2, 255) };
return void 0 !== o2 && (a2.a = N(o2)), a2;
}, c[r.HSL] = function(t2) {
var e2 = t2.match(b.HSL), r2 = x(e2[1] || e2[5]), n2 = C(e2[2] || e2[6]), i2 = C(e2[3] || e2[7]), o2 = e2[4] || e2[8], a2 = X(r2, n2, i2);
return void 0 !== o2 && (a2.a = N(o2)), a2;
}, c[r.CMYK] = function(t2) {
var e2 = t2.match(b.CMYK), r2 = S(e2[1] || e2[6]), n2 = S(e2[2] || e2[7]), i2 = S(e2[3] || e2[8]), o2 = S(e2[4] || e2[9]), a2 = e2[5] || e2[10], u2 = Y(r2, n2, i2, o2);
return void 0 !== a2 && (u2.a = N(a2)), u2;
}, c);
var Z = ((s = {})[r.HEX] = function(t2) {
var e2 = { r: D("".concat(t2.r)), g: D("".concat(t2.g)), b: D("".concat(t2.b)) };
return H(t2, "a") && (e2.a = Math.min(D("".concat(t2.a), true), 1)), e2;
}, s[r.RGB] = function(t2) {
return this.HEX(t2);
}, s[r.HSL] = function(t2) {
var e2 = C("".concat(t2.s)), r2 = C("".concat(t2.l)), n2 = X(x(t2.h), e2, r2);
return H(t2, "a") && (n2.a = N(t2.a)), n2;
}, s[r.CMYK] = function(t2) {
var e2 = S("".concat(t2.c)), r2 = S("".concat(t2.m)), n2 = S("".concat(t2.y)), i2 = S("".concat(t2.k)), o2 = Y(e2, r2, n2, i2);
return H(t2, "a") && (o2.a = N(t2.a)), o2;
}, s);
var tt = function(t2, e2) {
return void 0 === e2 && (e2 = J(t2)), "string" == typeof t2 ? W[e2](t2) : Z[e2](t2);
};
var et = ((d = {})[r.HEX] = function(t2) {
return { r: R(t2.r), g: R(t2.g), b: R(t2.b) };
}, d.HEXA = function(t2) {
var e2 = et.HEX(t2);
return e2.a = H(t2, "a") ? R(255 * t2.a) : "0xFF", e2;
}, d[r.RGB] = function(t2, e2) {
return H(t2, "a") && delete t2.a, ot(t2, e2);
}, d.RGBA = function(t2, e2) {
return t2.a = H(t2, "a") ? G(t2.a) : 1, ot(t2, e2);
}, d[r.HSL] = function(t2, e2) {
var r2 = K(t2.r, t2.g, t2.b);
return delete r2.a, at(r2, e2);
}, d.HSLA = function(t2, e2) {
var r2 = et.HSL(t2, e2);
return r2.a = H(t2, "a") ? G(t2.a, e2) : 1, r2;
}, d[r.CMYK] = function(t2, e2) {
return ut(j(t2.r, t2.g, t2.b), e2);
}, d.CMYKA = function(t2, e2) {
var r2 = et.CMYK(t2, e2);
return r2.a = H(t2, "a") ? G(t2.a, e2) : 1, r2;
}, d);
var rt = function(e2, n2, i2, o2) {
var a2 = J(e2), u2 = "string" == typeof e2, c2 = tt(e2, a2), s2 = "string" == typeof e2 && H(c2, "a") || "string" != typeof e2 && H(e2, "a"), d2 = K(c2.r, c2.g, c2.b, c2.a);
s2 || delete d2.a;
var h2 = i2 ? d2.l / (n2 + 1) : (100 - d2.l) / (n2 + 1), l2 = Array(n2).fill(null).map(function(e3, r2) {
return t(t({}, d2), { l: d2.l + h2 * (r2 + 1) * (1 - 2 * +i2) });
});
switch (a2) {
case r.HEX:
default:
return l2.map(function(e3) {
var r2 = X(e3.h, e3.s, e3.l);
return s2 && (r2.a = e3.a), u2 ? s2 ? w.HEX(ot(t(t({}, r2), { a: G(255 * r2.a) }), o2)) : w.HEX(ot(r2, o2)) : s2 ? et.HEXA(r2) : et.HEX(r2);
});
case r.RGB:
return l2.map(function(t2) {
var e3 = X(t2.h, t2.s, t2.l);
return s2 && (e3.a = t2.a), u2 ? w.RGB(ot(e3, o2)) : s2 ? et.RGBA(e3, o2) : et.RGB(e3, o2);
});
case r.HSL:
return l2.map(function(e3) {
return u2 ? w.HSL(at(e3, o2)) : s2 ? et.HSLA(t(t({}, X(e3.h, e3.s, e3.l)), { a: e3.a }), o2) : et.HSL(X(e3.h, e3.s, e3.l), o2);
});
}
};
var nt = ((h = { buildHarmony: function(t2, e2, n2, i2) {
var o2 = J(t2), a2 = tt(t2, o2), u2 = K(a2.r, a2.g, a2.b, a2.a), c2 = "string" == typeof t2 && H(a2, "a") || "string" != typeof t2 && H(t2, "a"), s2 = "string" == typeof t2;
switch (o2) {
case r.HEX:
default:
return c2 ? this.HEXA(at(u2, 0), e2, n2, s2) : this.HEX(at(u2, 0), e2, n2, s2);
case r.HSL:
return c2 ? this.HSLA(u2, e2, n2, s2, i2) : this.HSL(u2, e2, n2, s2, i2);
case r.RGB:
return c2 ? this.RGBA(u2, e2, n2, s2, i2) : this.RGB(u2, e2, n2, s2, i2);
}
} })[r.HEX] = function(t2, e2, r2, n2) {
return e2(t2, r2).map(function(t3) {
return n2 ? w.HEX(X(t3.h, t3.s, t3.l)) : et.HEX(X(t3.h, t3.s, t3.l));
});
}, h.HEXA = function(e2, r2, n2, i2) {
return r2(e2, n2).map(function(e3) {
return i2 ? w.HEX(t(t({}, X(e3.h, e3.s, e3.l)), { a: 255 * N(e3.a) })) : et.HEXA(t(t({}, X(e3.h, e3.s, e3.l)), { a: N(e3.a) }));
});
}, h[r.RGB] = function(t2, e2, r2, n2, i2) {
return e2(t2, r2).map(function(t3) {
return n2 ? w.RGB(ot(X(t3.h, t3.s, t3.l), i2)) : et.RGB(X(t3.h, t3.s, t3.l), i2);
});
}, h.RGBA = function(e2, r2, n2, i2, o2) {
return r2(e2, n2).map(function(e3) {
return i2 ? w.RGB(ot(t(t({}, X(e3.h, e3.s, e3.l)), { a: N(e3.a) }), o2)) : et.RGBA(t(t({}, X(e3.h, e3.s, e3.l)), { a: N(e3.a) }), o2);
});
}, h[r.HSL] = function(t2, e2, r2, n2, i2) {
return e2(t2, r2).map(function(t3) {
return n2 ? w.HSL(at({ h: t3.h, s: t3.s, l: t3.l }, i2)) : et.HSL(X(t3.h, t3.s, t3.l), i2);
});
}, h.HSLA = function(e2, r2, n2, i2, o2) {
return r2(e2, n2).map(function(e3) {
return i2 ? w.HSL(at(t(t({}, e3), { a: N(e3.a) }), o2)) : et.HSLA(t(t({}, X(e3.h, e3.s, e3.l)), { a: N(e3.a) }), o2);
});
}, h);
var it = ((l = { mix: function(e2, r2) {
var n2, o2, a2, u2, c2, s2, d2, h2, l2, f2, g2, p2, b2, F2, m2, y2 = e2.map(function(t2) {
var e3 = J(t2);
return tt(t2, e3);
}), A2 = r2 === i.SUBTRACTIVE ? y2.map(function(t2) {
var e3, r3, n3, i2, o3, a3, u3, c3, s3, d3, h3, l3, f3, g3, p3 = (e3 = t2.r, r3 = t2.g, n3 = t2.b, i2 = Math.min(e3, r3, n3), o3 = Math.min(255 - e3, 255 - r3, 255 - n3), a3 = e3 - i2, u3 = r3 - i2, c3 = n3 - i2, s3 = Math.min(a3, u3), d3 = a3 - s3, h3 = (u3 + s3) / 2, l3 = (c3 + u3 - s3) / 2, f3 = Math.max(d3, h3, l3) / Math.max(a3, u3, c3), g3 = isNaN(f3) || f3 === 1 / 0 || f3 <= 0 ? 1 : f3, { r: d3 / g3 + o3, y: h3 / g3 + o3, b: l3 / g3 + o3 });
return H(t2, "a") && (p3.a = t2.a), p3;
}) : null;
function E2(e3) {
var n3 = r2 === i.ADDITIVE ? { r: 0, g: 0, b: 0, a: 0 } : { r: 0, y: 0, b: 0, a: 0 };
return e3.reduce(function(e4, n4) {
var o3 = H(n4, "a") ? n4.a : 1, a3 = { r: Math.min(e4.r + n4.r * o3, 255), b: Math.min(e4.b + n4.b * o3, 255), a: 1 - (1 - o3) * (1 - e4.a) }, u3 = "g" in e4 ? e4.g : e4.y, c3 = "g" in n4 ? n4.g : n4.y;
return t(t({}, a3), r2 === i.ADDITIVE ? { g: Math.min(u3 + c3 * o3, 255) } : { y: Math.min(u3 + c3 * o3, 255) });
}, n3);
}
if (r2 === i.ADDITIVE)
n2 = E2(y2);
else {
var v2 = E2(A2);
o2 = v2.r, a2 = v2.y, u2 = v2.b, c2 = Math.min(o2, a2, u2), s2 = Math.min(255 - o2, 255 - a2, 255 - u2), d2 = o2 - c2, h2 = a2 - c2, l2 = u2 - c2, f2 = Math.min(h2, l2), g2 = d2 + h2 - f2, p2 = h2 + f2, b2 = 2 * (l2 - f2), F2 = Math.max(g2, p2, b2) / Math.max(d2, h2, l2), m2 = isNaN(F2) || F2 === 1 / 0 || F2 <= 0 ? 1 : F2, (n2 = { r: g2 / m2 + s2, g: p2 / m2 + s2, b: b2 / m2 + s2 }).a = v2.a;
}
return { r: G(n2.r), g: G(n2.g), b: G(n2.b), a: k(n2.a, 0, 1) };
} })[r.HEX] = function(t2, e2, r2) {
var n2 = this.mix(t2, e2);
return delete n2.a, r2 ? w.HEX(n2) : et.HEX(n2);
}, l.HEXA = function(t2, e2, r2) {
var n2 = this.mix(t2, e2);
return n2.a = r2 ? 255 * N(n2.a) : N(n2.a), r2 ? w.HEX(n2) : et.HEXA(n2);
}, l[r.RGB] = function(t2, e2, r2, n2) {
var i2 = this.mix(t2, e2);
return delete i2.a, r2 ? w.RGB(i2) : et.RGB(i2, n2);
}, l.RGBA = function(t2, e2, r2, n2) {
var i2 = this.mix(t2, e2);
return r2 ? w.RGB(i2) : et.RGBA(i2, n2);
}, l[r.HSL] = function(t2, e2, r2, n2) {
var i2 = this.mix(t2, e2), o2 = K(i2.r, i2.g, i2.b);
return delete i2.a, delete o2.a, r2 ? w.HSL(o2) : et.HSL(i2, n2);
}, l.HSLA = function(t2, e2, r2, n2) {
var i2 = this.mix(t2, e2), o2 = K(i2.r, i2.g, i2.b, i2.a);
return r2 ? w.HSL(o2) : et.HSLA(i2, n2);
}, l);
var ot = function(e2, r2) {
return t({ r: G(e2.r, r2), g: G(e2.g, r2), b: G(e2.b, r2) }, H(e2, "a") ? { a: G(e2.a, r2) } : {});
};
var at = function(e2, r2) {
return t({ h: G(e2.h, r2), s: G(e2.s, r2), l: G(e2.l, r2) }, H(e2, "a") ? { a: G(e2.a, r2) } : {});
};
var ut = function(t2, e2) {
return { c: G(t2.c, e2), m: G(t2.m, e2), y: G(t2.y, e2), k: G(t2.k, e2) };
};
var ct = function(t2, e2, r2, n2, i2, o2) {
var a2 = i2(tt(t2, e2), n2);
return r2 ? o2(a2) : a2;
};
var st = function(t2, e2, r2, n2, i2, o2, a2) {
r2 < 1 && (r2 = 5);
var u2 = function(t3, e3, r3) {
var n3 = r3 - 1, i3 = (e3.r - t3.r) / n3, o3 = (e3.g - t3.g) / n3, a3 = (e3.b - t3.b) / n3, u3 = N(t3.a), c2 = (N(e3.a) - u3) / n3;
return Array(r3).fill(null).map(function(r4, s2) {
return 0 === s2 ? t3 : s2 === n3 ? e3 : { r: G(t3.r + i3 * s2), g: G(t3.g + o3 * s2), b: G(t3.b + a3 * s2), a: G(u3 + c2 * s2) };
});
}(tt(t2), tt(e2), r2);
return u2.map(function(t3) {
var e3 = o2(t3, i2);
return n2 ? a2(e3) : e3;
});
};
var dt = function() {
function e2(t2, e3) {
void 0 === e3 && (e3 = 6), this.rgb = tt(t2), this._decimals = e3, this.updateHSL(), this.updateCMYK();
}
return e2.prototype.updateRGB = function() {
this.rgb = t(t({}, X(this.hsl.h, this.hsl.s, this.hsl.l)), { a: this.hsl.a });
}, e2.prototype.updateRGBFromCMYK = function() {
this.rgb = t(t({}, Y(this.cmyk.c, this.cmyk.m, this.cmyk.y, this.cmyk.k)), { a: this.rgb.a });
}, e2.prototype.updateHSL = function() {
this.hsl = K(this.rgb.r, this.rgb.g, this.rgb.b, this.rgb.a);
}, e2.prototype.updateCMYK = function() {
this.cmyk = j(this.rgb.r, this.rgb.g, this.rgb.b);
}, e2.prototype.updateRGBAndCMYK = function() {
return this.updateRGB(), this.updateCMYK(), this;
}, e2.prototype.updateHSLAndCMYK = function() {
return this.updateHSL(), this.updateCMYK(), this;
}, e2.prototype.updateRGBAndHSL = function() {
return this.updateRGBFromCMYK(), this.updateHSL(), this;
}, e2.prototype.setDecimals = function(t2) {
return this._decimals = t2, this;
}, e2.prototype.setH = function(t2) {
return this.hsl.h = x(t2), this.updateRGBAndCMYK();
}, e2.prototype.setS = function(t2) {
return this.hsl.s = k(t2, 0, 100), this.updateRGBAndCMYK();
}, e2.prototype.setL = function(t2) {
return this.hsl.l = k(t2, 0, 100), this.updateRGBAndCMYK();
}, e2.prototype.setR = function(t2) {
return this.rgb.r = k(t2, 0, 255), this.updateHSLAndCMYK();
}, e2.prototype.setG = function(t2) {
return this.rgb.g = k(t2, 0, 255), this.updateHSLAndCMYK();
}, e2.prototype.setB = function(t2) {
return this.rgb.b = k(t2, 0, 255), this.updateHSLAndCMYK();
}, e2.prototype.setA = function(t2) {
return this.hsl.a = this.rgb.a = k(t2, 0, 1), this;
}, e2.prototype.setC = function(t2) {
return this.cmyk.c = k(t2, 0, 100), this.updateRGBAndHSL();
}, e2.prototype.setM = function(t2) {
return this.cmyk.m = k(t2, 0, 100), this.updateRGBAndHSL();
}, e2.prototype.setY = function(t2) {
return this.cmyk.y = k(t2, 0, 100), this.updateRGBAndHSL();
}, e2.prototype.setK = function(t2) {
return this.cmyk.k = k(t2, 0, 100), this.updateRGBAndHSL();
}, Object.defineProperty(e2.prototype, "decimals", { get: function() {
return this._decimals;
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "H", { get: function() {
return G(this.hsl.h, this.decimals);
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "S", { get: function() {
return G(this.hsl.s, this.decimals);
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "L", { get: function() {
return G(this.hsl.l, this.decimals);
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "R", { get: function() {
return G(this.rgb.r, this.decimals);
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "G", { get: function() {
return G(this.rgb.g, this.decimals);
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "B", { get: function() {
return G(this.rgb.b, this.decimals);
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "A", { get: function() {
return G(this.hsl.a, this.decimals);
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "C", { get: function() {
return G(this.cmyk.c, this.decimals);
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "M", { get: function() {
return G(this.cmyk.m, this.decimals);
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "Y", { get: function() {
return G(this.cmyk.y, this.decimals);
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "K", { get: function() {
return G(this.cmyk.k, this.decimals);
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "HEXObject", { get: function() {
return et.HEX(this.rgb);
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "HEXAObject", { get: function() {
return et.HEXA(this.rgb);
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "RGBObject", { get: function() {
return { r: this.R, g: this.G, b: this.B };
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "RGBAObject", { get: function() {
return t(t({}, this.RGBObject), { a: this.A });
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "HSLObject", { get: function() {
return { h: this.H, s: this.S, l: this.L };
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "HSLAObject", { get: function() {
return t(t({}, this.HSLObject), { a: this.A });
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "CMYKObject", { get: function() {
return { c: this.C, m: this.M, y: this.Y, k: this.K };
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "CMYKAObject", { get: function() {
return t(t({}, this.CMYKObject), { a: this.A });
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "HEX", { get: function() {
return w.HEX({ r: this.R, g: this.G, b: this.B });
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "HEXA", { get: function() {
return w.HEX({ r: this.R, g: this.G, b: this.B, a: 255 * this.A });
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "RGB", { get: function() {
return w.RGB({ r: this.R, g: this.G, b: this.B });
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "RGBA", { get: function() {
return w.RGB({ r: this.R, g: this.G, b: this.B, a: this.A });
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "HSL", { get: function() {
return w.HSL({ h: this.H, s: this.S, l: this.L });
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "HSLA", { get: function() {
return w.HSL({ h: this.H, s: this.S, l: this.L, a: this.A });
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "CMYK", { get: function() {
return w.CMYK({ c: this.C, m: this.M, y: this.Y, k: this.K });
}, enumerable: false, configurable: true }), Object.defineProperty(e2.prototype, "CMYKA", { get: function() {
return w.CMYK({ c: this.C, m: this.M, y: this.Y, k: this.K, a: this.A });
}, enumerable: false, configurable: true }), e2.toHEX = function(t2, e3) {
void 0 === e3 && (e3 = true);
var r2 = J(t2);
return ct(t2, r2, e3, 0, et.HEX, w.HEX);
}, e2.toHEXA = function(t2, e3) {
void 0 === e3 && (e3 = true);
var r2 = J(t2);
return ct(t2, r2, e3, 0, et.HEXA, w.HEX);
}, e2.toRGB = function(t2, e3, r2) {
void 0 === e3 && (e3 = true), void 0 === r2 && (r2 = 6);
var n2 = J(t2);
return ct(t2, n2, e3, r2, et.RGB, w.RGB);
}, e2.toRGBA = function(t2, e3, r2) {
void 0 === e3 && (e3 = true), void 0 === r2 && (r2 = 6);
var n2 = J(t2);
return ct(t2, n2, e3, r2, et.RGBA, w.RGB);
}, e2.toHSL = function(t2, e3, r2) {
void 0 === e3 && (e3 = true), void 0 === r2 && (r2 = 6);
var n2 = J(t2);
return ct(t2, n2, e3, r2, et.HSL, w.HSL);
}, e2.toHSLA = function(t2, e3, r2) {
void 0 === e3 && (e3 = true), void 0 === r2 && (r2 = 6);
var n2 = J(t2);
return ct(t2, n2, e3, r2, et.HSLA, w.HSL);
}, e2.toCMYK = function(t2, e3, r2) {
void 0 === e3 && (e3 = true), void 0 === r2 && (r2 = 6);
var n2 = J(t2);
return ct(t2, n2, e3, r2, et.CMYK, w.CMYK);
}, e2.toCMYKA = function(t2, e3, r2) {
void 0 === e3 && (e3 = true), void 0 === r2 && (r2 = 6);
var n2 = J(t2);
return ct(t2, n2, e3, r2, et.CMYKA, w.CMYK);
}, e2.getBlendHEX = function(t2, e3, r2, n2, i2) {
return void 0 === r2 && (r2 = 5), void 0 === n2 && (n2 = true), void 0 === i2 && (i2 = 6), st(t2, e3, r2, n2, i2, et.HEX, w.HEX);
}, e2.getBlendHEXA = function(t2, e3, r2, n2, i2) {
return void 0 === r2 && (r2 = 5), void 0 === n2 && (n2 = true), void 0 === i2 && (i2 = 6), st(t2, e3, r2, n2, i2, et.HEXA, w.HEX);
}, e2.getBlendRGB = function(t2, e3, r2, n2, i2) {
return void 0 === r2 && (r2 = 5), void 0 === n2 && (n2 = true), void 0 === i2 && (i2 = 6), st(t2, e3, r2, n2, i2, et.RGB, w.RGB);
}, e2.getBlendRGBA = function(t2, e3, r2, n2, i2) {
return void 0 === r2 && (r2 = 5), void 0 === n2 && (n2 = true), void 0 === i2 && (i2 = 6), st(t2, e3, r2, n2, i2, et.RGBA, w.RGB);
}, e2.getBlendHSL = function(t2, e3, r2, n2, i2) {
return void 0 === r2 && (r2 = 5), void 0 === n2 && (n2 = true), void 0 === i2 && (i2 = 6), st(t2, e3, r2, n2, i2, et.HSL, w.HSL);
}, e2.getBlendHSLA = function(t2, e3, r2, n2, i2) {
return void 0 === r2 && (r2 = 5), void 0 === n2 && (n2 = true), void 0 === i2 && (i2 = 6), st(t2, e3, r2, n2, i2, et.HSLA, w.HSL);
}, e2.getMixHEX = function(t2, e3, r2) {
return void 0 === e3 && (e3 = i.ADDITIVE), void 0 === r2 && (r2 = true), it.HEX(t2, e3, r2);
}, e2.getMixHEXA = function(t2, e3, r2) {
return void 0 === e3 && (e3 = i.ADDITIVE), void 0 === r2 && (r2 = true), it.HEXA(t2, e3, r2);
}, e2.getMixRGB = function(t2, e3, r2, n2) {
return void 0 === e3 && (e3 = i.ADDITIVE), void 0 === r2 && (r2 = true), void 0 === n2 && (n2 = 6), it.RGB(t2, e3, r2, n2);
}, e2.getMixRGBA = function(t2, e3, r2, n2) {
return void 0 === e3 && (e3 = i.ADDITIVE), void 0 === r2 && (r2 = true), void 0 === n2 && (n2 = 6), it.RGBA(t2, e3, r2, n2);
}, e2.getMixHSL = function(t2, e3, r2, n2) {
return void 0 === e3 && (e3 = i.ADDITIVE), void 0 === r2 && (r2 = true), void 0 === n2 && (n2 = 6), it.HSL(t2, e3, r2, n2);
}, e2.getMixHSLA = function(t2, e3, r2, n2) {
return void 0 === e3 && (e3 = i.ADDITIVE), void 0 === r2 && (r2 = true), void 0 === n2 && (n2 = 6), it.HSLA(t2, e3, r2, n2);
}, e2.getShades = function(t2, e3, r2) {
return void 0 === r2 && (r2 = 6), rt(t2, e3, true, r2);
}, e2.getTints = function(t2, e3, r2) {
return void 0 === r2 && (r2 = 6), rt(t2, e3, false, r2);
}, e2.getHarmony = function(t2, e3, r2, o2) {
return void 0 === e3 && (e3 = n.COMPLEMENTARY), void 0 === r2 && (r2 = i.ADDITIVE), void 0 === o2 && (o2 = 6), function(t3, e4, r3, i2) {
var o3;
return (o3 = {}, o3[n.ANALOGOUS] = nt.buildHarmony(e4, U, i2, r3), o3[n.COMPLEMENTARY] = nt.buildHarmony(e4, q, i2, r3), o3[n.SPLIT_COMPLEMENTARY] = nt.buildHarmony(e4, $, i2, r3), o3[n.TRIADIC] = nt.buildHarmony(e4, _, i2, r3), o3[n.TETRADIC] = nt.buildHarmony(e4, Q, i2, r3), o3[n.SQUARE] = nt.buildHarmony(e4, z, i2, r3), o3)[t3];
}(e3, t2, o2, r2);
}, e2;
}();
// src/SettingsTab.ts
var DISPLAY_OPTIONS = {
"none": "Never",
"if_header_shown": "If Header Shown",
"always": "Always"
};
var SettingsTab = class extends import_obsidian.PluginSettingTab {
constructor(app, plugin) {
super(app, plugin);
this.plugin = plugin;
this.pickrs = {};
this.disableableComponents = {};
}
/**
* Builds the html page that is showed in the settings.
*/
display() {
const { containerEl } = this;
containerEl.empty();
containerEl.createEl("h2", { text: "Settings for the Codeblock Styler Plugin." });
this.disableableComponents = {
"lineNumbers": [],
"wrapLines": [],
"headerLanguageTags": [],
"headerLanguageIcons": [],
"editorActiveLineHighlight": [],
"codeblockActiveLineHighlight": [],
"gradientHighlighting": [],
"languageBorderColor": []
};
new import_obsidian.Setting(containerEl).setName("Ignore Codeblocks").setDesc("Define languages in a comma separated list which the plugin should completely ignore. You can use a wildcard (*) either at the beginning, or at the end. For example: ad-* will exclude codeblocks where the language starts with ad- e.g.: ad-info, ad-error etc.").addText((text) => text.setPlaceholder("e.g. dataview, dataviewjs etc.").setValue(this.plugin.settings.excludedCodeblocks).onChange((value) => {
this.plugin.settings.excludedCodeblocks = value;
(async () => {
await this.plugin.saveSettings();
})();
}));
new import_obsidian.Setting(containerEl).setName("Exclude Languages").setDesc("Define languages in a comma separated list which the plugin should not decorate. You can use a wildcard (*) either at the beginning, or at the end. For example: ad-* will exclude codeblocks where the language starts with ad- e.g.: ad-info, ad-error etc.").addText((text) => text.setPlaceholder("e.g. ad-*, python etc.").setValue(this.plugin.settings.excludedLanguages).onChange((value) => {
this.plugin.settings.excludedLanguages = value;
(async () => {
await this.plugin.saveSettings();
})();
}));
containerEl.createEl("h3", { text: "Theme Settings" });
let themeDropdown;
new import_obsidian.Setting(containerEl).setName("Select Theme").addDropdown((dropdown) => {
themeDropdown = dropdown;
this.updateDropdown(themeDropdown, this.plugin.settings);
themeDropdown.onChange((value) => {
this.plugin.settings.selectedTheme = value;
this.plugin.settings.currentTheme = structuredClone(this.plugin.settings.themes[this.plugin.settings.selectedTheme]);
this.display();
(async () => {
await this.plugin.saveSettings();
})();
});
}).addExtraButton((button) => {
button.setTooltip("Update theme");
button.setIcon("save");
button.onClick(() => {
if (this.plugin.settings.selectedTheme in DEFAULT_SETTINGS.themes)
new import_obsidian.Notice("You cannot update the default themes");
else {
this.plugin.settings.themes[this.plugin.settings.selectedTheme] = structuredClone(this.plugin.settings.currentTheme);
this.updateAlternativeHighlights(alternativeHighlightsContainer);
new import_obsidian.Notice(`${this.plugin.settings.selectedTheme} theme saved successfully!`);
(async () => {
await this.plugin.saveSettings();
})();
}
});
}).addExtraButton((button) => {
button.setTooltip("Delete theme");
button.setIcon("trash");
button.onClick(() => {
if (this.plugin.settings.selectedTheme.trim().length === 0)
new import_obsidian.Notice("Select a theme first to delete");
else if (this.plugin.settings.selectedTheme in DEFAULT_SETTINGS.themes)
new import_obsidian.Notice("You cannot delete the default themes");
else {
delete this.plugin.settings.themes[this.plugin.settings.selectedTheme];
new import_obsidian.Notice(`${this.plugin.settings.selectedTheme} theme deleted successfully!`);
this.plugin.settings.selectedTheme = "Default";
this.plugin.settings.currentTheme = structuredClone(this.plugin.settings.themes[this.plugin.settings.selectedTheme]);
this.updateDropdown(themeDropdown, this.plugin.settings);
this.display();
(async () => {
await this.plugin.saveSettings();
})();
}
});
});
let newThemeName;
let newThemeDefault;
this.plugin.settings.newTheme = "";
new import_obsidian.Setting(containerEl).setName("Add New Theme").setDesc("Create a new theme from the current settings.").addText((text) => {
newThemeName = text.setPlaceholder("New theme name").setValue(this.plugin.settings.newTheme).onChange((value) => {
this.plugin.settings.newTheme = value;
});
}).addExtraButton((button) => {
button.setTooltip("Save theme");
button.setIcon("plus");
button.onClick(() => {
if (this.plugin.settings.newTheme.trim().length === 0)
new import_obsidian.Notice("Set a name for your theme");
else if (this.plugin.settings.newTheme in DEFAULT_SETTINGS.themes)
new import_obsidian.Notice("You can't overwrite the default themes");
else {
if (this.plugin.settings.newTheme in this.plugin.settings.themes) {
this.plugin.settings.themes[this.plugin.settings.newTheme] = structuredClone(this.plugin.settings.currentTheme);
new import_obsidian.Notice(`${this.plugin.settings.newTheme} theme updated successfully!`);
} else {
this.plugin.settings.themes[this.plugin.settings.newTheme] = structuredClone(this.plugin.settings.currentTheme);
new import_obsidian.Notice(`${this.plugin.settings.newTheme} theme saved successfully!`);
}
this.plugin.settings.selectedTheme = this.plugin.settings.newTheme;
this.updateDropdown(themeDropdown, this.plugin.settings);
this.updateAlternativeHighlights(alternativeHighlightsContainer);
this.plugin.settings.newTheme = "";
newThemeName.setValue("");
newThemeDefault.setValue(false);
(async () => {
await this.plugin.saveSettings();
})();
}
});
});
containerEl.createEl("h4", { text: "Codeblock Appearance" });
new import_obsidian.Setting(containerEl).setName("Codeblock Background Color").then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"codeblock_background",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].codeblock.backgroundColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].codeblock.backgroundColor = saveColor;
}
);
});
new import_obsidian.Setting(containerEl).setName("Codeblock Text Color").then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"codeblock_text",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].codeblock.textColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].codeblock.textColor = saveColor;
}
);
});
new import_obsidian.Setting(containerEl).setName("Unwrap codeblock lines").setDesc("Choose whether to unwrap lines in reading mode").addToggle((toggle) => toggle.setValue(this.plugin.settings.currentTheme.settings.codeblock.unwrapLines).onChange((value) => {
this.plugin.settings.currentTheme.settings.codeblock.unwrapLines = value;
this.disableableComponents["wrapLines"].forEach((component) => {
component.setDisabled(!value);
});
(async () => {
await this.plugin.saveSettings();
})();
}));
new import_obsidian.Setting(containerEl).setName("Codeblock Curvature").setDesc("Determines how rounded the codeblocks appear in pixels.").then((setting) => {
let resettableSlider;
setting.addSlider((slider) => {
resettableSlider = slider.setLimits(0, 25, 1).setValue(this.plugin.settings.currentTheme.settings.codeblock.curvature).setDynamicTooltip().onChange((value) => {
this.plugin.settings.currentTheme.settings.codeblock.curvature = value;
(async () => {
await this.plugin.saveSettings();
})();
});
});
setting.addExtraButton((button) => {
button.setIcon("reset").setTooltip("Restore default curvature").onClick(() => {
this.plugin.settings.currentTheme.settings.codeblock.curvature = this.plugin.settings.themes[this.plugin.settings.selectedTheme].settings.codeblock.curvature;
resettableSlider.setValue(this.plugin.settings.currentTheme.settings.codeblock.curvature);
(async () => {
await this.plugin.saveSettings();
})();
});
});
});
containerEl.createEl("h4", { text: "Gutter Appearance" });
new import_obsidian.Setting(containerEl).setName("Enable Line Numbers").setDesc("If disabled, the below settings are disabled too.").addToggle((toggle) => toggle.setValue(this.plugin.settings.currentTheme.settings.codeblock.lineNumbers).onChange((value) => {
this.plugin.settings.currentTheme.settings.codeblock.lineNumbers = value;
this.disableableComponents["lineNumbers"].forEach((component) => {
component.setDisabled(!value);
});
(async () => {
await this.plugin.saveSettings();
})();
}));
new import_obsidian.Setting(containerEl).setName("Gutter Background Color").then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"gutter_background",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].gutter.backgroundColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].gutter.backgroundColor = saveColor;
},
() => !this.plugin.settings.currentTheme.settings.codeblock.lineNumbers
);
});
this.disableableComponents["lineNumbers"].push(this.pickrs["gutter_background"].resetButton);
new import_obsidian.Setting(containerEl).setName("Line Number Color").then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"line_number",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].gutter.textColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].gutter.textColor = saveColor;
},
() => !this.plugin.settings.currentTheme.settings.codeblock.lineNumbers
);
});
this.disableableComponents["lineNumbers"].push(this.pickrs["line_number"].resetButton);
new import_obsidian.Setting(containerEl).setName("Highlight Line Numbers").setDesc("If enabled, highlights will also highlight the line numbers.").addToggle((toggle) => {
let highlightLineNumbersToggle = toggle.setValue(this.plugin.settings.currentTheme.settings.gutter.highlight).setDisabled(!this.plugin.settings.currentTheme.settings.codeblock.lineNumbers).onChange((value) => {
this.plugin.settings.currentTheme.settings.gutter.highlight = value;
(async () => {
await this.plugin.saveSettings();
})();
});
this.disableableComponents["lineNumbers"].push(highlightLineNumbersToggle);
});
new import_obsidian.Setting(containerEl).setName("Indicate Current Line Number").setDesc("If enabled, the current line number in codeblocks will be indicated with a separate color.").setClass("codeblock-styler-spaced").addToggle((toggle) => {
let indicateCurrentLineNumberToggle = toggle.setValue(this.plugin.settings.currentTheme.settings.gutter.activeLine).setDisabled(!this.plugin.settings.currentTheme.settings.codeblock.lineNumbers).onChange((value) => {
this.plugin.settings.currentTheme.settings.gutter.activeLine = value;
(async () => {
await this.plugin.saveSettings();
})();
});
this.disableableComponents["lineNumbers"].push(indicateCurrentLineNumberToggle);
}).then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"active_line_number",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].gutter.activeTextColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].gutter.activeTextColor = saveColor;
},
() => !this.plugin.settings.currentTheme.settings.codeblock.lineNumbers
);
});
containerEl.createEl("h4", { text: "Header Appearance" });
new import_obsidian.Setting(containerEl).setName("Header Background Color").then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"header_background",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].header.backgroundColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].header.backgroundColor = saveColor;
}
);
});
new import_obsidian.Setting(containerEl).setName("Header Font Size").setDesc("Set the font size for header language tags and titles.").then((setting) => {
let resettableSlider;
setting.addSlider((slider) => {
resettableSlider = slider.setLimits(6, 32, 1).setValue(this.plugin.settings.currentTheme.settings.header.fontSize).setDynamicTooltip().onChange((value) => {
this.plugin.settings.currentTheme.settings.header.fontSize = value;
(async () => {
await this.plugin.saveSettings();
})();
});
});
setting.addExtraButton((button) => {
button.setIcon("reset").setTooltip("Restore default font size").onClick(() => {
this.plugin.settings.currentTheme.settings.header.fontSize = this.plugin.settings.themes[this.plugin.settings.selectedTheme].settings.header.fontSize;
resettableSlider.setValue(this.plugin.settings.currentTheme.settings.header.fontSize);
(async () => {
await this.plugin.saveSettings();
})();
});
});
});
new import_obsidian.Setting(containerEl).setName("Header Title Text Styling").setDesc("Style the header title text using bold and italic toggles, by setting a font or by setting a text color.").addToggle((toggle) => {
toggle.setTooltip("Toggle bold title text").setValue(this.plugin.settings.currentTheme.settings.header.title.textBold).onChange((value) => {
this.plugin.settings.currentTheme.settings.header.title.textBold = value;
(async () => {
await this.plugin.saveSettings();
})();
});
}).addToggle((toggle) => {
toggle.setTooltip("Toggle italic title text").setValue(this.plugin.settings.currentTheme.settings.header.title.textItalic).onChange((value) => {
this.plugin.settings.currentTheme.settings.header.title.textItalic = value;
(async () => {
await this.plugin.saveSettings();
})();
});
}).addText((text) => {
text.setPlaceholder("Font").setValue(this.plugin.settings.currentTheme.settings.header.title.textFont).onChange((value) => {
this.plugin.settings.currentTheme.settings.header.title.textFont = value;
(async () => {
await this.plugin.saveSettings();
})();
});
}).then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"header_title_text",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].header.title.textColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].header.title.textColor = saveColor;
}
);
});
new import_obsidian.Setting(containerEl).setName("Collapse Placeholder Text").setDesc("Title placeholder text for collapsed code when no title parameter is set.").addText((text) => text.setPlaceholder("Collapsed Code").setValue(this.plugin.settings.currentTheme.settings.header.collapsePlaceholder).onChange((value) => {
this.plugin.settings.currentTheme.settings.header.collapsePlaceholder = value;
(async () => {
await this.plugin.saveSettings();
})();
}));
new import_obsidian.Setting(containerEl).setName("Header Separator Color").setDesc("Color of the line separating the codeblock header and the codeblock.").then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"header_separator",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].header.lineColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].header.lineColor = saveColor;
}
);
});
containerEl.createEl("h5", { text: "Header Language Tag Appearance" });
new import_obsidian.Setting(containerEl).setName("Display Header Language Tags").setDesc('Determine when to show language tags in the header. "Title Only" will only show language tags when the title parameter is set. If set to "None", the below settings are disabled too.').addDropdown((dropdown) => dropdown.addOptions(DISPLAY_OPTIONS).setValue(this.plugin.settings.currentTheme.settings.header.languageTag.display).onChange((value) => {
this.plugin.settings.currentTheme.settings.header.languageTag.display = value;
this.disableableComponents["headerLanguageTags"].forEach((component) => {
component.setDisabled(value === "none");
});
(async () => {
await this.plugin.saveSettings();
})();
}));
new import_obsidian.Setting(containerEl).setName("Header Language Tag Background Color").then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"header_language_tag_background",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].header.languageTag.backgroundColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].header.languageTag.backgroundColor = saveColor;
},
() => this.plugin.settings.currentTheme.settings.header.languageTag.display === "none"
);
});
this.disableableComponents["headerLanguageTags"].push(this.pickrs["header_language_tag_background"].resetButton);
let languageTagsBoldToggle;
let languageTagsItalicToggle;
let languageIconsFontText;
new import_obsidian.Setting(containerEl).setName("Header Language Tag Text Styling").setDesc("Style the header language tag text using bold and italic toggles, by setting a font or by setting a text color.").addToggle((toggle) => {
languageTagsBoldToggle = toggle.setTooltip("Toggle bold language tag text").setValue(this.plugin.settings.currentTheme.settings.header.languageTag.textBold).setDisabled(this.plugin.settings.currentTheme.settings.header.languageTag.display === "none").onChange((value) => {
this.plugin.settings.currentTheme.settings.header.languageTag.textBold = value;
(async () => {
await this.plugin.saveSettings();
})();
});
this.disableableComponents["headerLanguageTags"].push(languageTagsBoldToggle);
}).addToggle((toggle) => {
languageTagsItalicToggle = toggle.setTooltip("Toggle italic language tag text").setValue(this.plugin.settings.currentTheme.settings.header.languageTag.textItalic).setDisabled(this.plugin.settings.currentTheme.settings.header.languageTag.display === "none").onChange((value) => {
this.plugin.settings.currentTheme.settings.header.languageTag.textItalic = value;
(async () => {
await this.plugin.saveSettings();
})();
});
this.disableableComponents["headerLanguageTags"].push(languageTagsItalicToggle);
}).addText((text) => {
languageIconsFontText = text.setPlaceholder("Font").setValue(this.plugin.settings.currentTheme.settings.header.languageTag.textFont).setDisabled(this.plugin.settings.currentTheme.settings.header.languageTag.display === "none").onChange((value) => {
this.plugin.settings.currentTheme.settings.header.languageTag.textFont = value;
(async () => {
await this.plugin.saveSettings();
})();
});
this.disableableComponents["headerLanguageTags"].push(languageIconsFontText);
}).then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"header_language_tag_text",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].header.languageTag.textColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].header.languageTag.textColor = saveColor;
},
() => this.plugin.settings.currentTheme.settings.header.languageTag.display === "none"
);
});
this.disableableComponents["headerLanguageTags"].push(this.pickrs["header_language_tag_text"].resetButton);
containerEl.createEl("h5", { text: "Header Language Icon Appearance" });
new import_obsidian.Setting(containerEl).setName("Display Header Language Icons").setDesc('Determine when to show language icons where available. "Title Only" will only show language tags when the title parameter is set. If set to "None", the below settings are disabled too.').addDropdown((dropdown) => dropdown.addOptions(DISPLAY_OPTIONS).setValue(this.plugin.settings.currentTheme.settings.header.languageIcon.display).onChange((value) => {
this.plugin.settings.currentTheme.settings.header.languageIcon.display = value;
this.disableableComponents["headerLanguageIcons"].forEach((component) => {
component.setDisabled(value === "none");
});
(async () => {
await this.plugin.saveSettings();
})();
}));
let languageIconsColoredToggle;
new import_obsidian.Setting(containerEl).setName("Language Icons Colored").setDesc("If disabled, language icons will be black and white.").addToggle((toggle) => {
languageIconsColoredToggle = toggle.setValue(this.plugin.settings.currentTheme.settings.header.languageIcon.displayColor).setDisabled(this.plugin.settings.currentTheme.settings.header.languageIcon.display === "none").onChange((value) => {
this.plugin.settings.currentTheme.settings.header.languageIcon.displayColor = value;
(async () => {
await this.plugin.saveSettings();
})();
});
this.disableableComponents["headerLanguageIcons"].push(languageIconsColoredToggle);
});
new import_obsidian.Setting(containerEl).setName("Language Icon Size").setDesc("Set the size of the displayed language icons.").then((setting) => {
let resettableSlider;
setting.addSlider((slider) => {
resettableSlider = slider.setLimits(10, 40, 1).setValue(this.plugin.settings.currentTheme.settings.advanced.iconSize).setDisabled(this.plugin.settings.currentTheme.settings.header.languageIcon.display === "none").setDynamicTooltip().onChange((value) => {
this.plugin.settings.currentTheme.settings.advanced.iconSize = value;
(async () => {
await this.plugin.saveSettings();
})();
});
this.disableableComponents["headerLanguageIcons"].push(resettableSlider);
});
let resetButton;
setting.addExtraButton((button) => {
resetButton = button.setIcon("reset").setDisabled(this.plugin.settings.currentTheme.settings.header.languageIcon.display === "none").setTooltip("Restore default icon size").onClick(() => {
this.plugin.settings.currentTheme.settings.advanced.iconSize = this.plugin.settings.themes[this.plugin.settings.selectedTheme].settings.advanced.iconSize;
resettableSlider.setValue(this.plugin.settings.currentTheme.settings.advanced.iconSize);
(async () => {
await this.plugin.saveSettings();
})();
});
this.disableableComponents["headerLanguageIcons"].push(resetButton);
});
});
containerEl.createEl("h4", { text: "Highlighting Appearance" });
new import_obsidian.Setting(containerEl).setName("Editor Active Line Highlight").setDesc("If enabled, highlights the active line outside codeblocks.").setClass("codeblock-styler-spaced").addToggle((toggle) => {
return toggle.setTooltip("Toggle editor active line highlighting").setValue(this.plugin.settings.currentTheme.settings.highlights.activeEditorLine).onChange((value) => {
this.plugin.settings.currentTheme.settings.highlights.activeEditorLine = value;
this.disableableComponents["editorActiveLineHighlight"].forEach((component) => {
component.setDisabled(!value);
});
(async () => {
await this.plugin.saveSettings();
})();
});
}).then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"editor_active_line_highlight",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].highlights.activeEditorLineColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].highlights.activeEditorLineColor = saveColor;
},
() => !this.plugin.settings.currentTheme.settings.highlights.activeEditorLine
);
});
this.disableableComponents["editorActiveLineHighlight"].push(this.pickrs["editor_active_line_highlight"].resetButton);
new import_obsidian.Setting(containerEl).setName("Codeblock Active Line Highlight").setDesc("If enabled, highlights the active line inside codeblocks.").setClass("codeblock-styler-spaced").addToggle((toggle) => {
return toggle.setValue(this.plugin.settings.currentTheme.settings.highlights.activeCodeblockLine).onChange((value) => {
this.plugin.settings.currentTheme.settings.highlights.activeCodeblockLine = value;
this.disableableComponents["codeblockActiveLineHighlight"].forEach((component) => {
component.setDisabled(!value);
});
(async () => {
await this.plugin.saveSettings();
})();
});
}).then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"codeblock_active_line_highlight",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].highlights.activeCodeblockLineColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].highlights.activeCodeblockLineColor = saveColor;
},
() => !this.plugin.settings.currentTheme.settings.highlights.activeCodeblockLine
);
});
this.disableableComponents["codeblockActiveLineHighlight"].push(this.pickrs["codeblock_active_line_highlight"].resetButton);
new import_obsidian.Setting(containerEl).setName("Default Highlight Color").setDesc("Used by the 'hl' parameter.").then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"default_highlight",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].highlights.defaultColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].highlights.defaultColor = saveColor;
}
);
});
let newHighlightText;
new import_obsidian.Setting(containerEl).setName("Add Alternative Highlight").setDesc("Define a new alternative highlight name. Colors can be modified after it is added.").addText((value) => {
newHighlightText = value.setPlaceholder("e.g. error, warn").onChange((value2) => {
this.plugin.settings.newHighlight = value2;
});
}).addButton((button) => {
button.setButtonText("Add");
button.onClick(() => {
if (this.plugin.settings.newHighlight.trim() === "")
new import_obsidian.Notice("Please enter a color name.");
else if (!/^[^\d]\w*$/.test(this.plugin.settings.newHighlight))
new import_obsidian.Notice(`"${this.plugin.settings.newHighlight}" is not a valid color name.`);
else if (this.plugin.settings.newHighlight.trim().toLowerCase() === "hl")
new import_obsidian.Notice("Cannot override the default highlight parameter.");
else if (PARAMETERS.includes(this.plugin.settings.newHighlight.trim().toLowerCase()))
new import_obsidian.Notice("Cannot use other default parameters.");
else {
if (this.plugin.settings.newHighlight in this.plugin.settings.currentTheme.colors.light.highlights.alternativeHighlights)
new import_obsidian.Notice(`A highlight with the name "${this.plugin.settings.newHighlight}" already exists.`);
else {
const newColor = getRandomColor();
this.plugin.settings.currentTheme.colors.light.highlights.alternativeHighlights[this.plugin.settings.newHighlight] = newColor;
this.plugin.settings.currentTheme.colors.dark.highlights.alternativeHighlights[this.plugin.settings.newHighlight] = newColor;
this.updateAlternativeHighlights(alternativeHighlightsContainer);
new import_obsidian.Notice(`Added highlight "${this.plugin.settings.newHighlight}".`);
this.plugin.settings.newHighlight = "";
newHighlightText.setValue("");
(async () => {
await this.plugin.saveSettings();
})();
}
}
});
});
const alternativeHighlightsContainer = containerEl.createDiv();
this.updateAlternativeHighlights(alternativeHighlightsContainer);
containerEl.createEl("h3", { text: "Advanced Settings" });
let wrapLinesActiveToggle;
new import_obsidian.Setting(containerEl).setName("Wrap Lines on Click").setDesc('If enabled, in reading mode, holding click on a codeblock will wrap the lines for better visibility. This can only be used if the "Unwrap Lines" setting is enabled.').addToggle((toggle) => {
wrapLinesActiveToggle = toggle.setValue(this.plugin.settings.currentTheme.settings.codeblock.wrapLinesActive).setDisabled(!this.plugin.settings.currentTheme.settings.codeblock.unwrapLines).onChange((value) => {
this.plugin.settings.currentTheme.settings.codeblock.wrapLinesActive = value;
(async () => {
await this.plugin.saveSettings();
})();
});
this.disableableComponents["wrapLines"].push(wrapLinesActiveToggle);
});
new import_obsidian.Setting(containerEl).setName("Button Color").setDesc("Used for UI buttons like the copy code button.").then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"default_highlight",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].advanced.buttonColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].advanced.buttonColor = saveColor;
}
);
});
new import_obsidian.Setting(containerEl).setName("Button Active Color").setDesc("Color buttons use when activated.").then((setting) => {
this.createPickr(
this.plugin,
containerEl,
setting,
"default_highlight",
(relevantThemeColors) => relevantThemeColors[getCurrentMode()].advanced.buttonActiveColor,
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].advanced.buttonActiveColor = saveColor;
}
);
});
new import_obsidian.Setting(containerEl).setName("Gradient Highlighting").setDesc("If enabled, highlights fade away to the right. The slider sets the gradient color stop as a percentage.").addToggle((toggle) => toggle.setValue(this.plugin.settings.currentTheme.settings.advanced.gradientHighlights).onChange((value) => {
this.plugin.settings.currentTheme.settings.advanced.gradientHighlights = value;
this.disableableComponents["gradientHighlighting"].forEach((component) => {
component.setDisabled(!value);
});
(async () => {
await this.plugin.saveSettings();
})();
})).then((setting) => {
let resettableSlider;
setting.addSlider((slider) => {
resettableSlider = slider.setLimits(0, 100, 1).setValue(+this.plugin.settings.currentTheme.settings.advanced.gradientHighlightsColorStop.slice(0, -1)).setDisabled(!this.plugin.settings.currentTheme.settings.advanced.gradientHighlights).setDynamicTooltip().onChange((value) => {
this.plugin.settings.currentTheme.settings.advanced.gradientHighlightsColorStop = `${value}%`;
(async () => {
await this.plugin.saveSettings();
})();
});
this.disableableComponents["gradientHighlighting"].push(resettableSlider);
});
let resetButton;
setting.addExtraButton((button) => {
resetButton = button.setIcon("reset").setDisabled(!this.plugin.settings.currentTheme.settings.advanced.gradientHighlights).setTooltip("Restore default color stop").onClick(() => {
this.plugin.settings.currentTheme.settings.advanced.gradientHighlightsColorStop = this.plugin.settings.themes[this.plugin.settings.selectedTheme].settings.advanced.gradientHighlightsColorStop;
resettableSlider.setValue(+this.plugin.settings.currentTheme.settings.advanced.gradientHighlightsColorStop.slice(0, -1));
(async () => {
await this.plugin.saveSettings();
})();
});
this.disableableComponents["gradientHighlighting"].push(resetButton);
});
});
new import_obsidian.Setting(containerEl).setName("Language Colored Borders").setDesc("If enabled, languages with icons display a left border with the color of the icon. The slider sets the width of the border.").addToggle((toggle) => toggle.setValue(this.plugin.settings.currentTheme.settings.advanced.languageBorderColor).onChange((value) => {
this.plugin.settings.currentTheme.settings.advanced.languageBorderColor = value;
this.disableableComponents["languageBorderColor"].forEach((component) => {
component.setDisabled(!value);
});
(async () => {
await this.plugin.saveSettings();
})();
})).then((setting) => {
let resettableSlider;
setting.addSlider((slider) => {
resettableSlider = slider.setLimits(0, 20, 1).setValue(this.plugin.settings.currentTheme.settings.advanced.languageBorderWidth).setDisabled(!this.plugin.settings.currentTheme.settings.advanced.languageBorderColor).setDynamicTooltip().onChange((value) => {
this.plugin.settings.currentTheme.settings.advanced.languageBorderWidth = value;
(async () => {
await this.plugin.saveSettings();
})();
});
this.disableableComponents["languageBorderColor"].push(resettableSlider);
});
let resetButton;
setting.addExtraButton((button) => {
resetButton = button.setIcon("reset").setDisabled(!this.plugin.settings.currentTheme.settings.advanced.languageBorderColor).setTooltip("Restore default color stop").onClick(() => {
this.plugin.settings.currentTheme.settings.advanced.languageBorderWidth = this.plugin.settings.themes[this.plugin.settings.selectedTheme].settings.advanced.languageBorderWidth;
resettableSlider.setValue(this.plugin.settings.currentTheme.settings.advanced.languageBorderWidth);
(async () => {
await this.plugin.saveSettings();
})();
});
this.disableableComponents["languageBorderColor"].push(resetButton);
});
});
new import_obsidian.Setting(containerEl).setName("Redirect Language Settings").setDesc("Use this textbox to redirect specific language colors and icons as a JSON with language names as keys and either a color key, an icon key or both as the value for a given language. Colours should be passed as CSS colors and icons should be passed as a string of the inside of an svg element. This setting is theme independent.").setClass("codeblock-styler-setting-text-area").addTextArea((textArea) => textArea.setValue(JSON.stringify(this.plugin.settings.redirectLanguages) === "{}" ? "" : JSON.stringify(this.plugin.settings.redirectLanguages, null, 4)).setPlaceholder(JSON.stringify({ toml: { color: "#012345", icon: LANGUAGE_ICONS_DATA["APL"] } }, null, 4)).onChange((value) => {
if (value === "") {
this.plugin.settings.redirectLanguages = {};
(async () => {
await this.plugin.saveSettings();
})();
} else {
try {
this.plugin.settings.redirectLanguages = JSON.parse(value);
Object.entries(this.plugin.settings.redirectLanguages).forEach(([languageName, languageSettings]) => {
if ("icon" in languageSettings) {
if (LANGUAGE_NAMES[languageName] in this.plugin.languageIcons)
URL.revokeObjectURL(this.plugin.languageIcons[LANGUAGE_NAMES[languageName]]);
this.plugin.languageIcons[LANGUAGE_NAMES[languageName]] = URL.createObjectURL(new Blob([`<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32">${languageSettings.icon}</svg>`], { type: "image/svg+xml" }));
}
});
(async () => {
await this.plugin.saveSettings();
})();
} catch (e2) {
new import_obsidian.Notice("Invalid JSON");
}
}
}));
const donationDiv = containerEl.createEl("div", { cls: "codeblock-styler-donation" });
const donationText = createEl("p", { text: "If you like this plugin, and would like to help support continued development, use the button below!" });
donationDiv.appendChild(donationText);
const donationButton = createEl("a", { href: "https://www.buymeacoffee.com/mayurankv2" });
donationButton.innerHTML = `<img src="https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=&slug=mayurankv2&button_colour=e3e7efa0&font_colour=262626&font_family=Inter&outline_colour=262626&coffee_colour=a0522d" height="42px">`;
donationDiv.appendChild(donationButton);
}
// Setting Creation
createPickr(plugin, containerEl, setting, id, getRelevantThemeColor, saveRelevantThemeColor, disabled) {
let pickr = new PickrResettable(plugin, containerEl, setting, getRelevantThemeColor, saveRelevantThemeColor);
pickr.on("show", (color, instance) => {
if (typeof disabled !== "undefined" && disabled())
instance.hide();
requestAnimationFrame(() => requestAnimationFrame(() => instance.getRoot().interaction.result.select()));
}).on("save", (color, instance) => {
const savedColor = `#${color.toHEXA().toString().substring(1)}`;
instance.hide();
instance.addSwatch(savedColor);
instance.saveColor(savedColor);
}).on("cancel", (instance) => {
instance.hide();
});
setting.addExtraButton((button) => {
pickr.resetButton = button.setIcon("reset").setDisabled(typeof disabled !== "undefined" && disabled()).setTooltip("Restore default color").onClick(() => {
pickr.resetColor();
});
});
this.pickrs[id] = pickr;
}
// Setting Updates
updateDropdown(dropdown, settings) {
dropdown.selectEl.empty();
Object.keys(settings.themes).forEach((theme_name) => {
dropdown.addOption(theme_name, theme_name);
});
dropdown.setValue(settings.selectedTheme);
}
updateAlternativeHighlights(alternativeHighlightsContainer) {
alternativeHighlightsContainer.empty();
Object.keys(this.plugin.settings.currentTheme.colors.light.highlights.alternativeHighlights).forEach((alternativeHighlightName) => {
new import_obsidian.Setting(alternativeHighlightsContainer).setName(alternativeHighlightName).setDesc(`To highlight lines with this highlight, use the ${alternativeHighlightName} parameter.`).then((setting) => {
this.createPickr(
this.plugin,
alternativeHighlightsContainer,
setting,
`alternative_highlight_${alternativeHighlightName}`,
(relevantThemeColors) => alternativeHighlightName in relevantThemeColors.light.highlights.alternativeHighlights ? relevantThemeColors[getCurrentMode()].highlights.alternativeHighlights[alternativeHighlightName] : this.plugin.settings.currentTheme.colors[getCurrentMode()].highlights.alternativeHighlights[alternativeHighlightName],
(relevantThemeColors, saveColor) => {
relevantThemeColors[getCurrentMode()].highlights.alternativeHighlights[alternativeHighlightName] = saveColor;
}
);
setting.addExtraButton((button) => {
button.setIcon("trash").setTooltip("Delete highlight").onClick(() => {
delete this.plugin.settings.currentTheme.colors.light.highlights.alternativeHighlights[alternativeHighlightName];
delete this.plugin.settings.currentTheme.colors.dark.highlights.alternativeHighlights[alternativeHighlightName];
new import_obsidian.Notice(`Removed highlight "${alternativeHighlightName}".`);
this.updateAlternativeHighlights(alternativeHighlightsContainer);
(async () => {
await this.plugin.saveSettings();
})();
});
});
});
});
}
};
var PickrResettable = class extends import_pickr.default {
constructor(plugin, containerEl, setting, getRelevantThemeColor, saveRelevantThemeColor, tooltip) {
const settings = {
el: setting.controlEl.createDiv({ cls: "picker" }),
theme: "nano",
default: getColor(getRelevantThemeColor(plugin.settings.currentTheme.colors)),
position: "left-middle",
lockOpacity: false,
components: {
preview: true,
hue: true,
opacity: true,
interaction: {
hex: true,
rgba: true,
hsla: false,
input: true,
cancel: true,
save: true
}
},
i18n: {
"ui:dialog": "Color picker dialog",
"btn:toggle": typeof tooltip !== "undefined" ? tooltip : "Select color",
"btn:swatch": "Color swatch",
"btn:last-color": "Use previous color"
}
};
if (containerEl.parentElement !== null)
settings.container = containerEl.parentElement;
super(settings);
this.saveColor = (saveColor) => {
saveRelevantThemeColor(plugin.settings.currentTheme.colors, saveColor);
(async () => {
await plugin.saveSettings();
})();
};
this.resetColor = () => {
const resetColor = getRelevantThemeColor(plugin.settings.themes[plugin.settings.selectedTheme].colors);
this.setColor(getColor(resetColor));
this.saveColor(resetColor);
};
}
};
function getRandomColor() {
const letters = "0123456789ABCDEF";
let color = "";
for (let i2 = 0; i2 < 6; i2++)
color += letters[Math.floor(Math.random() * 16)];
return `#${color}FF`;
}
function isCss(possibleCss) {
return possibleCss.startsWith("--") && typeof possibleCss === "string";
}
function calc(calcString) {
const splitString = calcString.replace(/(\d*)%/g, "$1").split(" ");
const operators = {
"+": (num1, num2) => Math.max(num1 + num2, 0),
"-": (num1, num2) => Math.max(num1 - num2, 0)
};
if (splitString.length === 3) {
if (splitString[1] in operators)
return `${operators[splitString[1]](parseFloat(splitString[0]), parseFloat(splitString[2]))}%`;
}
console.warn("Warning: Couldn't parse calc string");
return calcString;
}
function getCssVariable(cssVariable) {
let variableValue = window.getComputedStyle(document.body).getPropertyValue(cssVariable).trim();
if (typeof variableValue === "string" && variableValue.trim().startsWith("#"))
return `#${variableValue.trim().substring(1)}`;
else if (variableValue.startsWith("rgb"))
return `#${dt.toHEXA(variableValue.replace(/calc\((.*?)\)/g, (match, capture) => calc(capture))).substring(1)}`;
else if (variableValue.startsWith("hsl"))
return `#${dt.toHEXA(variableValue.replace(/calc\((.*?)\)/g, (match, capture) => calc(capture))).substring(1)}`;
else
console.warn(`Warning: Couldn't determine color format - ${variableValue}`);
return `#${dt.toHEXA(variableValue).substring(1)}`;
}
function getColor(themeColor) {
return isCss(themeColor) ? getCssVariable(themeColor) : themeColor;
;
}
function getCurrentMode() {
const body = document.querySelector("body");
if (body !== null) {
if (body.classList.contains("theme-light"))
return "light";
else if (body.classList.contains("theme-dark"))
return "dark";
}
console.warn("Warning: Couldn't get current theme");
return "light";
}
// src/ApplyStyling.ts
var STYLE_ID = "codeblock-styler-styles";
var THEME_STYLES = {
"Prism": {
"border": {
"size": 1,
"style": "1px solid var(--window-border-color)"
}
},
"Shimmering Focus": {
"border": {
"size": 1,
"style": "var(--thin-muted-border)"
}
},
"Minimal": {
"extra": `
.markdown-source-view.mod-cm6.is-readable-line-width :not(pre.codeblock-styler-pre) > [class^='codeblock-styler-header-container'] {
max-width: calc(var(--max-width) - var(--folding-offset)) !important;
width: calc(var(--line-width-adaptive) - var(--folding-offset)) !important;
margin-left: max(calc(50% + var(--folding-offset) - var(--line-width-adaptive)/2), calc(50% + var(--folding-offset) - var(--max-width)/2)) !important;
}
`
}
};
function updateStyling(settings, app) {
let currentTheme = getCurrentTheme(app);
let styleTag = document.getElementById(STYLE_ID);
if (!styleTag) {
styleTag = document.createElement("style");
styleTag.id = STYLE_ID;
document.getElementsByTagName("head")[0].appendChild(styleTag);
}
styleTag.innerText = (styleThemeColors(settings.currentTheme.colors) + styleThemeSettings(settings.currentTheme.settings, currentTheme) + styleLanguageColors(settings.currentTheme.settings, settings.redirectLanguages, currentTheme)).trim().replace(/\s+/g, " ");
addThemeSettingsClasses(settings.currentTheme.settings);
}
function styleThemeColors(themeColors) {
return Object.keys(themeColors.light.highlights.alternativeHighlights).reduce((result, alternativeHighlight) => {
return result + `
body.codeblock-styler .codeblock-styler-line-highlighted-${alternativeHighlight.replace(/\s+/g, "-").toLowerCase()} {
--gradient-background-color: var(--codeblock-styler-${alternativeHighlight.replace(/\s+/g, "-").toLowerCase()}-highlight-color) !important;
}
`;
}, `
body.codeblock-styler.theme-light {
${getThemeColors(themeColors.light)}
}
body.codeblock-styler.theme-dark {
${getThemeColors(themeColors.dark)}
}
`);
}
function getThemeColors(themeModeColors) {
return Object.entries({
"codeblock-background-color": themeModeColors.codeblock.backgroundColor,
"codeblock-text-color": themeModeColors.codeblock.textColor,
"gutter-background-color": themeModeColors.gutter.backgroundColor,
"gutter-text-color": themeModeColors.gutter.textColor,
"gutter-active-text-color": themeModeColors.gutter.activeTextColor,
"header-background-color": themeModeColors.header.backgroundColor,
"header-title-text-color": themeModeColors.header.title.textColor,
"header-language-tag-background-color": themeModeColors.header.languageTag.backgroundColor,
"header-language-tag-text-color": themeModeColors.header.languageTag.textColor,
"header-separator-color": themeModeColors.header.lineColor,
"active-codeblock-line-color": themeModeColors.highlights.activeCodeblockLineColor,
"active-editor-line-color": themeModeColors.highlights.activeEditorLineColor,
"default-highlight-color": themeModeColors.highlights.defaultColor,
"button-color": themeModeColors.advanced.buttonColor,
"button-active-color": themeModeColors.advanced.buttonActiveColor,
...Object.entries(themeModeColors.highlights.alternativeHighlights).reduce((result, [alternativeHighlight, color]) => {
result[`${alternativeHighlight.replace(/\s+/g, "-").toLowerCase()}-highlight-color`] = color;
return result;
}, {})
}).reduce((result, [cssVariable, color]) => {
const styleColor = isCss(color) ? `var(${color})` : color;
return result + `--codeblock-styler-${cssVariable}: ${styleColor};`;
}, ``);
}
function styleThemeSettings(themeSettings, currentTheme) {
var _a, _b;
return `
body.codeblock-styler [class^="codeblock-styler-header-language-tag"] {
--codeblock-styler-header-language-tag-text-bold: ${themeSettings.header.languageTag.textBold ? "bold" : "normal"};
--codeblock-styler-header-language-tag-text-italic: ${themeSettings.header.languageTag.textItalic ? "italic" : "normal"};
font-family: ${themeSettings.header.languageTag.textFont !== "" ? themeSettings.header.languageTag.textFont : "var(--font-text)"};
}
body.codeblock-styler .codeblock-styler-header-text {
--codeblock-styler-header-title-text-bold: ${themeSettings.header.title.textBold ? "bold" : "normal"};
--codeblock-styler-header-title-text-italic: ${themeSettings.header.title.textItalic ? "italic" : "normal"};
font-family: ${themeSettings.header.languageTag.textFont !== "" ? themeSettings.header.languageTag.textFont : "var(--font-text)"};
}
body.codeblock-styler {
--border-radius: ${themeSettings.codeblock.curvature}px;
--language-icon-size: ${themeSettings.advanced.iconSize}px;
--gradient-highlights-color-stop: ${themeSettings.advanced.gradientHighlights ? themeSettings.advanced.gradientHighlightsColorStop : "100%"};
--header-font-size: ${themeSettings.header.fontSize}px;
--line-wrapping: ${themeSettings.codeblock.unwrapLines ? "pre" : "pre-wrap"};
${!themeSettings.codeblock.wrapLinesActive ? "" : "--line-active-wrapping: pre-wrap;"}
${themeSettings.header.languageIcon.displayColor ? "" : "--icon-filter: grayscale(1);"}
}
${((_a = THEME_STYLES == null ? void 0 : THEME_STYLES[currentTheme]) == null ? void 0 : _a.border) ? `
.markdown-source-view :not(pre.codeblock-styler-pre) > [class^='codeblock-styler-header-container'] {
--codeblock-styler-header-border:` + //@ts-expect-error Does Exist
THEME_STYLES[currentTheme].border.style + `;
--header-separator-width-padding: calc(var(--header-separator-width) - ` + //@ts-expect-error Does Exist
THEME_STYLES[currentTheme].border.size + `px);
--collapsed-bottom-border: var(--codeblock-styler-header-border);
}
` : ""}
${((_b = THEME_STYLES == null ? void 0 : THEME_STYLES[currentTheme]) == null ? void 0 : _b.extra) ? THEME_STYLES[currentTheme].extra : ""}
`;
}
function styleLanguageColors(themeSettings, redirectLanguages, currentTheme) {
return Object.entries(LANGUAGE_NAMES).reduce((result, [languageName, languageDisplayName]) => {
var _a, _b, _c;
if (languageDisplayName in LANGUAGE_COLORS || languageName in redirectLanguages && "color" in redirectLanguages[languageName]) {
result += `
.language-${languageName} {
--language-border-color: ${(_b = (_a = redirectLanguages == null ? void 0 : redirectLanguages[languageName]) == null ? void 0 : _a["color"]) != null ? _b : LANGUAGE_COLORS[languageDisplayName]};
--language-border-width: ${themeSettings.advanced.languageBorderColor ? themeSettings.advanced.languageBorderWidth : 0}px;
}
`;
if ((_c = THEME_STYLES == null ? void 0 : THEME_STYLES[currentTheme]) == null ? void 0 : _c.border) {
result += `
.markdown-source-view :not(pre.codeblock-styler-pre) > [class^='codeblock-styler-header-container'].language-${languageName} {
--language-border-width: ${//@ts-expect-error Does exist
themeSettings.advanced.languageBorderColor ? themeSettings.advanced.languageBorderWidth + THEME_STYLES[currentTheme].border.size : 0}px;
}`;
}
}
return result;
}, "");
}
function addThemeSettingsClasses(themeSettings) {
if (themeSettings.codeblock.lineNumbers)
document.body.classList.add("codeblock-styler-show-line-numbers");
else
document.body.classList.remove("codeblock-styler-show-line-numbers");
if (themeSettings.gutter.highlight)
document.body.classList.add("codeblock-styler-gutter-highlight");
else
document.body.classList.remove("codeblock-styler-gutter-highlight");
if (themeSettings.gutter.activeLine)
document.body.classList.add("codeblock-styler-gutter-active-line");
else
document.body.classList.remove("codeblock-styler-gutter-active-line");
document.body.classList.remove("codeblock-styler-active-line-highlight", "codeblock-styler-active-line-highlight-codeblock", "codeblock-styler-active-line-highlight-editor");
if (themeSettings.highlights.activeEditorLine && themeSettings.highlights.activeCodeblockLine)
document.body.classList.add("codeblock-styler-active-line-highlight");
else if (themeSettings.highlights.activeEditorLine && !themeSettings.highlights.activeCodeblockLine)
document.body.classList.add("codeblock-styler-active-line-highlight-editor");
else if (!themeSettings.highlights.activeEditorLine && themeSettings.highlights.activeCodeblockLine)
document.body.classList.add("codeblock-styler-active-line-highlight-codeblock");
document.body.classList.remove("codeblock-styler-show-langnames", "codeblock-styler-show-langnames-always");
if (themeSettings.header.languageTag.display === "always")
document.body.classList.add("codeblock-styler-show-langnames-always");
else if (themeSettings.header.languageTag.display === "if_header_shown")
document.body.classList.add("codeblock-styler-show-langnames");
document.body.classList.remove("codeblock-styler-show-langicons", "codeblock-styler-show-langicons-always");
if (themeSettings.header.languageIcon.display === "always")
document.body.classList.add("codeblock-styler-show-langicons-always");
else if (themeSettings.header.languageIcon.display === "if_header_shown")
document.body.classList.add("codeblock-styler-show-langicons");
}
function removeStylesAndClasses() {
var _a;
(_a = document.getElementById(STYLE_ID)) == null ? void 0 : _a.remove();
document.body.classList.remove(
"codeblock-styler",
"codeblock-styler-show-line-numbers",
"codeblock-styler-gutter-highlight",
"codeblock-styler-gutter-active-line",
"codeblock-styler-show-langnames",
"codeblock-styler-show-langnames-always",
"codeblock-styler-show-langicons",
"codeblock-styler-show-langicons-always"
);
}
function getCurrentTheme(app) {
return app.vault.getConfig("cssTheme");
}
// src/EditingView.ts
var import_obsidian2 = require("obsidian");
var import_view = require("@codemirror/view");
var import_state = require("@codemirror/state");
var import_language = require("@codemirror/language");
// src/CodeblockParsing.ts
async function parseCodeblockSource(codeSection, sourcePath, plugin) {
const plugins = plugin.app.plugins.plugins;
const admonitions = "obsidian-admonition" in plugins;
let codeblocks = [];
let codeblocksParameters = [];
function parseCodeblockSection(codeSection2) {
var _a;
if (codeSection2.length === 0)
return;
let openingCodeblockLine = getOpeningLine(codeSection2);
if (!openingCodeblockLine)
return;
let openDelimiter = (_a = /^\s*(?:>\s*)*(```+).*$/.exec(openingCodeblockLine)) == null ? void 0 : _a[1];
if (!openDelimiter)
return;
let openDelimiterIndex = codeSection2.indexOf(openingCodeblockLine);
let closeDelimiterIndex = codeSection2.slice(openDelimiterIndex + 1).findIndex((line) => line.indexOf(openDelimiter) !== -1);
if (!admonitions || !/^\s*(?:>\s*)*```+ad-.*$/.test(openingCodeblockLine))
codeblocks.push(codeSection2.slice(0, openDelimiterIndex + 2 + closeDelimiterIndex));
else
parseCodeblockSection(codeSection2.slice(openDelimiterIndex + 1, openDelimiterIndex + 1 + closeDelimiterIndex));
parseCodeblockSection(codeSection2.slice(openDelimiterIndex + 1 + closeDelimiterIndex + 1));
}
parseCodeblockSection(codeSection);
for (let codeblockLines of codeblocks) {
let parameterLine = getParameterLine(codeblockLines);
if (!parameterLine)
continue;
let codeblockParameters = parseCodeblockParameters(parameterLine, plugin.settings.currentTheme);
if (isExcluded(codeblockParameters.language, plugin.settings.excludedCodeblocks))
continue;
codeblockParameters = await pluginAdjustParameters(codeblockParameters, plugins, codeblockLines, sourcePath);
codeblocksParameters.push(codeblockParameters);
}
return { codeblocksParameters, nested: codeblocks[0] ? !arraysEqual(codeSection, codeblocks[0]) : true };
}
function parseCodeblockParameters(parameterLine, theme) {
let codeblockParameters = {
language: "",
title: "",
fold: {
enabled: false,
placeholder: ""
},
lineNumbers: {
alwaysEnabled: false,
alwaysDisabled: false,
offset: 0
},
lineUnwrap: {
alwaysEnabled: false,
alwaysDisabled: false,
activeWrap: false
},
highlights: {
default: {
lineNumbers: [],
plainText: [],
regularExpressions: []
},
alternative: {}
},
ignore: false
};
if (parameterLine.startsWith("```")) {
parameterLine = parameterLine.replace(/^```+(?=[^`]|$)/, "");
let languageBreak = parameterLine.indexOf(" ");
codeblockParameters.language = parameterLine.slice(0, languageBreak !== -1 ? languageBreak : parameterLine.length).toLowerCase();
if (languageBreak === -1)
return codeblockParameters;
const parameterStrings = parameterLine.slice(languageBreak + 1).match(/(?:[^\s"']+|"[^"]*"|'[^']*')+/g);
if (!parameterStrings)
return codeblockParameters;
parameterStrings.forEach((parameterString) => parseParameterString(parameterString, codeblockParameters, theme));
}
return codeblockParameters;
}
function parseParameterString(parameterString, codeblockParameters, theme) {
if (parameterString.startsWith("title:")) {
let titleMatch = /(["']?)([^\1]+)\1/.exec(parameterString.slice("title:".length));
if (titleMatch)
codeblockParameters.title = titleMatch[2].trim();
} else if (parameterString.startsWith("fold:")) {
let foldPlaceholderMatch = /(["']?)([^\1]+)\1/.exec(parameterString.slice("fold:".length));
if (foldPlaceholderMatch) {
codeblockParameters.fold.enabled = true;
codeblockParameters.fold.placeholder = foldPlaceholderMatch[2].trim();
}
} else if (parameterString === "fold") {
codeblockParameters.fold.enabled = true;
codeblockParameters.fold.placeholder = "";
} else if (parameterString === "ignore") {
codeblockParameters.ignore = true;
} else if (parameterString.startsWith("ln:")) {
parameterString = parameterString.slice("ln:".length);
if (/^\d+$/.test(parameterString)) {
codeblockParameters.lineNumbers.alwaysEnabled = true;
codeblockParameters.lineNumbers.alwaysDisabled = false;
codeblockParameters.lineNumbers.offset = parseInt(parameterString) - 1;
} else if (parameterString.toLowerCase() === "true") {
codeblockParameters.lineNumbers.alwaysEnabled = true;
codeblockParameters.lineNumbers.alwaysDisabled = false;
codeblockParameters.lineNumbers.offset = 0;
} else if (parameterString.toLowerCase() === "false") {
codeblockParameters.lineNumbers.alwaysEnabled = false;
codeblockParameters.lineNumbers.alwaysDisabled = true;
codeblockParameters.lineNumbers.offset = 0;
}
} else if (parameterString.startsWith("unwrap:")) {
parameterString = parameterString.slice("unwrap:".length);
if (parameterString.toLowerCase() === "inactive") {
codeblockParameters.lineUnwrap.alwaysEnabled = true;
codeblockParameters.lineUnwrap.alwaysDisabled = false;
codeblockParameters.lineUnwrap.activeWrap = true;
} else if (parameterString.toLowerCase() === "true") {
codeblockParameters.lineUnwrap.alwaysEnabled = true;
codeblockParameters.lineUnwrap.alwaysDisabled = false;
codeblockParameters.lineUnwrap.activeWrap = false;
} else if (parameterString.toLowerCase() === "false") {
codeblockParameters.lineUnwrap.alwaysEnabled = false;
codeblockParameters.lineUnwrap.alwaysDisabled = true;
codeblockParameters.lineUnwrap.activeWrap = false;
}
} else {
let highlightMatch = /^(\w+):(.+)$/.exec(parameterString);
if (highlightMatch) {
let highlights = parseHighlightedLines(highlightMatch[2]);
if (highlightMatch[1] === "hl")
codeblockParameters.highlights.default = highlights;
else if (highlightMatch[1] in theme.colors.light.highlights.alternativeHighlights)
codeblockParameters.highlights.alternative[highlightMatch[1]] = highlights;
}
}
}
function parseHighlightedLines(highlightedLinesString) {
const highlightRules = highlightedLinesString.split(",");
let lineNumbers = /* @__PURE__ */ new Set();
let plainText = /* @__PURE__ */ new Set();
let regularExpressions = /* @__PURE__ */ new Set();
highlightRules.forEach((highlightRule) => {
if (/\d+-\d+/.test(highlightRule)) {
const [start, end] = highlightRule.split("-").map((num) => parseInt(num));
if (start && end && start <= end)
Array.from({ length: end - start + 1 }, (_2, num) => num + start).forEach((lineNumber) => lineNumbers.add(lineNumber));
} else if (/^\/(.*)\/$/.test(highlightRule)) {
try {
regularExpressions.add(new RegExp(highlightRule.replace(/^\/(.*)\/$/, "$1")));
} catch (e2) {
}
} else if (/".*"/.test(highlightRule)) {
plainText.add(highlightRule.substring(1, highlightRule.length - 1));
} else if (/'.*'/.test(highlightRule)) {
plainText.add(highlightRule.substring(1, highlightRule.length - 1));
} else if (/\D/.test(highlightRule)) {
plainText.add(highlightRule);
} else if (/\d+/.test(highlightRule)) {
lineNumbers.add(parseInt(highlightRule));
}
});
return {
lineNumbers: [...lineNumbers],
plainText: [...plainText],
regularExpressions: [...regularExpressions]
};
}
async function pluginAdjustParameters(codeblockParameters, plugins, codeblockLines, sourcePath) {
var _a, _b;
if (codeblockParameters.language === "preview") {
if ("obsidian-code-preview" in plugins) {
let codePreviewParams = await plugins["obsidian-code-preview"].code(codeblockLines.slice(1, -1).join("\n"), sourcePath);
if (!codeblockParameters.lineNumbers.alwaysDisabled && !codeblockParameters.lineNumbers.alwaysEnabled) {
if (typeof codePreviewParams.start === "number")
codeblockParameters.lineNumbers.offset = codePreviewParams.start - 1;
codeblockParameters.lineNumbers.alwaysEnabled = codePreviewParams.lineNumber;
}
codeblockParameters.highlights.default.lineNumbers = [...new Set(codeblockParameters.highlights.default.lineNumbers.concat(Array.from(plugins["obsidian-code-preview"].analyzeHighLightLines(codePreviewParams.lines, codePreviewParams.highlight), ([num, _2]) => num)))];
if (codeblockParameters.title === "")
codeblockParameters.title = codePreviewParams.filePath.split("\\").pop().split("/").pop();
codeblockParameters.language = codePreviewParams.language;
}
} else if (codeblockParameters.language === "include") {
if ("file-include" in plugins) {
const fileIncludeLanguage = (_b = (_a = codeblockLines[0].match(/include(?:[:\s]+(?<lang>\w+))?/)) == null ? void 0 : _a.groups) == null ? void 0 : _b.lang;
if (typeof fileIncludeLanguage !== "undefined")
codeblockParameters.language = fileIncludeLanguage;
}
}
return codeblockParameters;
}
function getParameterLine(codeblockLines) {
let openingCodeblockLine = getOpeningLine(codeblockLines);
if (openingCodeblockLine && (openingCodeblockLine !== codeblockLines[0] || />\s*`/.test(openingCodeblockLine)))
openingCodeblockLine = cleanParameterLine(openingCodeblockLine);
return openingCodeblockLine;
}
function getOpeningLine(codeblockLines) {
return codeblockLines.find((line) => Boolean(testOpeningLine(line)));
}
function testOpeningLine(codeblockLine) {
let lineMatch = /^(\s*(?:>\s*)*)(```+)/.exec(codeblockLine);
if (!lineMatch)
return 0;
if (codeblockLine.indexOf("`".repeat(lineMatch[2].length), lineMatch[1].length + lineMatch[2].length + 1) === -1)
return lineMatch[2].length;
return 0;
}
function cleanParameterLine(parameterLine) {
return trimParameterLine(parameterLine).replace(/^(?:>\s*)*```/, "```");
}
function trimParameterLine(parameterLine) {
return parameterLine.trim();
}
function isExcluded(language, excludedLanguagesString) {
return parseRegexExcludedLanguages(excludedLanguagesString).some((regexExcludedLanguage) => {
if (regexExcludedLanguage.test(language))
return true;
});
}
function parseRegexExcludedLanguages(excludedLanguagesString) {
return excludedLanguagesString.split(",").map((regexLanguage) => new RegExp(`^${regexLanguage.trim().replace(/\*/g, ".+")}$`, "i"));
}
async function getFileContentLines(sourcePath, plugin) {
const file = plugin.app.vault.getAbstractFileByPath(sourcePath);
if (!file) {
console.error(`File not found: ${sourcePath}`);
return;
}
const fileContent = await plugin.app.vault.cachedRead(file).catch((error) => {
console.error(`Error reading file: ${error.message}`);
return "";
});
if (!fileContent)
return;
return fileContent.split(/\n/g);
}
function arraysEqual(array1, array2) {
return array1.length === array2.length && array1.every((el) => array2.includes(el));
}
// src/CodeblockDecorating.ts
function createHeader(codeblockParameters, themeSettings, languageIcons) {
const headerContainer = createDiv({ cls: `codeblock-styler-header-container${codeblockParameters.fold.enabled || codeblockParameters.title !== "" ? "-specific" : ""}` });
if (codeblockParameters.language !== "") {
const IconURL = getLanguageIcon(codeblockParameters.language, languageIcons);
if (IconURL !== null) {
const imageWrapper = createDiv();
const img = document.createElement("img");
img.classList.add("codeblock-styler-icon");
img.src = IconURL;
imageWrapper.appendChild(img);
headerContainer.appendChild(imageWrapper);
}
headerContainer.appendChild(createDiv({ cls: `codeblock-styler-header-language-tag-${codeblockParameters.language}`, text: getLanguageTag(codeblockParameters.language) }));
}
let headerText = "";
if (codeblockParameters.title !== "")
headerText = codeblockParameters.title;
else if (codeblockParameters.fold.enabled)
if (codeblockParameters.fold.placeholder !== "")
headerText = codeblockParameters.fold.placeholder;
else
headerText = themeSettings.header.collapsePlaceholder !== "" ? themeSettings.header.collapsePlaceholder : "Collapsed Code";
headerContainer.appendChild(createDiv({ cls: "codeblock-styler-header-text", text: headerText }));
return headerContainer;
}
function getLanguageTag(language) {
if (language in LANGUAGE_NAMES)
return LANGUAGE_NAMES[language];
else if (language !== "")
return language.charAt(0).toUpperCase() + language.slice(1);
return "";
}
function getLanguageIcon(language, languageIcons) {
language = getLanguageTag(language);
if (language in languageIcons)
return languageIcons[language];
return null;
}
function getLineClass(codeblockParameters, lineNumber, line) {
let classList = [];
if (codeblockParameters.highlights.default.lineNumbers.includes(lineNumber) || codeblockParameters.highlights.default.plainText.some((text) => line.indexOf(text) > -1) || codeblockParameters.highlights.default.regularExpressions.some((regExp) => regExp.test(line)))
classList.push("codeblock-styler-line-highlighted");
Object.entries(codeblockParameters.highlights.alternative).forEach(([alternativeHighlight, highlightedLines]) => {
if (highlightedLines.lineNumbers.includes(lineNumber) || highlightedLines.plainText.some((text) => line.indexOf(text) > -1) || highlightedLines.regularExpressions.some((regExp) => regExp.test(line)))
classList.push(`codeblock-styler-line-highlighted-${alternativeHighlight.replace(/\s+/g, "-").toLowerCase()}`);
});
if (classList.length === 0)
classList = ["codeblock-styler-line"];
return classList;
}
// src/EditingView.ts
function createCodeMirrorExtensions(settings, languageIcons) {
const codeblockLineNumberCharWidth = import_state.StateField.define({
create(state) {
return getCharWidth(state, state.field(import_obsidian2.editorEditorField).defaultCharacterWidth);
},
update(value, transaction) {
return getCharWidth(transaction.state, value);
}
});
const codeblockLines = import_view.ViewPlugin.fromClass(
class CodeblockLines {
constructor(view) {
this.settings = settings;
this.currentSettings = {
excludedCodeblocks: settings.excludedCodeblocks,
excludedLanguages: settings.excludedLanguages,
collapsePlaceholder: "",
alternativeHighlights: []
};
this.view = view;
this.decorations = import_state.RangeSet.empty;
this.buildDecorations(this.view);
this.mutationObserver = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.type === "attributes" && mutation.attributeName === "class" && (mutation.target.classList.contains("HyperMD-codeblock-begin") || mutation.target.classList.contains("HyperMD-codeblock_HyperMD-codeblock-bg") || mutation.target.classList.contains("HyperMD-codeblock-end"))) {
this.forceUpdate(this.view);
}
});
});
this.mutationObserver.observe(this.view.contentDOM, {
attributes: true,
childList: true,
subtree: true,
attributeFilter: ["class"]
// Only observe changes to the 'class' attribute
});
}
forceUpdate(view) {
this.view = view;
this.buildDecorations(this.view);
this.view.requestMeasure();
}
update(update) {
if (update.docChanged || update.viewportChanged || this.settings.excludedCodeblocks !== this.currentSettings.excludedCodeblocks || this.settings.excludedLanguages !== this.currentSettings.excludedLanguages || this.settings.currentTheme.settings.header.collapsePlaceholder !== this.currentSettings.collapsePlaceholder || !arraysEqual(Object.keys(this.settings.currentTheme.colors.light.highlights.alternativeHighlights), this.currentSettings.alternativeHighlights)) {
this.currentSettings = structuredClone({
excludedCodeblocks: this.settings.excludedCodeblocks,
excludedLanguages: this.settings.excludedLanguages,
collapsePlaceholder: this.settings.currentTheme.settings.header.collapsePlaceholder,
alternativeHighlights: Object.keys(this.settings.currentTheme.colors.light.highlights.alternativeHighlights)
});
this.buildDecorations(update.view);
}
}
buildDecorations(view) {
if (!view.visibleRanges || view.visibleRanges.length === 0 || ignore(view.state)) {
this.decorations = import_state.RangeSet.empty;
return true;
}
const decorations = [];
const codeblocks = findUnduplicatedCodeblocks(view);
const settings2 = this.settings;
for (const codeblock of codeblocks) {
let codeblockParameters;
let excludedCodeblock = false;
let lineNumber = 0;
let maxLineNum = 0;
let lineNumberMargin = 0;
(0, import_language.syntaxTree)(view.state).iterate({
from: codeblock.from,
to: codeblock.to,
enter(syntaxNode) {
const line = view.state.doc.lineAt(syntaxNode.from);
const lineText = view.state.sliceDoc(line.from, line.to);
const startLine = syntaxNode.type.name.includes("HyperMD-codeblock-begin");
const endLine = syntaxNode.type.name.includes("HyperMD-codeblock-end");
if (startLine) {
codeblockParameters = parseCodeblockParameters(trimParameterLine(lineText), settings2.currentTheme);
excludedCodeblock = isExcluded(codeblockParameters.language, [settings2.excludedCodeblocks, settings2.excludedLanguages].join(",")) || codeblockParameters.ignore;
lineNumber = 0;
let lineNumberCount = line.number + 1;
while (!view.state.doc.line(lineNumberCount).text.startsWith("```") || view.state.doc.line(lineNumberCount).text.indexOf("```", 3) !== -1) {
lineNumberCount += 1;
}
maxLineNum = lineNumberCount - line.number - 1 + codeblockParameters.lineNumbers.offset;
if (maxLineNum.toString().length > 2)
lineNumberMargin = maxLineNum.toString().length * view.state.field(codeblockLineNumberCharWidth);
else
lineNumberMargin = void 0;
}
if (excludedCodeblock)
return;
if (syntaxNode.type.name.includes("HyperMD-codeblock")) {
decorations.push(import_view.Decoration.line({ attributes: { style: `--line-number-gutter-width: ${lineNumberMargin ? lineNumberMargin + "px" : "calc(var(--line-number-gutter-min-width) - 12px)"}`, class: (settings2.specialLanguages.some((regExp) => new RegExp(regExp).test(codeblockParameters.language)) || startLine || endLine ? "codeblock-styler-line" : getLineClass(codeblockParameters, lineNumber, line.text).join(" ")) + (["^$"].concat(settings2.specialLanguages).some((regExp) => new RegExp(regExp).test(codeblockParameters.language)) ? "" : ` language-${codeblockParameters.language}`) } }).range(syntaxNode.from));
decorations.push(import_view.Decoration.line({}).range(syntaxNode.from));
decorations.push(import_view.Decoration.widget({ widget: new LineNumberWidget(lineNumber, codeblockParameters, maxLineNum, startLine || endLine) }).range(syntaxNode.from));
lineNumber++;
}
}
});
}
this.decorations = import_state.RangeSet.of(decorations, true);
}
destroy() {
this.mutationObserver.disconnect();
}
},
{
decorations: (value) => value.decorations
}
);
const codeblockHeader = import_state.StateField.define({
create(state) {
return import_view.Decoration.none;
},
update(value, transaction) {
if (ignore(transaction.state))
return import_view.Decoration.none;
const builder = new import_state.RangeSetBuilder();
let codeblockParameters;
let startLine = true;
let startDelimiterLength = 3;
for (let i2 = 1; i2 < transaction.state.doc.lines; i2++) {
const line = transaction.state.doc.line(i2);
const lineText = line.text.toString();
let currentDelimiterLength = testOpeningLine(lineText);
if (currentDelimiterLength) {
if (startLine) {
startLine = false;
startDelimiterLength = currentDelimiterLength;
codeblockParameters = parseCodeblockParameters(trimParameterLine(lineText), settings.currentTheme);
if (!isExcluded(codeblockParameters.language, [settings.excludedCodeblocks, settings.excludedLanguages].join(",")) && !codeblockParameters.ignore)
if (!settings.specialLanguages.some((regExp) => new RegExp(regExp).test(codeblockParameters.language)))
builder.add(line.from, line.from, import_view.Decoration.widget({ widget: new HeaderWidget(codeblockParameters, settings.currentTheme.settings, languageIcons), block: true }));
else
continue;
} else {
if (currentDelimiterLength === startDelimiterLength)
startLine = true;
}
}
}
return builder.finish();
},
provide(field) {
return import_view.EditorView.decorations.from(field);
}
});
const codeblockCollapse = import_state.StateField.define({
create(state) {
if (ignore(state))
return import_view.Decoration.none;
const builder = new import_state.RangeSetBuilder();
let codeblockParameters;
let collapseStart = null;
let collapseEnd = null;
let startLine = true;
let startDelimiterLength = 3;
for (let i2 = 1; i2 < state.doc.lines; i2++) {
const line = state.doc.line(i2);
const lineText = line.text.toString();
let currentDelimiterLength = testOpeningLine(lineText);
if (currentDelimiterLength) {
if (startLine) {
startLine = false;
startDelimiterLength = currentDelimiterLength;
codeblockParameters = parseCodeblockParameters(trimParameterLine(lineText), settings.currentTheme);
if (!isExcluded(codeblockParameters.language, [settings.excludedCodeblocks, settings.excludedLanguages].join(",")) && !codeblockParameters.ignore && codeblockParameters.fold.enabled)
if (!settings.specialLanguages.some((regExp) => new RegExp(regExp).test(codeblockParameters.language)))
collapseStart = line;
else
continue;
} else {
if (currentDelimiterLength === startDelimiterLength) {
startLine = true;
if (collapseStart)
collapseEnd = line;
}
}
}
if (collapseStart && collapseEnd) {
builder.add(collapseStart.from, collapseEnd.to, import_view.Decoration.replace({ effect: collapse.of([import_view.Decoration.replace({ block: true }).range(collapseStart.from, collapseEnd.to)]), block: true, side: -1 }));
collapseStart = null;
collapseEnd = null;
}
}
return builder.finish();
},
update(value, transaction) {
value = value.map(transaction.changes);
for (const effect of transaction.effects) {
if (effect.is(collapse))
value = value.update({ add: effect.value, sort: true });
else if (effect.is(uncollapse))
value = value.update({ filter: effect.value });
}
return value;
},
provide(field) {
return import_view.EditorView.decorations.from(field);
}
});
class LineNumberWidget extends import_view.WidgetType {
constructor(lineNumber, codeblockParameters, maxLineNum, empty) {
super();
this.lineNumber = lineNumber;
this.codeblockParameters = codeblockParameters;
this.maxLineNum = maxLineNum;
this.empty = empty;
}
eq(other) {
return this.lineNumber === other.lineNumber && this.codeblockParameters === other.codeblockParameters && this.maxLineNum === other.maxLineNum;
}
toDOM(view) {
let lineNumberDisplay = "";
if (!this.codeblockParameters.lineNumbers.alwaysEnabled && this.codeblockParameters.lineNumbers.alwaysDisabled)
lineNumberDisplay = "-hide";
else if (this.codeblockParameters.lineNumbers.alwaysEnabled && !this.codeblockParameters.lineNumbers.alwaysDisabled)
lineNumberDisplay = "-specific";
return createSpan({ attr: { style: this.maxLineNum.toString().length > (this.lineNumber + this.codeblockParameters.lineNumbers.offset).toString().length ? "width: var(--line-number-gutter-width);" : "" }, cls: `codeblock-styler-line-number${lineNumberDisplay}`, text: this.empty ? "" : (this.lineNumber + this.codeblockParameters.lineNumbers.offset).toString() });
}
}
class HeaderWidget extends import_view.WidgetType {
constructor(codeblockParameters, themeSettings, languageIcons2) {
super();
this.codeblockParameters = codeblockParameters;
this.themeSettings = themeSettings;
this.languageIcons = languageIcons2;
this.mutationObserver = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.target.hasAttribute("data-clicked"))
collapseOnClick(this.view, mutation.target);
});
});
}
eq(other) {
return this.codeblockParameters == other.codeblockParameters;
}
toDOM(view) {
this.view = view;
const headerContainer = createHeader(this.codeblockParameters, this.themeSettings, this.languageIcons);
if (this.codeblockParameters.language !== "")
headerContainer.classList.add(`language-${this.codeblockParameters.language}`);
headerContainer.addEventListener("mousedown", handleMouseDown);
this.mutationObserver.observe(headerContainer, {
attributes: true
});
return headerContainer;
}
destroy(dom) {
dom.removeAttribute("data-clicked");
dom.removeEventListener("mousedown", handleMouseDown);
this.mutationObserver.disconnect();
}
ignoreEvent() {
return false;
}
}
function collapseOnClick(view, target) {
var _a;
const position = view.posAtDOM(target);
let folded = false;
(_a = view.state.field(codeblockCollapse, false)) == null ? void 0 : _a.between(position, position, () => {
folded = true;
});
let collapseStart = null;
let collapseEnd = null;
let startLine = true;
let startDelimiterLength = 3;
for (let i2 = 1; i2 < view.state.doc.lines; i2++) {
const line = view.state.doc.line(i2);
const lineText = line.text.toString();
let currentDelimiterLength = testOpeningLine(lineText);
if (currentDelimiterLength) {
if (startLine) {
startDelimiterLength = currentDelimiterLength;
startLine = false;
if (position === line.from)
collapseStart = line;
} else {
if (currentDelimiterLength === startDelimiterLength) {
startLine = true;
if (collapseStart)
collapseEnd = line;
}
}
}
if (collapseStart && collapseEnd) {
if (folded)
view.dispatch({ effects: uncollapse.of((from, to) => {
return to <= collapseStart.from || from >= collapseEnd.to;
}) });
else
view.dispatch({ effects: collapse.of([import_view.Decoration.replace({ block: true }).range(collapseStart.from, collapseEnd.to)]) });
view.requestMeasure();
collapseStart = null;
collapseEnd = null;
}
}
}
const collapse = import_state.StateEffect.define();
const uncollapse = import_state.StateEffect.define();
function handleMouseDown(event) {
this.setAttribute("data-clicked", "true");
}
return [codeblockLineNumberCharWidth, codeblockLines, codeblockHeader, codeblockCollapse];
}
function findUnduplicatedCodeblocks(view) {
const codeblocks = findVisibleCodeblocks(view);
const unduplicatedCodeblocks = [];
for (let i2 = 0; i2 < codeblocks.length; i2++)
if (i2 === 0 || codeblocks[i2].from !== codeblocks[i2 - 1].from)
unduplicatedCodeblocks.push(codeblocks[i2]);
return unduplicatedCodeblocks;
}
function findVisibleCodeblocks(view) {
return findCodeblocks(view).filter((codeblock) => {
return view.visibleRanges.some((visibleRange) => codeblock.from < visibleRange.to && codeblock.to > visibleRange.from);
});
}
function findCodeblocks(view) {
const codeblocks = [];
(0, import_language.syntaxTree)(view.state).iterate({
enter: (syntaxNode) => {
if (syntaxNode.type.name.includes("HyperMD-codeblock-begin") || syntaxNode.type.name === "HyperMD-codeblock_HyperMD-codeblock-bg" || syntaxNode.type.name.includes("HyperMD-codeblock-end"))
codeblocks.push(syntaxNode);
}
});
return codeblocks;
}
function getCharWidth(state, default_value) {
let charWidths = Array.from(state.field(import_obsidian2.editorEditorField).contentDOM.querySelectorAll(".HyperMD-codeblock-end")).reduce((result, beginningElement) => {
let nextElement = beginningElement.previousElementSibling;
if (!nextElement)
return result;
let lineNumberElement = nextElement.querySelector("[class^='codeblock-styler-line-number']");
if (!lineNumberElement || lineNumberElement.innerText.length <= 2)
return result;
let computedStyles = window.getComputedStyle(lineNumberElement, null);
result.push((lineNumberElement.getBoundingClientRect().width - parseFloat(computedStyles.paddingLeft) - parseFloat(computedStyles.paddingRight)) / lineNumberElement.innerText.length);
return result;
}, []);
if (charWidths.length === 0)
return default_value;
console.log("result");
return charWidths.reduce((result, value) => result + value, 0) / charWidths.length;
}
function ignore(state) {
var _a, _b, _c, _d;
if (!state.field(import_obsidian2.editorLivePreviewField))
return true;
const filePath = (_b = (_a = state.field(import_obsidian2.editorInfoField)) == null ? void 0 : _a.file) == null ? void 0 : _b.path;
if (typeof filePath !== "undefined")
return ((_d = (_c = this.app.metadataCache.getCache(filePath)) == null ? void 0 : _c.frontmatter) == null ? void 0 : _d["codeblock-styler-ignore"]) === true;
return false;
}
// src/ReadingView.ts
var import_obsidian3 = require("obsidian");
async function readingViewPostProcessor(element, { sourcePath, getSectionInfo, frontmatter }, plugin, editingEmbeds = false) {
var _a;
const cache = plugin.app.metadataCache.getCache(sourcePath);
if (sourcePath === "" || ((_a = frontmatter != null ? frontmatter : cache == null ? void 0 : cache.frontmatter) == null ? void 0 : _a["codeblock-styler-ignore"]) === true)
return;
await sleep(50);
if (!element)
console.log("oh no!", element);
let codeblockPreElements;
editingEmbeds = editingEmbeds || Boolean(element.matchParent(".cm-embed-block"));
const specific = !element.querySelector(".view-content > *");
if (!editingEmbeds && !specific)
codeblockPreElements = Array.from(element.querySelectorAll(".markdown-reading-view pre:not(.frontmatter)"));
else if (!editingEmbeds && specific)
codeblockPreElements = Array.from(element.querySelectorAll("pre:not(.frontmatter)"));
else if (editingEmbeds && !specific)
codeblockPreElements = Array.from(element.querySelectorAll(".markdown-source-view .cm-embed-block pre:not(.frontmatter)"));
else
codeblockPreElements = [];
if (codeblockPreElements.length === 0 && !(editingEmbeds && specific))
return;
if (!editingEmbeds) {
const readingViewParent = element.matchParent(".view-content > .markdown-reading-view > .markdown-preview-view > .markdown-preview-section");
if (readingViewParent)
plugin.readingStylingMutationObserver.observe(readingViewParent, {
childList: true,
attributes: false,
characterData: false,
subtree: false
});
}
const codeblockSectionInfo = getSectionInfo(codeblockPreElements[0]);
if (codeblockSectionInfo && specific && !editingEmbeds)
renderSpecificReadingSection(codeblockPreElements, sourcePath, codeblockSectionInfo, plugin);
else if (specific) {
if (!(!editingEmbeds && element.classList.contains("admonition-content")))
await readingViewPostProcessor(element.matchParent(".view-content"), { sourcePath, getSectionInfo, frontmatter }, plugin, editingEmbeds);
} else
renderDocument(codeblockPreElements, sourcePath, cache, editingEmbeds, plugin);
}
async function renderSpecificReadingSection(codeblockPreElements, sourcePath, codeblockSectionInfo, plugin) {
const codeblocksParameters = (await parseCodeblockSource(Array.from({ length: codeblockSectionInfo.lineEnd - codeblockSectionInfo.lineStart + 1 }, (_2, num) => num + codeblockSectionInfo.lineStart).map((lineNumber) => codeblockSectionInfo.text.split("\n")[lineNumber]), sourcePath, plugin)).codeblocksParameters;
if (codeblockPreElements.length !== codeblocksParameters.length)
return;
for (let [key, codeblockPreElement] of codeblockPreElements.entries()) {
let codeblockParameters = codeblocksParameters[key];
let codeblockCodeElement = codeblockPreElement.querySelector("pre > code");
if (!codeblockCodeElement)
return;
if (Array.from(codeblockCodeElement.classList).some((className) => /^language-\S+/.test(className)))
while (!codeblockCodeElement.classList.contains("is-loaded"))
await sleep(2);
if (isExcluded(codeblockParameters.language, plugin.settings.excludedLanguages) || codeblockParameters.ignore)
continue;
await remakeCodeblock(codeblockCodeElement, codeblockPreElement, codeblockParameters, plugin);
}
}
async function renderDocument(codeblockPreElements, sourcePath, cache, editingEmbeds, plugin) {
const fileContentLines = await getFileContentLines(sourcePath, plugin);
if (!fileContentLines)
return;
let codeblocksParameters = [];
if (typeof (cache == null ? void 0 : cache.sections) !== "undefined") {
for (const section of cache.sections) {
if (!editingEmbeds || section.type === "code" || section.type === "callout") {
const parsedCodeblocksParameters = await parseCodeblockSource(fileContentLines.slice(section.position.start.line, section.position.end.line + 1), sourcePath, plugin);
if (!editingEmbeds || parsedCodeblocksParameters.nested)
codeblocksParameters = codeblocksParameters.concat(parsedCodeblocksParameters.codeblocksParameters);
}
}
} else {
console.error(`Metadata cache not found for file: ${sourcePath}`);
return;
}
if (codeblockPreElements.length !== codeblocksParameters.length)
return;
try {
for (let [key, codeblockPreElement] of Array.from(codeblockPreElements).entries()) {
let codeblockParameters = codeblocksParameters[key];
let codeblockCodeElement = codeblockPreElement.querySelector("pre > code");
if (!codeblockCodeElement)
return;
if (Array.from(codeblockCodeElement.classList).some((className) => /^language-\S+/.test(className)))
while (!codeblockCodeElement.classList.contains("is-loaded"))
await sleep(2);
if (codeblockCodeElement.querySelector("code [class*='codeblock-styler-line']"))
continue;
if (isExcluded(codeblockParameters.language, plugin.settings.excludedLanguages) || codeblockParameters.ignore)
continue;
await remakeCodeblock(codeblockCodeElement, codeblockPreElement, codeblockParameters, plugin);
}
} catch (error) {
console.error(`Error rendering document: ${error.message}`);
return;
}
}
async function remakeCodeblock(codeblockCodeElement, codeblockPreElement, codeblockParameters, plugin) {
plugin.executeCodeMutationObserver.observe(codeblockPreElement, {
childList: true,
subtree: true,
attributes: true,
characterData: true
});
codeblockPreElement.classList.add(`codeblock-styler-pre`);
if (codeblockParameters.language)
codeblockPreElement.classList.add(`language-${codeblockParameters.language}`);
if (codeblockPreElement.parentElement)
codeblockPreElement.parentElement.classList.add(`codeblock-styler-pre-parent`);
const headerContainer = createHeader(codeblockParameters, plugin.settings.currentTheme.settings, plugin.languageIcons);
codeblockPreElement.insertBefore(headerContainer, codeblockPreElement.childNodes[0]);
headerContainer.addEventListener("click", () => {
codeblockPreElement.classList.toggle("codeblock-styler-codeblock-collapsed");
if (codeblockCodeElement.style.maxHeight)
codeblockCodeElement.style.maxHeight = "";
else
codeblockCodeElement.style.maxHeight = "var(--true-height)";
const executeCodeOutput = codeblockPreElement.querySelector("pre > code ~ code.language-output");
if (executeCodeOutput && executeCodeOutput.style.display !== "none") {
if (executeCodeOutput.style.maxHeight)
executeCodeOutput.style.maxHeight = "";
else
executeCodeOutput.style.maxHeight = "var(--true-height)";
}
});
if (codeblockParameters.lineUnwrap.alwaysEnabled) {
codeblockCodeElement.style.setProperty("--line-wrapping", "pre");
if (codeblockParameters.lineUnwrap.activeWrap)
codeblockCodeElement.style.setProperty("--line-active-wrapping", "pre-wrap");
else
codeblockCodeElement.style.setProperty("--line-active-wrapping", "pre");
} else if (codeblockParameters.lineUnwrap.alwaysDisabled)
codeblockCodeElement.style.setProperty("--line-wrapping", "pre-wrap");
setTimeout(() => {
setCollapseStyling(codeblockPreElement, codeblockCodeElement, codeblockParameters.fold.enabled);
}, PRIMARY_DELAY);
if (codeblockCodeElement.querySelector("code [class*='codeblock-styler-line']"))
return;
let codeblockLines = codeblockCodeElement.innerHTML.split("\n");
if (codeblockLines.length == 1)
codeblockLines = ["", ""];
codeblockCodeElement.innerHTML = "";
codeblockLines.forEach((line, index) => {
if (index === codeblockLines.length - 1)
return;
const lineNumber = index + 1;
const lineWrapper = document.createElement("div");
getLineClass(codeblockParameters, lineNumber, line).forEach((lineClass) => {
lineWrapper.classList.add(lineClass);
});
codeblockCodeElement.appendChild(lineWrapper);
let lineNumberDisplay = "";
if (!codeblockParameters.lineNumbers.alwaysEnabled && codeblockParameters.lineNumbers.alwaysDisabled)
lineNumberDisplay = "-hide";
else if (codeblockParameters.lineNumbers.alwaysEnabled && !codeblockParameters.lineNumbers.alwaysDisabled)
lineNumberDisplay = "-specific";
lineWrapper.appendChild(createDiv({ cls: `codeblock-styler-line-number${lineNumberDisplay}`, text: (lineNumber + codeblockParameters.lineNumbers.offset).toString() }));
lineWrapper.appendChild(createDiv({ cls: `codeblock-styler-line-text`, text: (0, import_obsidian3.sanitizeHTMLToDom)(line !== "" ? line : "<br>") }));
});
}
function remeasureReadingView(element, primary_delay = PRIMARY_DELAY) {
const codeblockPreElements = element.querySelectorAll("pre:not(.frontmatter)");
codeblockPreElements.forEach((codeblockPreElement) => {
let codeblockCodeElement = codeblockPreElement.querySelector("pre > code");
if (!codeblockCodeElement)
return;
setTimeout(() => {
setCollapseStyling(codeblockPreElement, codeblockCodeElement, codeblockPreElement.classList.contains("codeblock-styler-codeblock-collapsed"));
}, primary_delay);
});
}
function setCollapseStyling(codeblockPreElement, codeblockCodeElement, fold) {
codeblockCodeElement.style.setProperty("--true-height", `calc(${codeblockCodeElement.scrollHeight}px + 2 * var(--code-padding)`);
codeblockCodeElement.style.maxHeight = "var(--true-height)";
codeblockCodeElement.style.whiteSpace = "var(--line-wrapping)";
if (fold) {
codeblockPreElement.classList.add("codeblock-styler-codeblock-collapsed");
codeblockCodeElement.style.maxHeight = "";
}
}
function destroyReadingModeElements() {
document.querySelectorAll(".codeblock-styler-pre-parent").forEach((codeblockPreParent) => {
codeblockPreParent.classList.remove("codeblock-styler-pre-parent");
});
[
...Array.from(document.querySelectorAll("pre.codeblock-styler-pre div[class^='codeblock-styler-header-container']")),
...Array.from(document.querySelectorAll("pre.codeblock-styler-pre div[class^='codeblock-styler-line-number']"))
].forEach((element) => element.remove());
document.querySelectorAll("pre.codeblock-styler-pre").forEach((codeblockPreElement) => {
codeblockPreElement.classList.remove("codeblock-styler-pre");
codeblockPreElement.classList.remove("codeblock-styler-codeblock-collapsed");
codeblockPreElement.style.removeProperty("--true-height");
codeblockPreElement.style.removeProperty("--line-number-margin");
codeblockPreElement.style.removeProperty("max-height");
codeblockPreElement.style.removeProperty("white-space");
});
document.querySelectorAll("pre > code ~ code.language-output").forEach((executeCodeOutput) => {
executeCodeOutput.classList.remove("execute-code-output");
executeCodeOutput.style.removeProperty("--true-height");
executeCodeOutput.style.removeProperty("max-height");
});
document.querySelectorAll("pre > code:nth-of-type(1)").forEach((codeblockCodeElement) => {
codeblockCodeElement.style.removeProperty("--true-height");
codeblockCodeElement.style.removeProperty("--line-wrapping");
codeblockCodeElement.style.removeProperty("--line-active-wrapping");
codeblockCodeElement.style.removeProperty("max-height");
codeblockCodeElement.style.removeProperty("white-space");
codeblockCodeElement.innerHTML = Array.from(codeblockCodeElement.querySelectorAll('code > [class*="codeblock-styler-line"]')).reduce((reconstructedCodeblockLines, codeblockLine) => {
const codeblockLineText = codeblockLine.firstChild;
if (codeblockLineText)
reconstructedCodeblockLines.push(codeblockLineText.innerHTML);
return reconstructedCodeblockLines;
}, []).join("\n") + "\n";
});
}
var readingStylingMutationObserver = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.addedNodes.length !== 0)
mutation.addedNodes.forEach((addedNode) => remeasureReadingView(addedNode));
});
});
var executeCodeMutationObserver = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
var _a, _b;
if (mutation.type === "attributes" && mutation.attributeName === "style" && mutation.target.tagName === "CODE" && mutation.target.classList.contains("execute-code-output")) {
const executeCodeOutput = mutation.target;
if ((_a = executeCodeOutput.parentElement) == null ? void 0 : _a.classList.contains("codeblock-styler-codeblock-collapsed"))
executeCodeOutput.style.maxHeight = "";
} else if (mutation.type === "childList" && mutation.target.tagName === "CODE" && mutation.target.classList.contains("execute-code-output")) {
const executeCodeOutput = mutation.target;
setTimeout(() => {
executeCodeOutput.style.setProperty("--true-height", `calc(${executeCodeOutput.scrollHeight}px + 3.5 * var(--code-padding) + var(--header-separator-width)`);
}, PRIMARY_DELAY);
} else if (mutation.type === "attributes" && mutation.attributeName === "style" && mutation.target.tagName === "INPUT" && ((_b = mutation.target.parentElement) == null ? void 0 : _b.tagName) === "CODE") {
const executeCodeOutput = mutation.target.parentElement;
if (executeCodeOutput) {
setTimeout(() => {
executeCodeOutput.style.setProperty("--true-height", `calc(${executeCodeOutput.scrollHeight}px + 3.5 * var(--code-padding) + var(--header-separator-width)`);
}, SECONDARY_DELAY);
}
} else if (mutation.type === "childList" && mutation.target.tagName === "PRE") {
const executeCodeOutput = mutation.target.querySelector("pre > code ~ code.language-output");
if (executeCodeOutput) {
executeCodeOutput.classList.add("execute-code-output");
if (!executeCodeOutput.style.maxHeight) {
setTimeout(() => {
executeCodeOutput.style.setProperty("--true-height", `calc(${executeCodeOutput.scrollHeight}px + 3.5 * var(--code-padding) + var(--header-separator-width)`);
executeCodeOutput.style.maxHeight = "var(--true-height)";
executeCodeOutput.style.whiteSpace = "var(--line-wrapping)";
}, PRIMARY_DELAY);
}
}
}
});
});
// src/main.ts
var CodeblockStylerPlugin = class extends import_obsidian4.Plugin {
async onload() {
await this.loadSettings();
const settingsTab = new SettingsTab(this.app, this);
this.addSettingTab(settingsTab);
document.body.classList.add("codeblock-styler");
updateStyling(this.settings, this.app);
this.languageIcons = Object.keys(LANGUAGE_ICONS_DATA).reduce((result, key) => {
result[key] = URL.createObjectURL(new Blob([`<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32">${LANGUAGE_ICONS_DATA[key]}</svg>`], { type: "image/svg+xml" }));
return result;
}, {});
this.readingStylingMutationObserver = readingStylingMutationObserver;
this.executeCodeMutationObserver = executeCodeMutationObserver;
this.registerMarkdownPostProcessor(async (element, context) => {
await readingViewPostProcessor(element, context, this);
});
await sleep(200);
this.app.workspace.iterateRootLeaves((leaf) => {
if (leaf.view instanceof import_obsidian4.MarkdownView && leaf.view.getMode() === "preview")
leaf.view.previewMode.rerender(true);
});
this.registerEditorExtension(createCodeMirrorExtensions(this.settings, this.languageIcons));
this.registerEvent(this.app.workspace.on("css-change", () => updateStyling(this.settings, this.app), this));
console.log("Loaded plugin: CodeBlock Styler");
}
onunload() {
this.readingStylingMutationObserver.disconnect();
this.executeCodeMutationObserver.disconnect();
removeStylesAndClasses();
destroyReadingModeElements();
for (const url of Object.values(this.languageIcons))
URL.revokeObjectURL(url);
console.log("Unloaded plugin: CodeBlock Styler");
}
async loadSettings() {
this.settings = Object.assign({}, structuredClone(DEFAULT_SETTINGS), await this.loadData());
}
async saveSettings() {
await this.saveData(this.settings);
this.app.workspace.updateOptions();
updateStyling(this.settings, this.app);
}
};
/*! Bundled license information:
@simonwep/pickr/dist/pickr.min.js:
(*! Pickr 1.8.2 MIT | https://github.com/Simonwep/pickr *)
*/
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibm9kZV9tb2R1bGVzL0BzaW1vbndlcC9waWNrci9kaXN0L3dlYnBhY2s6L3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsICJub2RlX21vZHVsZXMvQHNpbW9ud2VwL3BpY2tyL2Rpc3Qvd2VicGFjazovd2VicGFjay9ib290c3RyYXAiLCAibm9kZV9tb2R1bGVzL0BzaW1vbndlcC9waWNrci9kaXN0L3dlYnBhY2s6L3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsICJub2RlX21vZHVsZXMvQHNpbW9ud2VwL3BpY2tyL2Rpc3Qvd2VicGFjazovd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsICJub2RlX21vZHVsZXMvQHNpbW9ud2VwL3BpY2tyL2Rpc3Qvd2VicGFjazovd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsICJub2RlX21vZHVsZXMvQHNpbW9ud2VwL3BpY2tyL2Rpc3Qvd2VicGFjazovc3JjL2pzL3V0aWxzL3V0aWxzLmpzIiwgIm5vZGVfbW9kdWxlcy9Ac2ltb253ZXAvcGlja3IvZGlzdC93ZWJwYWNrOi9zcmMvanMvdXRpbHMvY29sb3IuanMiLCAibm9kZV9tb2R1bGVzL0BzaW1vbndlcC9waWNrci9kaXN0L3dlYnBhY2s6L3NyYy9qcy91dGlscy9oc3ZhY29sb3IuanMiLCAibm9kZV9tb2R1bGVzL0BzaW1vbndlcC9waWNrci9kaXN0L3dlYnBhY2s6L3NyYy9qcy9saWJzL21vdmVhYmxlLmpzIiwgIm5vZGVfbW9kdWxlcy9Ac2ltb253ZXAvcGlja3IvZGlzdC93ZWJwYWNrOi9zcmMvanMvbGlicy9zZWxlY3RhYmxlLmpzIiwgIm5vZGVfbW9kdWxlcy9Ac2ltb253ZXAvcGlja3IvZGlzdC93ZWJwYWNrOi9zcmMvanMvdGVtcGxhdGUuanMiLCAibm9kZV9tb2R1bGVzL0BzaW1vbndlcC9waWNrci9kaXN0L3NyYy9OYW5vUG9wLnRzIiwgIm5vZGVfbW9kdWxlcy9Ac2ltb253ZXAvcGlja3IvZGlzdC93ZWJwYWNrOi9zcmMvanMvcGlja3IuanMiLCAic3JjL21haW4udHMiLCAic3JjL1NldHRpbmdzLnRzIiwgInNyYy9TZXR0aW5nc1RhYi50cyIsICJub2RlX21vZHVsZXMvY29sb3J0cmFuc2xhdG9yL2VzbS9pbmRleC5qcyIsICJzcmMvQXBwbHlTdHlsaW5nLnRzIiwgInNyYy9FZGl0aW5nVmlldy50cyIsICJzcmMvQ29kZWJsb2NrUGFyc2luZy50cyIsICJzcmMvQ29kZWJsb2NrRGVjb3JhdGluZy50cyIsICJzcmMvUmVhZGluZ1ZpZXcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIlBpY2tyXCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcIlBpY2tyXCJdID0gZmFjdG9yeSgpO1xufSkoc2VsZiwgZnVuY3Rpb24oKSB7XG5yZXR1cm4gIiwgIi8vIFRoZSByZXF1aXJlIHNjb3BlXG52YXIgX193ZWJwYWNrX3JlcXVpcmVfXyA9IHt9O1xuXG4iLCAiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwgIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCAiLy8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5yID0gKGV4cG9ydHMpID0+IHtcblx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5cdH1cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbn07IiwgIi8qIGVzbGludC1kaXNhYmxlIHByZWZlci1yZXN0LXBhcmFtcyAqL1xyXG5mdW5jdGlvbiBldmVudExpc3RlbmVyKG1ldGhvZCwgZWxlbWVudHMsIGV2ZW50cywgZm4sIG9wdGlvbnMgPSB7fSkge1xyXG5cclxuICAgIC8vIE5vcm1hbGl6ZSBhcnJheVxyXG4gICAgaWYgKGVsZW1lbnRzIGluc3RhbmNlb2YgSFRNTENvbGxlY3Rpb24gfHwgZWxlbWVudHMgaW5zdGFuY2VvZiBOb2RlTGlzdCkge1xyXG4gICAgICAgIGVsZW1lbnRzID0gQXJyYXkuZnJvbShlbGVtZW50cyk7XHJcbiAgICB9IGVsc2UgaWYgKCFBcnJheS5pc0FycmF5KGVsZW1lbnRzKSkge1xyXG4gICAgICAgIGVsZW1lbnRzID0gW2VsZW1lbnRzXTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZXZlbnRzKSkge1xyXG4gICAgICAgIGV2ZW50cyA9IFtldmVudHNdO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgZWwgb2YgZWxlbWVudHMpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGV2IG9mIGV2ZW50cykge1xyXG4gICAgICAgICAgICBlbFttZXRob2RdKGV2LCBmbiwge2NhcHR1cmU6IGZhbHNlLCAuLi5vcHRpb25zfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIGV2ZW50KHMpIHRvIGVsZW1lbnQocykuXHJcbiAqIEBwYXJhbSBlbGVtZW50cyBET00tRWxlbWVudHNcclxuICogQHBhcmFtIGV2ZW50cyBFdmVudCBuYW1lc1xyXG4gKiBAcGFyYW0gZm4gQ2FsbGJhY2tcclxuICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWwgb3B0aW9uc1xyXG4gKiBAcmV0dXJuIEFycmF5IHBhc3NlZCBhcmd1bWVudHNcclxuICovXHJcbmV4cG9ydCBjb25zdCBvbiA9IGV2ZW50TGlzdGVuZXIuYmluZChudWxsLCAnYWRkRXZlbnRMaXN0ZW5lcicpO1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBldmVudChzKSBmcm9tIGVsZW1lbnQocykuXHJcbiAqIEBwYXJhbSBlbGVtZW50cyBET00tRWxlbWVudHNcclxuICogQHBhcmFtIGV2ZW50cyBFdmVudCBuYW1lc1xyXG4gKiBAcGFyYW0gZm4gQ2FsbGJhY2tcclxuICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWwgb3B0aW9uc1xyXG4gKiBAcmV0dXJuIEFycmF5IHBhc3NlZCBhcmd1bWVudHNcclxuICovXHJcbmV4cG9ydCBjb25zdCBvZmYgPSBldmVudExpc3RlbmVyLmJpbmQobnVsbCwgJ3JlbW92ZUV2ZW50TGlzdGVuZXInKTtcclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIGFuIERPTS1FbGVtZW50IG91dCBvZiBhIHN0cmluZyAoU2luZ2xlIGVsZW1lbnQpLlxyXG4gKiBAcGFyYW0gaHRtbCBIVE1MIHJlcHJlc2VudGluZyBhIHNpbmdsZSBlbGVtZW50XHJcbiAqIEByZXR1cm5zIHtFbGVtZW50IHwgbnVsbH0gVGhlIGVsZW1lbnQuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWxlbWVudEZyb21TdHJpbmcoaHRtbCkge1xyXG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBkaXYuaW5uZXJIVE1MID0gaHRtbC50cmltKCk7XHJcbiAgICByZXR1cm4gZGl2LmZpcnN0RWxlbWVudENoaWxkO1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIG5ldyBodG1sIGVsZW1lbnQsIGV2ZXJ5IGVsZW1lbnQgd2hpY2ggaGFzXHJcbiAqIGEgJzpyZWYnIGF0dHJpYnV0ZSB3aWxsIGJlIHNhdmVkIGluIGEgb2JqZWN0ICh3aGljaCB3aWxsIGJlIHJldHVybmVkKVxyXG4gKiB3aGVyZSB0aGUgdmFsdWUgb2YgJzpyZWYnIGlzIHRoZSBvYmplY3Qta2V5IGFuZCB0aGUgdmFsdWUgdGhlIEhUTUxFbGVtZW50LlxyXG4gKlxyXG4gKiBJdCdzIHBvc3NpYmxlIHRvIGNyZWF0ZSBhIGhpZXJhcmNoeSBpZiB5b3UgYWRkIGEgJzpvYmonIGF0dHJpYnV0ZS4gRXZlcnlcclxuICogc2libGluZyB3aWxsIGJlIGFkZGVkIHRvIHRoZSBvYmplY3Qgd2hpY2ggd2lsbCBnZXQgdGhlIG5hbWUgZnJvbSB0aGUgJ2RhdGEtY29uJyBhdHRyaWJ1dGUuXHJcbiAqXHJcbiAqIElmIHlvdSB3YW50IHRvIGNyZWF0ZSBhbiBBcnJheSBvdXQgb2YgbXVsdGlwbGUgZWxlbWVudHMsIHlvdSBjYW4gdXNlIHRoZSAnOmFycicgYXR0cmlidXRlLFxyXG4gKiB0aGUgdmFsdWUgZGVmaW5lcyB0aGUga2V5IGFuZCBhbGwgZWxlbWVudHMsIHdoaWNoIGhhcyB0aGUgc2FtZSBwYXJlbnQgYW5kIHRoZSBzYW1lICdkYXRhLWFycicgYXR0cmlidXRlLFxyXG4gKiB3b3VsZCBiZSBhZGRlZCB0byBpdC5cclxuICpcclxuICogQHBhcmFtIHN0ciAtIFRoZSBIVE1MIFN0cmluZy5cclxuICovXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJvbVRlbXBsYXRlKHN0cikge1xyXG5cclxuICAgIC8vIFJlbW92ZXMgYW4gYXR0cmlidXRlIGZyb20gYSBIVE1MRWxlbWVudCBhbmQgcmV0dXJucyB0aGUgdmFsdWUuXHJcbiAgICBjb25zdCByZW1vdmVBdHRyaWJ1dGUgPSAoZWwsIG5hbWUpID0+IHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IGVsLmdldEF0dHJpYnV0ZShuYW1lKTtcclxuICAgICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyBSZWN1cnNpdmUgZnVuY3Rpb24gdG8gcmVzb2x2ZSB0ZW1wbGF0ZVxyXG4gICAgY29uc3QgcmVzb2x2ZSA9IChlbGVtZW50LCBiYXNlID0ge30pID0+IHtcclxuXHJcbiAgICAgICAgLy8gQ2hlY2sga2V5IGFuZCBjb250YWluZXIgYXR0cmlidXRlXHJcbiAgICAgICAgY29uc3QgY29uID0gcmVtb3ZlQXR0cmlidXRlKGVsZW1lbnQsICc6b2JqJyk7XHJcbiAgICAgICAgY29uc3Qga2V5ID0gcmVtb3ZlQXR0cmlidXRlKGVsZW1lbnQsICc6cmVmJyk7XHJcbiAgICAgICAgY29uc3Qgc3VidHJlZSA9IGNvbiA/IChiYXNlW2Nvbl0gPSB7fSkgOiBiYXNlO1xyXG5cclxuICAgICAgICAvLyBDaGVjayBhbmQgc2F2ZSBlbGVtZW50XHJcbiAgICAgICAga2V5ICYmIChiYXNlW2tleV0gPSBlbGVtZW50KTtcclxuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIEFycmF5LmZyb20oZWxlbWVudC5jaGlsZHJlbikpIHtcclxuICAgICAgICAgICAgY29uc3QgYXJyID0gcmVtb3ZlQXR0cmlidXRlKGNoaWxkLCAnOmFycicpO1xyXG4gICAgICAgICAgICBjb25zdCBzdWIgPSByZXNvbHZlKGNoaWxkLCBhcnIgPyB7fSA6IHN1YnRyZWUpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGFycikge1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZXJlIGlzIGFscmVhZHkgYW4gYXJyYXkgYW5kIGFkZCBlbGVtZW50XHJcbiAgICAgICAgICAgICAgICAoc3VidHJlZVthcnJdIHx8IChzdWJ0cmVlW2Fycl0gPSBbXSkpXHJcbiAgICAgICAgICAgICAgICAgICAgLnB1c2goT2JqZWN0LmtleXMoc3ViKS5sZW5ndGggPyBzdWIgOiBjaGlsZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBiYXNlO1xyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gcmVzb2x2ZShjcmVhdGVFbGVtZW50RnJvbVN0cmluZyhzdHIpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFBvbHlmaWxsIGZvciBzYWZhcmkgJiBmaXJlZm94IGZvciB0aGUgZXZlbnRQYXRoIGV2ZW50IHByb3BlcnR5LlxyXG4gKiBAcGFyYW0gZXZ0IFRoZSBldmVudCBvYmplY3QuXHJcbiAqIEByZXR1cm4gW1N0cmluZ10gZXZlbnQgcGF0aC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBldmVudFBhdGgoZXZ0KSB7XHJcbiAgICBsZXQgcGF0aCA9IGV2dC5wYXRoIHx8IChldnQuY29tcG9zZWRQYXRoICYmIGV2dC5jb21wb3NlZFBhdGgoKSk7XHJcbiAgICBpZiAocGF0aCkge1xyXG4gICAgICAgIHJldHVybiBwYXRoO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBlbCA9IGV2dC50YXJnZXQucGFyZW50RWxlbWVudDtcclxuICAgIHBhdGggPSBbZXZ0LnRhcmdldCwgZWxdO1xyXG4gICAgd2hpbGUgKGVsID0gZWwucGFyZW50RWxlbWVudCkge1xyXG4gICAgICAgIHBhdGgucHVzaChlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcGF0aC5wdXNoKGRvY3VtZW50LCB3aW5kb3cpO1xyXG4gICAgcmV0dXJuIHBhdGg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXNvbHZlcyBhIEhUTUxFbGVtZW50IGJ5IHF1ZXJ5LlxyXG4gKiBAcGFyYW0gdmFsXHJcbiAqIEByZXR1cm5zIHtudWxsfERvY3VtZW50fEVsZW1lbnR9XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUVsZW1lbnQodmFsKSB7XHJcbiAgICBpZiAodmFsIGluc3RhbmNlb2YgRWxlbWVudCkge1xyXG4gICAgICAgIHJldHVybiB2YWw7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbC5zcGxpdCgvPj4vZykucmVkdWNlKChwdiwgY3YsIGNpLCBhKSA9PiB7XHJcbiAgICAgICAgICAgIHB2ID0gcHYucXVlcnlTZWxlY3Rvcihjdik7XHJcbiAgICAgICAgICAgIHJldHVybiBjaSA8IGEubGVuZ3RoIC0gMSA/IHB2LnNoYWRvd1Jvb3QgOiBwdjtcclxuICAgICAgICB9LCBkb2N1bWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIHRoZSBhYmlsaXR5IHRvIGNoYW5nZSBudW1iZXJzIGluIGFuIGlucHV0IGZpZWxkIHdpdGggdGhlIHNjcm9sbC13aGVlbC5cclxuICogQHBhcmFtIGVsXHJcbiAqIEBwYXJhbSBtYXBwZXJcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGp1c3RhYmxlSW5wdXROdW1iZXJzKGVsLCBtYXBwZXIgPSB2ID0+IHYpIHtcclxuXHJcbiAgICBmdW5jdGlvbiBoYW5kbGVTY3JvbGwoZSkge1xyXG4gICAgICAgIGNvbnN0IGluYyA9IChbMC4wMDEsIDAuMDEsIDAuMV0pW051bWJlcihlLnNoaWZ0S2V5IHx8IGUuY3RybEtleSAqIDIpXSAqIChlLmRlbHRhWSA8IDAgPyAxIDogLTEpO1xyXG5cclxuICAgICAgICBsZXQgaW5kZXggPSAwO1xyXG4gICAgICAgIGxldCBvZmYgPSBlbC5zZWxlY3Rpb25TdGFydDtcclxuICAgICAgICBlbC52YWx1ZSA9IGVsLnZhbHVlLnJlcGxhY2UoL1tcXGQuXSsvZywgKHYsIGkpID0+IHtcclxuXHJcbiAgICAgICAgICAgIC8vIENoZWNrIGlmIG51bWJlciBpcyBpbiBjdXJzb3IgcmFuZ2UgYW5kIGluY3JlYXNlIGl0XHJcbiAgICAgICAgICAgIGlmIChpIDw9IG9mZiAmJiBpICsgdi5sZW5ndGggPj0gb2ZmKSB7XHJcbiAgICAgICAgICAgICAgICBvZmYgPSBpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hcHBlcihOdW1iZXIodiksIGluYywgaW5kZXgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpbmRleCsrO1xyXG4gICAgICAgICAgICByZXR1cm4gdjtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgZWwuZm9jdXMoKTtcclxuICAgICAgICBlbC5zZXRTZWxlY3Rpb25SYW5nZShvZmYsIG9mZik7XHJcblxyXG4gICAgICAgIC8vIFByZXZlbnQgZGVmYXVsdCBhbmQgdHJpZ2dlciBpbnB1dCBldmVudFxyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBlbC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQmluZCBldmVudHNcclxuICAgIG9uKGVsLCAnZm9jdXMnLCAoKSA9PiBvbih3aW5kb3csICd3aGVlbCcsIGhhbmRsZVNjcm9sbCwge3Bhc3NpdmU6IGZhbHNlfSkpO1xyXG4gICAgb24oZWwsICdibHVyJywgKCkgPT4gb2ZmKHdpbmRvdywgJ3doZWVsJywgaGFuZGxlU2Nyb2xsKSk7XHJcbn1cclxuIiwgIi8vIFNob3J0aGFuZHNcclxuY29uc3Qge21pbiwgbWF4LCBmbG9vciwgcm91bmR9ID0gTWF0aDtcclxuXHJcbi8qKlxyXG4gKiBUcmllcyB0byBjb252ZXJ0IGEgY29sb3IgbmFtZSB0byByZ2IvYSBoZXggcmVwcmVzZW50YXRpb25cclxuICogQHBhcmFtIG5hbWVcclxuICogQHJldHVybnMge3N0cmluZyB8IENhbnZhc0dyYWRpZW50IHwgQ2FudmFzUGF0dGVybn1cclxuICovXHJcbmZ1bmN0aW9uIHN0YW5kYXJkaXplQ29sb3IobmFtZSkge1xyXG5cclxuICAgIC8vIFNpbmNlIGludmFsaWQgY29sb3IncyB3aWxsIGJlIHBhcnNlZCBhcyBibGFjaywgZmlsdGVyIHRoZW0gb3V0XHJcbiAgICBpZiAobmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYmxhY2snKSB7XHJcbiAgICAgICAgcmV0dXJuICcjMDAwJztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjdHggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKS5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgY3R4LmZpbGxTdHlsZSA9IG5hbWU7XHJcbiAgICByZXR1cm4gY3R4LmZpbGxTdHlsZSA9PT0gJyMwMDAnID8gbnVsbCA6IGN0eC5maWxsU3R5bGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0IEhTViBzcGVjdHJ1bSB0byBSR0IuXHJcbiAqIEBwYXJhbSBoIEh1ZVxyXG4gKiBAcGFyYW0gcyBTYXR1cmF0aW9uXHJcbiAqIEBwYXJhbSB2IFZhbHVlXHJcbiAqIEByZXR1cm5zIHtudW1iZXJbXX0gQXJyYXkgd2l0aCByZ2IgdmFsdWVzLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGhzdlRvUmdiKGgsIHMsIHYpIHtcclxuICAgIGggPSAoaCAvIDM2MCkgKiA2O1xyXG4gICAgcyAvPSAxMDA7XHJcbiAgICB2IC89IDEwMDtcclxuXHJcbiAgICBjb25zdCBpID0gZmxvb3IoaCk7XHJcblxyXG4gICAgY29uc3QgZiA9IGggLSBpO1xyXG4gICAgY29uc3QgcCA9IHYgKiAoMSAtIHMpO1xyXG4gICAgY29uc3QgcSA9IHYgKiAoMSAtIGYgKiBzKTtcclxuICAgIGNvbnN0IHQgPSB2ICogKDEgLSAoMSAtIGYpICogcyk7XHJcblxyXG4gICAgY29uc3QgbW9kID0gaSAlIDY7XHJcbiAgICBjb25zdCByID0gW3YsIHEsIHAsIHAsIHQsIHZdW21vZF07XHJcbiAgICBjb25zdCBnID0gW3QsIHYsIHYsIHEsIHAsIHBdW21vZF07XHJcbiAgICBjb25zdCBiID0gW3AsIHAsIHQsIHYsIHYsIHFdW21vZF07XHJcblxyXG4gICAgcmV0dXJuIFtcclxuICAgICAgICByICogMjU1LFxyXG4gICAgICAgIGcgKiAyNTUsXHJcbiAgICAgICAgYiAqIDI1NVxyXG4gICAgXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnZlcnQgSFNWIHNwZWN0cnVtIHRvIEhleC5cclxuICogQHBhcmFtIGggSHVlXHJcbiAqIEBwYXJhbSBzIFNhdHVyYXRpb25cclxuICogQHBhcmFtIHYgVmFsdWVcclxuICogQHJldHVybnMge3N0cmluZ1tdfSBIZXggdmFsdWVzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaHN2VG9IZXgoaCwgcywgdikge1xyXG4gICAgcmV0dXJuIGhzdlRvUmdiKGgsIHMsIHYpLm1hcCh2ID0+XHJcbiAgICAgICAgcm91bmQodikudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJylcclxuICAgICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0IEhTViBzcGVjdHJ1bSB0byBDTVlLLlxyXG4gKiBAcGFyYW0gaCBIdWVcclxuICogQHBhcmFtIHMgU2F0dXJhdGlvblxyXG4gKiBAcGFyYW0gdiBWYWx1ZVxyXG4gKiBAcmV0dXJucyB7bnVtYmVyW119IENNWUsgdmFsdWVzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaHN2VG9DbXlrKGgsIHMsIHYpIHtcclxuICAgIGNvbnN0IHJnYiA9IGhzdlRvUmdiKGgsIHMsIHYpO1xyXG4gICAgY29uc3QgciA9IHJnYlswXSAvIDI1NTtcclxuICAgIGNvbnN0IGcgPSByZ2JbMV0gLyAyNTU7XHJcbiAgICBjb25zdCBiID0gcmdiWzJdIC8gMjU1O1xyXG5cclxuICAgIGNvbnN0IGsgPSBtaW4oMSAtIHIsIDEgLSBnLCAxIC0gYik7XHJcbiAgICBjb25zdCBjID0gayA9PT0gMSA/IDAgOiAoMSAtIHIgLSBrKSAvICgxIC0gayk7XHJcbiAgICBjb25zdCBtID0gayA9PT0gMSA/IDAgOiAoMSAtIGcgLSBrKSAvICgxIC0gayk7XHJcbiAgICBjb25zdCB5ID0gayA9PT0gMSA/IDAgOiAoMSAtIGIgLSBrKSAvICgxIC0gayk7XHJcblxyXG4gICAgcmV0dXJuIFtcclxuICAgICAgICBjICogMTAwLFxyXG4gICAgICAgIG0gKiAxMDAsXHJcbiAgICAgICAgeSAqIDEwMCxcclxuICAgICAgICBrICogMTAwXHJcbiAgICBdO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydCBIU1Ygc3BlY3RydW0gdG8gSFNMLlxyXG4gKiBAcGFyYW0gaCBIdWVcclxuICogQHBhcmFtIHMgU2F0dXJhdGlvblxyXG4gKiBAcGFyYW0gdiBWYWx1ZVxyXG4gKiBAcmV0dXJucyB7bnVtYmVyW119IEhTTCB2YWx1ZXNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBoc3ZUb0hzbChoLCBzLCB2KSB7XHJcbiAgICBzIC89IDEwMDtcclxuICAgIHYgLz0gMTAwO1xyXG5cclxuICAgIGNvbnN0IGwgPSAoMiAtIHMpICogdiAvIDI7XHJcblxyXG4gICAgaWYgKGwgIT09IDApIHtcclxuICAgICAgICBpZiAobCA9PT0gMSkge1xyXG4gICAgICAgICAgICBzID0gMDtcclxuICAgICAgICB9IGVsc2UgaWYgKGwgPCAwLjUpIHtcclxuICAgICAgICAgICAgcyA9IHMgKiB2IC8gKGwgKiAyKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzID0gcyAqIHYgLyAoMiAtIGwgKiAyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFtcclxuICAgICAgICBoLFxyXG4gICAgICAgIHMgKiAxMDAsXHJcbiAgICAgICAgbCAqIDEwMFxyXG4gICAgXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnZlcnQgUkdCIHRvIEhTVi5cclxuICogQHBhcmFtIHIgUmVkXHJcbiAqIEBwYXJhbSBnIEdyZWVuXHJcbiAqIEBwYXJhbSBiIEJsdWVcclxuICogQHJldHVybiB7bnVtYmVyW119IEhTViB2YWx1ZXMuXHJcbiAqL1xyXG5mdW5jdGlvbiByZ2JUb0hzdihyLCBnLCBiKSB7XHJcbiAgICByIC89IDI1NTtcclxuICAgIGcgLz0gMjU1O1xyXG4gICAgYiAvPSAyNTU7XHJcblxyXG4gICAgY29uc3QgbWluVmFsID0gbWluKHIsIGcsIGIpO1xyXG4gICAgY29uc3QgbWF4VmFsID0gbWF4KHIsIGcsIGIpO1xyXG4gICAgY29uc3QgZGVsdGEgPSBtYXhWYWwgLSBtaW5WYWw7XHJcblxyXG4gICAgbGV0IGgsIHM7XHJcbiAgICBjb25zdCB2ID0gbWF4VmFsO1xyXG4gICAgaWYgKGRlbHRhID09PSAwKSB7XHJcbiAgICAgICAgaCA9IHMgPSAwO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBzID0gZGVsdGEgLyBtYXhWYWw7XHJcbiAgICAgICAgY29uc3QgZHIgPSAoKChtYXhWYWwgLSByKSAvIDYpICsgKGRlbHRhIC8gMikpIC8gZGVsdGE7XHJcbiAgICAgICAgY29uc3QgZGcgPSAoKChtYXhWYWwgLSBnKSAvIDYpICsgKGRlbHRhIC8gMikpIC8gZGVsdGE7XHJcbiAgICAgICAgY29uc3QgZGIgPSAoKChtYXhWYWwgLSBiKSAvIDYpICsgKGRlbHRhIC8gMikpIC8gZGVsdGE7XHJcblxyXG4gICAgICAgIGlmIChyID09PSBtYXhWYWwpIHtcclxuICAgICAgICAgICAgaCA9IGRiIC0gZGc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChnID09PSBtYXhWYWwpIHtcclxuICAgICAgICAgICAgaCA9ICgxIC8gMykgKyBkciAtIGRiO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoYiA9PT0gbWF4VmFsKSB7XHJcbiAgICAgICAgICAgIGggPSAoMiAvIDMpICsgZGcgLSBkcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChoIDwgMCkge1xyXG4gICAgICAgICAgICBoICs9IDE7XHJcbiAgICAgICAgfSBlbHNlIGlmIChoID4gMSkge1xyXG4gICAgICAgICAgICBoIC09IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbXHJcbiAgICAgICAgaCAqIDM2MCxcclxuICAgICAgICBzICogMTAwLFxyXG4gICAgICAgIHYgKiAxMDBcclxuICAgIF07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0IENNWUsgdG8gSFNWLlxyXG4gKiBAcGFyYW0gYyBDeWFuXHJcbiAqIEBwYXJhbSBtIE1hZ2VudGFcclxuICogQHBhcmFtIHkgWWVsbG93XHJcbiAqIEBwYXJhbSBrIEtleSAoQmxhY2spXHJcbiAqIEByZXR1cm4ge251bWJlcltdfSBIU1YgdmFsdWVzLlxyXG4gKi9cclxuZnVuY3Rpb24gY215a1RvSHN2KGMsIG0sIHksIGspIHtcclxuICAgIGMgLz0gMTAwO1xyXG4gICAgbSAvPSAxMDA7XHJcbiAgICB5IC89IDEwMDtcclxuICAgIGsgLz0gMTAwO1xyXG5cclxuICAgIGNvbnN0IHIgPSAoMSAtIG1pbigxLCBjICogKDEgLSBrKSArIGspKSAqIDI1NTtcclxuICAgIGNvbnN0IGcgPSAoMSAtIG1pbigxLCBtICogKDEgLSBrKSArIGspKSAqIDI1NTtcclxuICAgIGNvbnN0IGIgPSAoMSAtIG1pbigxLCB5ICogKDEgLSBrKSArIGspKSAqIDI1NTtcclxuXHJcbiAgICByZXR1cm4gWy4uLnJnYlRvSHN2KHIsIGcsIGIpXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnZlcnQgSFNMIHRvIEhTVi5cclxuICogQHBhcmFtIGggSHVlXHJcbiAqIEBwYXJhbSBzIFNhdHVyYXRpb25cclxuICogQHBhcmFtIGwgTGlnaHRuZXNzXHJcbiAqIEByZXR1cm4ge251bWJlcltdfSBIU1YgdmFsdWVzLlxyXG4gKi9cclxuZnVuY3Rpb24gaHNsVG9Ic3YoaCwgcywgbCkge1xyXG4gICAgcyAvPSAxMDA7XHJcbiAgICBsIC89IDEwMDtcclxuICAgIHMgKj0gbCA8IDAuNSA/IGwgOiAxIC0gbDtcclxuXHJcbiAgICBjb25zdCBucyA9ICgyICogcyAvIChsICsgcykpICogMTAwO1xyXG4gICAgY29uc3QgdiA9IChsICsgcykgKiAxMDA7XHJcbiAgICByZXR1cm4gW2gsIGlzTmFOKG5zKSA/IDAgOiBucywgdl07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0IEhFWCB0byBIU1YuXHJcbiAqIEBwYXJhbSBoZXggSGV4YWRlY2ltYWwgc3RyaW5nIG9mIHJnYiBjb2xvcnMsIGNhbiBoYXZlIGxlbmd0aCAzIG9yIDYuXHJcbiAqIEByZXR1cm4ge251bWJlcltdfSBIU1YgdmFsdWVzLlxyXG4gKi9cclxuZnVuY3Rpb24gaGV4VG9Ic3YoaGV4KSB7XHJcbiAgICByZXR1cm4gcmdiVG9Ic3YoLi4uaGV4Lm1hdGNoKC8uezJ9L2cpLm1hcCh2ID0+IHBhcnNlSW50KHYsIDE2KSkpO1xyXG59XHJcblxyXG4vKipcclxuICogVHJ5J3MgdG8gcGFyc2UgYSBzdHJpbmcgd2hpY2ggcmVwcmVzZW50cyBhIGNvbG9yIHRvIGEgSFNWIGFycmF5LlxyXG4gKiBDdXJyZW50IHN1cHBvcnRlZCB0eXBlcyBhcmUgY215aywgcmdiYSwgaHNsYSBhbmQgaGV4YWRlY2ltYWwuXHJcbiAqIEBwYXJhbSBzdHJcclxuICogQHJldHVybiB7Kn1cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVRvSFNWQShzdHIpIHtcclxuXHJcbiAgICAvLyBDaGVjayBpZiBzdHJpbmcgaXMgYSBjb2xvci1uYW1lXHJcbiAgICBzdHIgPSBzdHIubWF0Y2goL15bYS16QS1aXSskLykgPyBzdGFuZGFyZGl6ZUNvbG9yKHN0cikgOiBzdHI7XHJcblxyXG4gICAgLy8gUmVndWxhciBleHByZXNzaW9ucyB0byBtYXRjaCBkaWZmZXJlbnQgdHlwZXMgb2YgY29sb3IgcmVwcmVzZW50aW9uXHJcbiAgICBjb25zdCByZWdleCA9IHtcclxuICAgICAgICBjbXlrOiAvXmNteWtbXFxEXSsoW1xcZC5dKylbXFxEXSsoW1xcZC5dKylbXFxEXSsoW1xcZC5dKylbXFxEXSsoW1xcZC5dKykvaSxcclxuICAgICAgICByZ2JhOiAvXigocmdiYSl8cmdiKVtcXERdKyhbXFxkLl0rKVtcXERdKyhbXFxkLl0rKVtcXERdKyhbXFxkLl0rKVtcXERdKj8oW1xcZC5dK3wkKS9pLFxyXG4gICAgICAgIGhzbGE6IC9eKChoc2xhKXxoc2wpW1xcRF0rKFtcXGQuXSspW1xcRF0rKFtcXGQuXSspW1xcRF0rKFtcXGQuXSspW1xcRF0qPyhbXFxkLl0rfCQpL2ksXHJcbiAgICAgICAgaHN2YTogL14oKGhzdmEpfGhzdilbXFxEXSsoW1xcZC5dKylbXFxEXSsoW1xcZC5dKylbXFxEXSsoW1xcZC5dKylbXFxEXSo/KFtcXGQuXSt8JCkvaSxcclxuICAgICAgICBoZXhhOiAvXiM/KChbXFxkQS1GYS1mXXszLDR9KXwoW1xcZEEtRmEtZl17Nn0pfChbXFxkQS1GYS1mXXs4fSkpJC9pXHJcbiAgICB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGFrZXMgYW4gQXJyYXkgb2YgYW55IHR5cGUsIGNvbnZlcnQgc3RyaW5ncyB3aGljaCByZXByZXNlbnRzXHJcbiAgICAgKiBhIG51bWJlciB0byBhIG51bWJlciBhbiBhbnl0aGluZyBlbHNlIHRvIHVuZGVmaW5lZC5cclxuICAgICAqIEBwYXJhbSBhcnJheVxyXG4gICAgICogQHJldHVybiB7Kn1cclxuICAgICAqL1xyXG4gICAgY29uc3QgbnVtYXJpemUgPSBhcnJheSA9PiBhcnJheS5tYXAodiA9PiAvXih8XFxkKylcXC5cXGQrfFxcZCskLy50ZXN0KHYpID8gTnVtYmVyKHYpIDogdW5kZWZpbmVkKTtcclxuXHJcbiAgICBsZXQgbWF0Y2g7XHJcbiAgICBpbnZhbGlkOiBmb3IgKGNvbnN0IHR5cGUgaW4gcmVnZXgpIHtcclxuXHJcbiAgICAgICAgLy8gQ2hlY2sgaWYgY3VycmVudCBzY2hlbWUgcGFzc2VkXHJcbiAgICAgICAgaWYgKCEobWF0Y2ggPSByZWdleFt0eXBlXS5leGVjKHN0cikpKSB7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gTWF0Y2hbMl0gZG9lcyBvbmx5IGNvbnRhaW4gYSB0cnVseSB2YWx1ZSBpZiByZ2JhLCBoc2xhLCBvciBoc2xhIGdvdCBtYXRjaGVkXHJcbiAgICAgICAgY29uc3QgYWxwaGFWYWxpZCA9IGEgPT4gKCEhbWF0Y2hbMl0gPT09ICh0eXBlb2YgYSA9PT0gJ251bWJlcicpKTtcclxuXHJcbiAgICAgICAgLy8gVHJ5IHRvIGNvbnZlcnRcclxuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSAnY215ayc6IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IFssIGMsIG0sIHksIGtdID0gbnVtYXJpemUobWF0Y2gpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChjID4gMTAwIHx8IG0gPiAxMDAgfHwgeSA+IDEwMCB8fCBrID4gMTAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWsgaW52YWxpZDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge3ZhbHVlczogY215a1RvSHN2KGMsIG0sIHksIGspLCB0eXBlfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICdyZ2JhJzoge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgWywgLCAsIHIsIGcsIGIsIGFdID0gbnVtYXJpemUobWF0Y2gpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChyID4gMjU1IHx8IGcgPiAyNTUgfHwgYiA+IDI1NSB8fCBhIDwgMCB8fCBhID4gMSB8fCAhYWxwaGFWYWxpZChhKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrIGludmFsaWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHt2YWx1ZXM6IFsuLi5yZ2JUb0hzdihyLCBnLCBiKSwgYV0sIGEsIHR5cGV9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgJ2hleGEnOiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgWywgaGV4XSA9IG1hdGNoO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChoZXgubGVuZ3RoID09PSA0IHx8IGhleC5sZW5ndGggPT09IDMpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZXggPSBoZXguc3BsaXQoJycpLm1hcCh2ID0+IHYgKyB2KS5qb2luKCcnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCByYXcgPSBoZXguc3Vic3RyaW5nKDAsIDYpO1xyXG4gICAgICAgICAgICAgICAgbGV0IGEgPSBoZXguc3Vic3RyaW5nKDYpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIENvbnZlcnQgMCAtIDI1NSB0byAwIC0gMSBmb3Igb3BhY2l0eVxyXG4gICAgICAgICAgICAgICAgYSA9IGEgPyAocGFyc2VJbnQoYSwgMTYpIC8gMjU1KSA6IHVuZGVmaW5lZDtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge3ZhbHVlczogWy4uLmhleFRvSHN2KHJhdyksIGFdLCBhLCB0eXBlfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICdoc2xhJzoge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgWywgLCAsIGgsIHMsIGwsIGFdID0gbnVtYXJpemUobWF0Y2gpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChoID4gMzYwIHx8IHMgPiAxMDAgfHwgbCA+IDEwMCB8fCBhIDwgMCB8fCBhID4gMSB8fCAhYWxwaGFWYWxpZChhKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrIGludmFsaWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHt2YWx1ZXM6IFsuLi5oc2xUb0hzdihoLCBzLCBsKSwgYV0sIGEsIHR5cGV9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgJ2hzdmEnOiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBbLCAsICwgaCwgcywgdiwgYV0gPSBudW1hcml6ZShtYXRjaCk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGggPiAzNjAgfHwgcyA+IDEwMCB8fCB2ID4gMTAwIHx8IGEgPCAwIHx8IGEgPiAxIHx8ICFhbHBoYVZhbGlkKGEpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWsgaW52YWxpZDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge3ZhbHVlczogW2gsIHMsIHYsIGFdLCBhLCB0eXBlfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge3ZhbHVlczogbnVsbCwgdHlwZTogbnVsbH07XHJcbn1cclxuIiwgImltcG9ydCB7aHN2VG9DbXlrLCBoc3ZUb0hleCwgaHN2VG9Ic2wsIGhzdlRvUmdifSBmcm9tICcuL2NvbG9yJztcclxuXHJcbi8qKlxyXG4gKiBTaW1wbGUgY2xhc3Mgd2hpY2ggaG9sZHMgdGhlIHByb3BlcnRpZXNcclxuICogb2YgdGhlIGNvbG9yIHJlcHJlc2VudGlvbiBtb2RlbCBoc2xhIChodWUgc2F0dXJhdGlvbiBsaWdodG5lc3MgYWxwaGEpXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gSFNWYUNvbG9yKGggPSAwLCBzID0gMCwgdiA9IDAsIGEgPSAxKSB7XHJcbiAgICBjb25zdCBtYXBwZXIgPSAob3JpZ2luYWwsIG5leHQpID0+IChwcmVjaXNpb24gPSAtMSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXh0KH5wcmVjaXNpb24gPyBvcmlnaW5hbC5tYXAodiA9PiBOdW1iZXIodi50b0ZpeGVkKHByZWNpc2lvbikpKSA6IG9yaWdpbmFsKTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgdGhhdCA9IHtcclxuICAgICAgICBoLCBzLCB2LCBhLFxyXG5cclxuICAgICAgICB0b0hTVkEoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGhzdmEgPSBbdGhhdC5oLCB0aGF0LnMsIHRoYXQudiwgdGhhdC5hXTtcclxuICAgICAgICAgICAgaHN2YS50b1N0cmluZyA9IG1hcHBlcihoc3ZhLCBhcnIgPT4gYGhzdmEoJHthcnJbMF19LCAke2FyclsxXX0lLCAke2FyclsyXX0lLCAke3RoYXQuYX0pYCk7XHJcbiAgICAgICAgICAgIHJldHVybiBoc3ZhO1xyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIHRvSFNMQSgpIHtcclxuICAgICAgICAgICAgY29uc3QgaHNsYSA9IFsuLi5oc3ZUb0hzbCh0aGF0LmgsIHRoYXQucywgdGhhdC52KSwgdGhhdC5hXTtcclxuICAgICAgICAgICAgaHNsYS50b1N0cmluZyA9IG1hcHBlcihoc2xhLCBhcnIgPT4gYGhzbGEoJHthcnJbMF19LCAke2FyclsxXX0lLCAke2FyclsyXX0lLCAke3RoYXQuYX0pYCk7XHJcbiAgICAgICAgICAgIHJldHVybiBoc2xhO1xyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIHRvUkdCQSgpIHtcclxuICAgICAgICAgICAgY29uc3QgcmdiYSA9IFsuLi5oc3ZUb1JnYih0aGF0LmgsIHRoYXQucywgdGhhdC52KSwgdGhhdC5hXTtcclxuICAgICAgICAgICAgcmdiYS50b1N0cmluZyA9IG1hcHBlcihyZ2JhLCBhcnIgPT4gYHJnYmEoJHthcnJbMF19LCAke2FyclsxXX0sICR7YXJyWzJdfSwgJHt0aGF0LmF9KWApO1xyXG4gICAgICAgICAgICByZXR1cm4gcmdiYTtcclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICB0b0NNWUsoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNteWsgPSBoc3ZUb0NteWsodGhhdC5oLCB0aGF0LnMsIHRoYXQudik7XHJcbiAgICAgICAgICAgIGNteWsudG9TdHJpbmcgPSBtYXBwZXIoY215aywgYXJyID0+IGBjbXlrKCR7YXJyWzBdfSUsICR7YXJyWzFdfSUsICR7YXJyWzJdfSUsICR7YXJyWzNdfSUpYCk7XHJcbiAgICAgICAgICAgIHJldHVybiBjbXlrO1xyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIHRvSEVYQSgpIHtcclxuICAgICAgICAgICAgY29uc3QgaGV4ID0gaHN2VG9IZXgodGhhdC5oLCB0aGF0LnMsIHRoYXQudik7XHJcblxyXG4gICAgICAgICAgICAvLyBDaGVjayBpZiBhbHBoYSBjaGFubmVsIG1ha2Ugc2Vuc2UsIGNvbnZlcnQgaXQgdG8gMjU1IG51bWJlciBzcGFjZSwgY29udmVydFxyXG4gICAgICAgICAgICAvLyBUbyBoZXggYW5kIHBhZCBpdCB3aXRoIHplcm9zIGlmIG5lZWRldC5cclxuICAgICAgICAgICAgY29uc3QgYWxwaGEgPSB0aGF0LmEgPj0gMSA/ICcnIDogTnVtYmVyKCh0aGF0LmEgKiAyNTUpLnRvRml4ZWQoMCkpXHJcbiAgICAgICAgICAgICAgICAudG9TdHJpbmcoMTYpXHJcbiAgICAgICAgICAgICAgICAudG9VcHBlckNhc2UoKS5wYWRTdGFydCgyLCAnMCcpO1xyXG5cclxuICAgICAgICAgICAgYWxwaGEgJiYgaGV4LnB1c2goYWxwaGEpO1xyXG4gICAgICAgICAgICBoZXgudG9TdHJpbmcgPSAoKSA9PiBgIyR7aGV4LmpvaW4oJycpLnRvVXBwZXJDYXNlKCl9YDtcclxuICAgICAgICAgICAgcmV0dXJuIGhleDtcclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICBjbG9uZTogKCkgPT4gSFNWYUNvbG9yKHRoYXQuaCwgdGhhdC5zLCB0aGF0LnYsIHRoYXQuYSlcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHRoYXQ7XHJcbn1cclxuIiwgImltcG9ydCAqIGFzIF8gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xyXG5cclxuY29uc3QgY2xhbXAgPSB2ID0+IE1hdGgubWF4KE1hdGgubWluKHYsIDEpLCAwKTtcclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTW92ZWFibGUob3B0KSB7XHJcblxyXG4gICAgY29uc3QgdGhhdCA9IHtcclxuXHJcbiAgICAgICAgLy8gQXNzaWduIGRlZmF1bHQgdmFsdWVzXHJcbiAgICAgICAgb3B0aW9uczogT2JqZWN0LmFzc2lnbih7XHJcbiAgICAgICAgICAgIGxvY2s6IG51bGwsXHJcbiAgICAgICAgICAgIG9uY2hhbmdlOiAoKSA9PiAwLFxyXG4gICAgICAgICAgICBvbnN0b3A6ICgpID0+IDBcclxuICAgICAgICB9LCBvcHQpLFxyXG5cclxuICAgICAgICBfa2V5Ym9hcmQoZSkge1xyXG4gICAgICAgICAgICBjb25zdCB7b3B0aW9uc30gPSB0aGF0O1xyXG4gICAgICAgICAgICBjb25zdCB7dHlwZSwga2V5fSA9IGU7XHJcblxyXG4gICAgICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhlIE1vdmFibGUgaXMgZm9jdXNlZCBhbmQgdGhlbiBtb3ZlIGl0IGJhc2VkIG9uIGFycm93IGtleSBpbnB1dHNcclxuICAgICAgICAgICAgLy8gRm9yIGltcHJvdmVkIGFjY2Vzc2liaWxpdHlcclxuICAgICAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IG9wdGlvbnMud3JhcHBlcikge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qge2xvY2t9ID0gdGhhdC5vcHRpb25zO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdXAgPSBrZXkgPT09ICdBcnJvd1VwJztcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJpZ2h0ID0ga2V5ID09PSAnQXJyb3dSaWdodCc7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkb3duID0ga2V5ID09PSAnQXJyb3dEb3duJztcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxlZnQgPSBrZXkgPT09ICdBcnJvd0xlZnQnO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAna2V5ZG93bicgJiYgKHVwIHx8IHJpZ2h0IHx8IGRvd24gfHwgbGVmdCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgeG0gPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB5bSA9IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChsb2NrID09PSAndicpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG0gPSAodXAgfHwgcmlnaHQpID8gMSA6IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobG9jayA9PT0gJ2gnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtID0gKHVwIHx8IHJpZ2h0KSA/IC0xIDogMTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB5bSA9IHVwID8gLTEgOiAoZG93biA/IDEgOiAwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG0gPSBsZWZ0ID8gLTEgOiAocmlnaHQgPyAxIDogMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGF0LnVwZGF0ZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhbXAodGhhdC5jYWNoZS54ICsgKDAuMDEgKiB4bSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFtcCh0aGF0LmNhY2hlLnkgKyAoMC4wMSAqIHltKSlcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5LnN0YXJ0c1dpdGgoJ0Fycm93JykpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGF0Lm9wdGlvbnMub25zdG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuXHJcbiAgICAgICAgX3RhcHN0YXJ0KGV2dCkge1xyXG4gICAgICAgICAgICBfLm9uKGRvY3VtZW50LCBbJ21vdXNldXAnLCAndG91Y2hlbmQnLCAndG91Y2hjYW5jZWwnXSwgdGhhdC5fdGFwc3RvcCk7XHJcbiAgICAgICAgICAgIF8ub24oZG9jdW1lbnQsIFsnbW91c2Vtb3ZlJywgJ3RvdWNobW92ZSddLCB0aGF0Ll90YXBtb3ZlKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChldnQuY2FuY2VsYWJsZSkge1xyXG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIFRyaWdnZXJcclxuICAgICAgICAgICAgdGhhdC5fdGFwbW92ZShldnQpO1xyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIF90YXBtb3ZlKGV2dCkge1xyXG4gICAgICAgICAgICBjb25zdCB7b3B0aW9ucywgY2FjaGV9ID0gdGhhdDtcclxuICAgICAgICAgICAgY29uc3Qge2xvY2ssIGVsZW1lbnQsIHdyYXBwZXJ9ID0gb3B0aW9ucztcclxuICAgICAgICAgICAgY29uc3QgYiA9IHdyYXBwZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgICAgICAgICBsZXQgeCA9IDAsIHkgPSAwO1xyXG4gICAgICAgICAgICBpZiAoZXZ0KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0b3VjaCA9IGV2dCAmJiBldnQudG91Y2hlcyAmJiBldnQudG91Y2hlc1swXTtcclxuICAgICAgICAgICAgICAgIHggPSBldnQgPyAodG91Y2ggfHwgZXZ0KS5jbGllbnRYIDogMDtcclxuICAgICAgICAgICAgICAgIHkgPSBldnQgPyAodG91Y2ggfHwgZXZ0KS5jbGllbnRZIDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBSZXNldCB0byBib3VuZHNcclxuICAgICAgICAgICAgICAgIGlmICh4IDwgYi5sZWZ0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgeCA9IGIubGVmdDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoeCA+IGIubGVmdCArIGIud2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICB4ID0gYi5sZWZ0ICsgYi53aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICh5IDwgYi50b3ApIHtcclxuICAgICAgICAgICAgICAgICAgICB5ID0gYi50b3A7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHkgPiBiLnRvcCArIGIuaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgeSA9IGIudG9wICsgYi5oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gTm9ybWFsaXplXHJcbiAgICAgICAgICAgICAgICB4IC09IGIubGVmdDtcclxuICAgICAgICAgICAgICAgIHkgLT0gYi50b3A7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2FjaGUpIHtcclxuICAgICAgICAgICAgICAgIHggPSBjYWNoZS54ICogYi53aWR0aDtcclxuICAgICAgICAgICAgICAgIHkgPSBjYWNoZS55ICogYi5oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChsb2NrICE9PSAnaCcpIHtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUubGVmdCA9IGBjYWxjKCR7eCAvIGIud2lkdGggKiAxMDB9JSAtICR7ZWxlbWVudC5vZmZzZXRXaWR0aCAvIDJ9cHgpYDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGxvY2sgIT09ICd2Jykge1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudC5zdHlsZS50b3AgPSBgY2FsYygke3kgLyBiLmhlaWdodCAqIDEwMH0lIC0gJHtlbGVtZW50Lm9mZnNldEhlaWdodCAvIDJ9cHgpYDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhhdC5jYWNoZSA9IHt4OiB4IC8gYi53aWR0aCwgeTogeSAvIGIuaGVpZ2h0fTtcclxuICAgICAgICAgICAgY29uc3QgY3ggPSBjbGFtcCh4IC8gYi53aWR0aCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGN5ID0gY2xhbXAoeSAvIGIuaGVpZ2h0KTtcclxuXHJcbiAgICAgICAgICAgIHN3aXRjaCAobG9jaykge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAndic6XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnMub25jaGFuZ2UoY3gpO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnaCc6XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnMub25jaGFuZ2UoY3kpO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9ucy5vbmNoYW5nZShjeCwgY3kpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuXHJcbiAgICAgICAgX3RhcHN0b3AoKSB7XHJcbiAgICAgICAgICAgIHRoYXQub3B0aW9ucy5vbnN0b3AoKTtcclxuICAgICAgICAgICAgXy5vZmYoZG9jdW1lbnQsIFsnbW91c2V1cCcsICd0b3VjaGVuZCcsICd0b3VjaGNhbmNlbCddLCB0aGF0Ll90YXBzdG9wKTtcclxuICAgICAgICAgICAgXy5vZmYoZG9jdW1lbnQsIFsnbW91c2Vtb3ZlJywgJ3RvdWNobW92ZSddLCB0aGF0Ll90YXBtb3ZlKTtcclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICB0cmlnZ2VyKCkge1xyXG4gICAgICAgICAgICB0aGF0Ll90YXBtb3ZlKCk7XHJcbiAgICAgICAgfSxcclxuXHJcbiAgICAgICAgdXBkYXRlKHggPSAwLCB5ID0gMCkge1xyXG4gICAgICAgICAgICBjb25zdCB7bGVmdCwgdG9wLCB3aWR0aCwgaGVpZ2h0fSA9IHRoYXQub3B0aW9ucy53cmFwcGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoYXQub3B0aW9ucy5sb2NrID09PSAnaCcpIHtcclxuICAgICAgICAgICAgICAgIHkgPSB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGF0Ll90YXBtb3ZlKHtcclxuICAgICAgICAgICAgICAgIGNsaWVudFg6IGxlZnQgKyB3aWR0aCAqIHgsXHJcbiAgICAgICAgICAgICAgICBjbGllbnRZOiB0b3AgKyBoZWlnaHQgKiB5XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIGRlc3Ryb3koKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHtvcHRpb25zLCBfdGFwc3RhcnQsIF9rZXlib2FyZH0gPSB0aGF0O1xyXG4gICAgICAgICAgICBfLm9mZihkb2N1bWVudCwgWydrZXlkb3duJywgJ2tleXVwJ10sIF9rZXlib2FyZCk7XHJcbiAgICAgICAgICAgIF8ub2ZmKFtvcHRpb25zLndyYXBwZXIsIG9wdGlvbnMuZWxlbWVudF0sICdtb3VzZWRvd24nLCBfdGFwc3RhcnQpO1xyXG4gICAgICAgICAgICBfLm9mZihbb3B0aW9ucy53cmFwcGVyLCBvcHRpb25zLmVsZW1lbnRdLCAndG91Y2hzdGFydCcsIF90YXBzdGFydCwge1xyXG4gICAgICAgICAgICAgICAgcGFzc2l2ZTogZmFsc2VcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBJbml0aWxpemVcclxuICAgIGNvbnN0IHtvcHRpb25zLCBfdGFwc3RhcnQsIF9rZXlib2FyZH0gPSB0aGF0O1xyXG4gICAgXy5vbihbb3B0aW9ucy53cmFwcGVyLCBvcHRpb25zLmVsZW1lbnRdLCAnbW91c2Vkb3duJywgX3RhcHN0YXJ0KTtcclxuICAgIF8ub24oW29wdGlvbnMud3JhcHBlciwgb3B0aW9ucy5lbGVtZW50XSwgJ3RvdWNoc3RhcnQnLCBfdGFwc3RhcnQsIHtcclxuICAgICAgICBwYXNzaXZlOiBmYWxzZVxyXG4gICAgfSk7XHJcblxyXG4gICAgXy5vbihkb2N1bWVudCwgWydrZXlkb3duJywgJ2tleXVwJ10sIF9rZXlib2FyZCk7XHJcblxyXG4gICAgcmV0dXJuIHRoYXQ7XHJcbn1cclxuIiwgImltcG9ydCAqIGFzIF8gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBTZWxlY3RhYmxlKG9wdCA9IHt9KSB7XG4gICAgb3B0ID0gT2JqZWN0LmFzc2lnbih7XG4gICAgICAgIG9uY2hhbmdlOiAoKSA9PiAwLFxuICAgICAgICBjbGFzc05hbWU6ICcnLFxuICAgICAgICBlbGVtZW50czogW11cbiAgICB9LCBvcHQpO1xuXG4gICAgY29uc3Qgb25UYXAgPSBfLm9uKG9wdC5lbGVtZW50cywgJ2NsaWNrJywgZXZ0ID0+IHtcbiAgICAgICAgb3B0LmVsZW1lbnRzLmZvckVhY2goZSA9PlxuICAgICAgICAgICAgZS5jbGFzc0xpc3RbZXZ0LnRhcmdldCA9PT0gZSA/ICdhZGQnIDogJ3JlbW92ZSddKG9wdC5jbGFzc05hbWUpXG4gICAgICAgICk7XG5cbiAgICAgICAgb3B0Lm9uY2hhbmdlKGV2dCk7XG5cbiAgICAgICAgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vU2ltb253ZXAvcGlja3IvaXNzdWVzLzI0M1xuICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBkZXN0cm95OiAoKSA9PiBfLm9mZiguLi5vblRhcClcbiAgICB9O1xufVxuIiwgImltcG9ydCAqIGFzIF8gZnJvbSAnLi91dGlscy91dGlscyc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBpbnN0YW5jZSA9PiB7XHJcblxyXG4gICAgY29uc3Qge1xyXG4gICAgICAgIGNvbXBvbmVudHMsXHJcbiAgICAgICAgdXNlQXNCdXR0b24sXHJcbiAgICAgICAgaW5saW5lLFxyXG4gICAgICAgIGFwcENsYXNzLFxyXG4gICAgICAgIHRoZW1lLFxyXG4gICAgICAgIGxvY2tPcGFjaXR5XHJcbiAgICB9ID0gaW5zdGFuY2Uub3B0aW9ucztcclxuXHJcbiAgICAvLyBVdGlsc1xyXG4gICAgY29uc3QgaGlkZGVuID0gY29uID0+IGNvbiA/ICcnIDogJ3N0eWxlPVwiZGlzcGxheTpub25lXCIgaGlkZGVuJztcclxuICAgIGNvbnN0IHQgPSBzdHIgPT4gaW5zdGFuY2UuX3Qoc3RyKTtcclxuXHJcbiAgICBjb25zdCByb290ID0gXy5jcmVhdGVGcm9tVGVtcGxhdGUoYFxyXG4gICAgICA8ZGl2IDpyZWY9XCJyb290XCIgY2xhc3M9XCJwaWNrclwiPlxyXG5cclxuICAgICAgICAke3VzZUFzQnV0dG9uID8gJycgOiAnPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgOnJlZj1cImJ1dHRvblwiIGNsYXNzPVwicGNyLWJ1dHRvblwiPjwvYnV0dG9uPid9XHJcblxyXG4gICAgICAgIDxkaXYgOnJlZj1cImFwcFwiIGNsYXNzPVwicGNyLWFwcCAke2FwcENsYXNzIHx8ICcnfVwiIGRhdGEtdGhlbWU9XCIke3RoZW1lfVwiICR7aW5saW5lID8gJ3N0eWxlPVwicG9zaXRpb246IHVuc2V0XCInIDogJyd9IGFyaWEtbGFiZWw9XCIke3QoJ3VpOmRpYWxvZycsICdjb2xvciBwaWNrZXIgZGlhbG9nJyl9XCIgcm9sZT1cIndpbmRvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBjci1zZWxlY3Rpb25cIiAke2hpZGRlbihjb21wb25lbnRzLnBhbGV0dGUpfT5cclxuICAgICAgICAgICAgPGRpdiA6b2JqPVwicHJldmlld1wiIGNsYXNzPVwicGNyLWNvbG9yLXByZXZpZXdcIiAke2hpZGRlbihjb21wb25lbnRzLnByZXZpZXcpfT5cclxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiA6cmVmPVwibGFzdENvbG9yXCIgY2xhc3M9XCJwY3ItbGFzdC1jb2xvclwiIGFyaWEtbGFiZWw9XCIke3QoJ2J0bjpsYXN0LWNvbG9yJyl9XCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGRpdiA6cmVmPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJwY3ItY3VycmVudC1jb2xvclwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgOm9iaj1cInBhbGV0dGVcIiBjbGFzcz1cInBjci1jb2xvci1wYWxldHRlXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiA6cmVmPVwicGlja2VyXCIgY2xhc3M9XCJwY3ItcGlja2VyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiA6cmVmPVwicGFsZXR0ZVwiIGNsYXNzPVwicGNyLXBhbGV0dGVcIiB0YWJpbmRleD1cIjBcIiBhcmlhLWxhYmVsPVwiJHt0KCdhcmlhOnBhbGV0dGUnKX1cIiByb2xlPVwibGlzdGJveFwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgOm9iaj1cImh1ZVwiIGNsYXNzPVwicGNyLWNvbG9yLWNob29zZXJcIiAke2hpZGRlbihjb21wb25lbnRzLmh1ZSl9PlxyXG4gICAgICAgICAgICAgIDxkaXYgOnJlZj1cInBpY2tlclwiIGNsYXNzPVwicGNyLXBpY2tlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgOnJlZj1cInNsaWRlclwiIGNsYXNzPVwicGNyLWh1ZSBwY3Itc2xpZGVyXCIgdGFiaW5kZXg9XCIwXCIgYXJpYS1sYWJlbD1cIiR7dCgnYXJpYTpodWUnKX1cIiByb2xlPVwic2xpZGVyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiA6b2JqPVwib3BhY2l0eVwiIGNsYXNzPVwicGNyLWNvbG9yLW9wYWNpdHlcIiAke2hpZGRlbihjb21wb25lbnRzLm9wYWNpdHkpfT5cclxuICAgICAgICAgICAgICA8ZGl2IDpyZWY9XCJwaWNrZXJcIiBjbGFzcz1cInBjci1waWNrZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IDpyZWY9XCJzbGlkZXJcIiBjbGFzcz1cInBjci1vcGFjaXR5IHBjci1zbGlkZXJcIiB0YWJpbmRleD1cIjBcIiBhcmlhLWxhYmVsPVwiJHt0KCdhcmlhOm9wYWNpdHknLCAnb3BhY2l0eSBzZWxlY3Rpb24gc2xpZGVyJyl9XCIgcm9sZT1cInNsaWRlclwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwY3Itc3dhdGNoZXMgJHtjb21wb25lbnRzLnBhbGV0dGUgPyAnJyA6ICdwY3ItbGFzdCd9XCIgOnJlZj1cInN3YXRjaGVzXCI+PC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiA6b2JqPVwiaW50ZXJhY3Rpb25cIiBjbGFzcz1cInBjci1pbnRlcmFjdGlvblwiICR7aGlkZGVuKE9iamVjdC5rZXlzKGNvbXBvbmVudHMuaW50ZXJhY3Rpb24pLmxlbmd0aCl9PlxyXG4gICAgICAgICAgICA8aW5wdXQgOnJlZj1cInJlc3VsdFwiIGNsYXNzPVwicGNyLXJlc3VsdFwiIHR5cGU9XCJ0ZXh0XCIgc3BlbGxjaGVjaz1cImZhbHNlXCIgJHtoaWRkZW4oY29tcG9uZW50cy5pbnRlcmFjdGlvbi5pbnB1dCl9IGFyaWEtbGFiZWw9XCIke3QoJ2FyaWE6aW5wdXQnLCAnY29sb3IgaW5wdXQgZmllbGQnKX1cIj5cclxuXHJcbiAgICAgICAgICAgIDxpbnB1dCA6YXJyPVwib3B0aW9uc1wiIGNsYXNzPVwicGNyLXR5cGVcIiBkYXRhLXR5cGU9XCJIRVhBXCIgdmFsdWU9XCIke2xvY2tPcGFjaXR5ID8gJ0hFWCcgOiAnSEVYQSd9XCIgdHlwZT1cImJ1dHRvblwiICR7aGlkZGVuKGNvbXBvbmVudHMuaW50ZXJhY3Rpb24uaGV4KX0+XHJcbiAgICAgICAgICAgIDxpbnB1dCA6YXJyPVwib3B0aW9uc1wiIGNsYXNzPVwicGNyLXR5cGVcIiBkYXRhLXR5cGU9XCJSR0JBXCIgdmFsdWU9XCIke2xvY2tPcGFjaXR5ID8gJ1JHQicgOiAnUkdCQSd9XCIgdHlwZT1cImJ1dHRvblwiICR7aGlkZGVuKGNvbXBvbmVudHMuaW50ZXJhY3Rpb24ucmdiYSl9PlxyXG4gICAgICAgICAgICA8aW5wdXQgOmFycj1cIm9wdGlvbnNcIiBjbGFzcz1cInBjci10eXBlXCIgZGF0YS10eXBlPVwiSFNMQVwiIHZhbHVlPVwiJHtsb2NrT3BhY2l0eSA/ICdIU0wnIDogJ0hTTEEnfVwiIHR5cGU9XCJidXR0b25cIiAke2hpZGRlbihjb21wb25lbnRzLmludGVyYWN0aW9uLmhzbGEpfT5cclxuICAgICAgICAgICAgPGlucHV0IDphcnI9XCJvcHRpb25zXCIgY2xhc3M9XCJwY3ItdHlwZVwiIGRhdGEtdHlwZT1cIkhTVkFcIiB2YWx1ZT1cIiR7bG9ja09wYWNpdHkgPyAnSFNWJyA6ICdIU1ZBJ31cIiB0eXBlPVwiYnV0dG9uXCIgJHtoaWRkZW4oY29tcG9uZW50cy5pbnRlcmFjdGlvbi5oc3ZhKX0+XHJcbiAgICAgICAgICAgIDxpbnB1dCA6YXJyPVwib3B0aW9uc1wiIGNsYXNzPVwicGNyLXR5cGVcIiBkYXRhLXR5cGU9XCJDTVlLXCIgdmFsdWU9XCJDTVlLXCIgdHlwZT1cImJ1dHRvblwiICR7aGlkZGVuKGNvbXBvbmVudHMuaW50ZXJhY3Rpb24uY215ayl9PlxyXG5cclxuICAgICAgICAgICAgPGlucHV0IDpyZWY9XCJzYXZlXCIgY2xhc3M9XCJwY3Itc2F2ZVwiIHZhbHVlPVwiJHt0KCdidG46c2F2ZScpfVwiIHR5cGU9XCJidXR0b25cIiAke2hpZGRlbihjb21wb25lbnRzLmludGVyYWN0aW9uLnNhdmUpfSBhcmlhLWxhYmVsPVwiJHt0KCdhcmlhOmJ0bjpzYXZlJyl9XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCA6cmVmPVwiY2FuY2VsXCIgY2xhc3M9XCJwY3ItY2FuY2VsXCIgdmFsdWU9XCIke3QoJ2J0bjpjYW5jZWwnKX1cIiB0eXBlPVwiYnV0dG9uXCIgJHtoaWRkZW4oY29tcG9uZW50cy5pbnRlcmFjdGlvbi5jYW5jZWwpfSBhcmlhLWxhYmVsPVwiJHt0KCdhcmlhOmJ0bjpjYW5jZWwnKX1cIj5cclxuICAgICAgICAgICAgPGlucHV0IDpyZWY9XCJjbGVhclwiIGNsYXNzPVwicGNyLWNsZWFyXCIgdmFsdWU9XCIke3QoJ2J0bjpjbGVhcicpfVwiIHR5cGU9XCJidXR0b25cIiAke2hpZGRlbihjb21wb25lbnRzLmludGVyYWN0aW9uLmNsZWFyKX0gYXJpYS1sYWJlbD1cIiR7dCgnYXJpYTpidG46Y2xlYXInKX1cIj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIGApO1xyXG5cclxuICAgIGNvbnN0IGludCA9IHJvb3QuaW50ZXJhY3Rpb247XHJcblxyXG4gICAgLy8gU2VsZWN0IG9wdGlvbiB3aGljaCBpcyBub3QgaGlkZGVuXHJcbiAgICBpbnQub3B0aW9ucy5maW5kKG8gPT4gIW8uaGlkZGVuICYmICFvLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpKTtcclxuXHJcbiAgICAvLyBBcHBlbmQgbWV0aG9kIHRvIGZpbmQgY3VycmVudGx5IGFjdGl2ZSBvcHRpb25cclxuICAgIGludC50eXBlID0gKCkgPT4gaW50Lm9wdGlvbnMuZmluZChlID0+IGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdhY3RpdmUnKSk7XHJcbiAgICByZXR1cm4gcm9vdDtcclxufTtcclxuIiwgInR5cGUgRGlyZWN0aW9uID0gJ3RvcCcgfCAnbGVmdCcgfCAnYm90dG9tJyB8ICdyaWdodCc7XG5cbmV4cG9ydCB0eXBlIFZhcmlhbnRGbGlwT3JkZXIgPSB7XG4gICAgc3RhcnQ6IHN0cmluZztcbiAgICBtaWRkbGU6IHN0cmluZztcbiAgICBlbmQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFBvc2l0aW9uRmxpcE9yZGVyID0ge1xuICAgIHRvcDogc3RyaW5nO1xuICAgIHJpZ2h0OiBzdHJpbmc7XG4gICAgYm90dG9tOiBzdHJpbmc7XG4gICAgbGVmdDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTmFub1BvcFBvc2l0aW9uID1cbiAgICAndG9wLXN0YXJ0JyB8ICd0b3AtbWlkZGxlJyB8ICd0b3AtZW5kJyB8XG4gICAgJ2xlZnQtc3RhcnQnIHwgJ2xlZnQtbWlkZGxlJyB8ICdsZWZ0LWVuZCcgfFxuICAgICdyaWdodC1zdGFydCcgfCAncmlnaHQtbWlkZGxlJyB8ICdyaWdodC1lbmQnIHxcbiAgICAnYm90dG9tLXN0YXJ0JyB8ICdib3R0b20tbWlkZGxlJyB8ICdib3R0b20tZW5kJyB8IERpcmVjdGlvbjtcblxuZXhwb3J0IHR5cGUgTmFub1BvcE9wdGlvbnMgPSB7XG4gICAgY29udGFpbmVyOiBET01SZWN0O1xuICAgIHBvc2l0aW9uOiBOYW5vUG9wUG9zaXRpb247XG4gICAgdmFyaWFudEZsaXBPcmRlcjogVmFyaWFudEZsaXBPcmRlcjtcbiAgICBwb3NpdGlvbkZsaXBPcmRlcjogUG9zaXRpb25GbGlwT3JkZXI7XG4gICAgbWFyZ2luOiBudW1iZXI7XG4gICAgcmVmZXJlbmNlPzogSFRNTEVsZW1lbnQ7XG4gICAgcG9wcGVyPzogSFRNTEVsZW1lbnQ7XG59O1xuXG50eXBlIEF2YWlsYWJsZVBvc2l0aW9ucyA9IHtcbiAgICB0OiBudW1iZXI7XG4gICAgYjogbnVtYmVyO1xuICAgIGw6IG51bWJlcjtcbiAgICByOiBudW1iZXI7XG59O1xuXG50eXBlIEF2YWlsYWJsZVZhcmlhbnRzID0ge1xuICAgIHZzOiBudW1iZXI7XG4gICAgdm06IG51bWJlcjtcbiAgICB2ZTogbnVtYmVyO1xuICAgIGhzOiBudW1iZXI7XG4gICAgaG06IG51bWJlcjtcbiAgICBoZTogbnVtYmVyO1xufTtcblxudHlwZSBQb3NpdGlvblBhaXJzID0gW0RpcmVjdGlvbiwgRGlyZWN0aW9uXTtcbmV4cG9ydCB0eXBlIFBvc2l0aW9uTWF0Y2ggPSAndHMnIHwgJ3RtJyB8ICd0ZScgfCAnYnMnIHwgJ2JtJyB8ICdiZScgfCAnbHMnIHwgJ2xtJyB8ICdsZScgfCAncnMnIHwgJ3JtJyB8ICdyZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmFub1BvcCB7XG4gICAgdXBkYXRlKHVwZGF0ZWRPcHRpb25zPzogUGFydGlhbDxOYW5vUG9wT3B0aW9ucz4pOiBQb3NpdGlvbk1hdGNoIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYW5vUG9wQ29uc3RydWN0b3Ige1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHJlZmVyZW5jZSBSZWZlcmVuY2UgZWxlbWVudFxuICAgICAqIEBwYXJhbSBwb3BwZXIgQWN0dWFsIHBvcHBlciBlbGVtZW50XG4gICAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWwgb3B0aW9uc1xuICAgICAqL1xuICAgIChyZWZlcmVuY2U6IEhUTUxFbGVtZW50LCBwb3BwZXI6IEhUTUxFbGVtZW50LCBvcHRpb25zPzogUGFydGlhbDxOYW5vUG9wT3B0aW9ucz4pOiBOYW5vUG9wO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUGFydGlhbCBvcHRpb25zIHdoaWNoIGdldCBtZXJnZWQgd2l0aCB0aGUgY3VycmVudCBvbmVcbiAgICAgKi9cbiAgICAob3B0aW9ucz86IFBhcnRpYWw8TmFub1BvcE9wdGlvbnM+KTogTmFub1BvcDtcbn1cblxuLy8gRXhwb3J0IGN1cnJlbnQgdmVyc2lvblxuZXhwb3J0IGNvbnN0IHZlcnNpb24gPSBWRVJTSU9OO1xuXG4vLyBFeHBvcnQgZGVmYXVsdFxuZXhwb3J0IGNvbnN0IGRlZmF1bHRzID0ge1xuICAgIHZhcmlhbnRGbGlwT3JkZXI6IHtzdGFydDogJ3NtZScsIG1pZGRsZTogJ21zZScsIGVuZDogJ2Vtcyd9LFxuICAgIHBvc2l0aW9uRmxpcE9yZGVyOiB7dG9wOiAndGJybCcsIHJpZ2h0OiAncmx0YicsIGJvdHRvbTogJ2J0cmwnLCBsZWZ0OiAnbHJidCd9LFxuICAgIHBvc2l0aW9uOiAnYm90dG9tJyxcbiAgICBtYXJnaW46IDhcbn07XG5cbi8qKlxuICogUmVwb3NpdGlvbnMgYW4gZWxlbWVudCBvbmNlIHVzaW5nIHRoZSBwcm92aWRlZCBvcHRpb25zIGFuZCBlbGVtZW50cy5cbiAqIEBwYXJhbSByZWZlcmVuY2UgUmVmZXJlbmNlIGVsZW1lbnRcbiAqIEBwYXJhbSBwb3BwZXIgUG9wcGVyIGVsZW1lbnRcbiAqIEBwYXJhbSBvcHQgT3B0aW9uYWwsIGFkZGl0aW9uYWwgb3B0aW9uc1xuICovXG5leHBvcnQgY29uc3QgcmVwb3NpdGlvbiA9IChcbiAgICByZWZlcmVuY2U6IEhUTUxFbGVtZW50LFxuICAgIHBvcHBlcjogSFRNTEVsZW1lbnQsXG4gICAgb3B0PzogUGFydGlhbDxOYW5vUG9wT3B0aW9ucz5cbik6IFBvc2l0aW9uTWF0Y2ggfCBudWxsID0+IHtcbiAgICBjb25zdCB7XG4gICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgbWFyZ2luLFxuICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgdmFyaWFudEZsaXBPcmRlcixcbiAgICAgICAgcG9zaXRpb25GbGlwT3JkZXJcbiAgICB9ID0ge1xuICAgICAgICBjb250YWluZXI6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICAgICAgLi4uZGVmYXVsdHMsXG4gICAgICAgIC4uLm9wdFxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBSZXNldCBwb3NpdGlvbiB0byByZXNvbHZlIHZpZXdwb3J0XG4gICAgICogU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9wb3NpdGlvbiNmaXhlZFxuICAgICAqL1xuICAgIGNvbnN0IHtsZWZ0OiBvcmlnaW5hbExlZnQsIHRvcDogb3JpZ2luYWxUb3B9ID0gcG9wcGVyLnN0eWxlO1xuICAgIHBvcHBlci5zdHlsZS5sZWZ0ID0gJzAnO1xuICAgIHBvcHBlci5zdHlsZS50b3AgPSAnMCc7XG5cbiAgICBjb25zdCByZWZCb3ggPSByZWZlcmVuY2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgcG9wQm94ID0gcG9wcGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgLyoqXG4gICAgICogSG9sZHMgY29vcmRpbmF0ZXMgb2YgdG9wLCBsZWZ0LCBib3R0b20gYW5kIHJpZ2h0IGFsaWdubWVudFxuICAgICAqL1xuICAgIGNvbnN0IHBvc2l0aW9uU3RvcmU6IEF2YWlsYWJsZVBvc2l0aW9ucyA9IHtcbiAgICAgICAgdDogcmVmQm94LnRvcCAtIHBvcEJveC5oZWlnaHQgLSBtYXJnaW4sXG4gICAgICAgIGI6IHJlZkJveC5ib3R0b20gKyBtYXJnaW4sXG4gICAgICAgIHI6IHJlZkJveC5yaWdodCArIG1hcmdpbixcbiAgICAgICAgbDogcmVmQm94LmxlZnQgLSBwb3BCb3gud2lkdGggLSBtYXJnaW5cbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogSG9sZHMgY29ycmVzcG9uZGluZyB2YXJpYW50cyAoc3RhcnQsIG1pZGRsZSwgZW5kKS5cbiAgICAgKiBUaGUgdmFsdWVzIGRlcGVuZCBvbiBob3Jpem9udGFsIC8gdmVydGljYWwgb3JpZW50YXRpb25cbiAgICAgKi9cbiAgICBjb25zdCB2YXJpYW50U3RvcmU6IEF2YWlsYWJsZVZhcmlhbnRzID0ge1xuICAgICAgICB2czogcmVmQm94LmxlZnQsXG4gICAgICAgIHZtOiByZWZCb3gubGVmdCArIHJlZkJveC53aWR0aCAvIDIgKyAtcG9wQm94LndpZHRoIC8gMixcbiAgICAgICAgdmU6IHJlZkJveC5sZWZ0ICsgcmVmQm94LndpZHRoIC0gcG9wQm94LndpZHRoLFxuICAgICAgICBoczogcmVmQm94LnRvcCxcbiAgICAgICAgaG06IHJlZkJveC5ib3R0b20gLSByZWZCb3guaGVpZ2h0IC8gMiAtIHBvcEJveC5oZWlnaHQgLyAyLFxuICAgICAgICBoZTogcmVmQm94LmJvdHRvbSAtIHBvcEJveC5oZWlnaHRcbiAgICB9O1xuXG4gICAgLy8gRXh0cmFjdCBwb3NpdGlvbiBhbmQgdmFyaWFudFxuICAgIC8vIFRvcC1zdGFydCAtPiB0b3AgaXMgXCJwb3NpdGlvblwiIGFuZCBcInN0YXJ0XCIgaXMgdGhlIHZhcmlhbnRcbiAgICBjb25zdCBbcG9zS2V5LCB2YXJLZXkgPSAnbWlkZGxlJ10gPSBwb3NpdGlvbi5zcGxpdCgnLScpO1xuICAgIGNvbnN0IHBvc2l0aW9ucyA9IHBvc2l0aW9uRmxpcE9yZGVyW3Bvc0tleSBhcyBrZXlvZiBQb3NpdGlvbkZsaXBPcmRlcl07XG4gICAgY29uc3QgdmFyaWFudHMgPSB2YXJpYW50RmxpcE9yZGVyW3ZhcktleSBhcyBrZXlvZiBWYXJpYW50RmxpcE9yZGVyXTtcblxuICAgIC8vIFRyeSBvdXQgYWxsIHBvc3NpYmxlIGNvbWJpbmF0aW9ucywgc3RhcnRpbmcgd2l0aCB0aGUgcHJlZmVycmVkIG9uZS5cbiAgICBjb25zdCB7dG9wLCBsZWZ0LCBib3R0b20sIHJpZ2h0fSA9IGNvbnRhaW5lcjtcblxuICAgIGZvciAoY29uc3QgcCBvZiBwb3NpdGlvbnMpIHtcbiAgICAgICAgY29uc3QgdmVydGljYWwgPSAocCA9PT0gJ3QnIHx8IHAgPT09ICdiJyk7XG5cbiAgICAgICAgLy8gVGhlIHBvc2l0aW9uLXZhbHVlXG4gICAgICAgIGNvbnN0IHBvc2l0aW9uVmFsID0gcG9zaXRpb25TdG9yZVtwIGFzIGtleW9mIEF2YWlsYWJsZVBvc2l0aW9uc107XG5cbiAgICAgICAgLy8gV2hpY2ggcHJvcGVydHkgaGFzIHRvIGJlIGNoYW5nZXMuXG4gICAgICAgIGNvbnN0IFtwb3NpdGlvbktleSwgdmFyaWFudEtleV0gPSAodmVydGljYWwgPyBbJ3RvcCcsICdsZWZ0J10gOiBbJ2xlZnQnLCAndG9wJ10pIGFzIFBvc2l0aW9uUGFpcnM7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIGJveCByZWZlcnMgdG8gdGhlIHNpemUgb2YgdGhlIHBvcHBlciBlbGVtZW50LiBEZXBlbmRpbmcgb24gdGhlIG9yaWVudGF0aW9uIHRoaXMgaXMgd2lkdGggb3IgaGVpZ2h0LlxuICAgICAgICAgKiBUaGUgbGltaXQgaXMgdGhlIGNvcnJlc3BvbmRpbmcsIG1heGltdW0gdmFsdWUgZm9yIHRoaXMgcG9zaXRpb24uXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBbcG9zaXRpb25TaXplLCB2YXJpYW50U2l6ZV0gPSB2ZXJ0aWNhbCA/IFtwb3BCb3guaGVpZ2h0LCBwb3BCb3gud2lkdGhdIDogW3BvcEJveC53aWR0aCwgcG9wQm94LmhlaWdodF07XG4gICAgICAgIGNvbnN0IFtwb3NpdGlvbk1heGltdW0sIHZhcmlhbnRNYXhpbXVtXSA9IHZlcnRpY2FsID8gW2JvdHRvbSwgcmlnaHRdIDogW3JpZ2h0LCBib3R0b21dO1xuICAgICAgICBjb25zdCBbcG9zaXRpb25NaW5pbXVtLCB2YXJpYW50TWluaW11bV0gPSB2ZXJ0aWNhbCA/IFt0b3AsIGxlZnRdIDogW2xlZnQsIHRvcF07XG5cbiAgICAgICAgLy8gU2tpcCBwcmUtY2xpcHBlZCB2YWx1ZXNcbiAgICAgICAgaWYgKHBvc2l0aW9uVmFsIDwgcG9zaXRpb25NaW5pbXVtIHx8IChwb3NpdGlvblZhbCArIHBvc2l0aW9uU2l6ZSkgPiBwb3NpdGlvbk1heGltdW0pIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCB2IG9mIHZhcmlhbnRzKSB7XG5cbiAgICAgICAgICAgIC8vIFRoZSBwb3NpdGlvbi12YWx1ZSwgdGhlIHJlbGF0ZWQgc2l6ZSB2YWx1ZSBvZiB0aGUgcG9wcGVyIGFuZCB0aGUgbGltaXRcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhbnRWYWwgPSB2YXJpYW50U3RvcmVbKCh2ZXJ0aWNhbCA/ICd2JyA6ICdoJykgKyB2KSBhcyBrZXlvZiBBdmFpbGFibGVWYXJpYW50c107XG5cbiAgICAgICAgICAgIGlmICh2YXJpYW50VmFsIDwgdmFyaWFudE1pbmltdW0gfHwgKHZhcmlhbnRWYWwgKyB2YXJpYW50U2l6ZSkgPiB2YXJpYW50TWF4aW11bSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBcHBseSBzdHlsZXMgYW5kIG5vcm1hbGl6ZSB2aWV3cG9ydFxuICAgICAgICAgICAgcG9wcGVyLnN0eWxlW3ZhcmlhbnRLZXldID0gYCR7dmFyaWFudFZhbCAtIHBvcEJveFt2YXJpYW50S2V5XX1weGA7XG4gICAgICAgICAgICBwb3BwZXIuc3R5bGVbcG9zaXRpb25LZXldID0gYCR7cG9zaXRpb25WYWwgLSBwb3BCb3hbcG9zaXRpb25LZXldfXB4YDtcbiAgICAgICAgICAgIHJldHVybiAocCArIHYpIGFzIFBvc2l0aW9uTWF0Y2g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXZlcnQgc3R5bGUgdmFsdWVzICh3b24ndCB3b3JrIHdpdGggc3R5bGVkLWVsZW1lbnRzIG9yIHNpbWlsYXIgc3lzdGVtcylcbiAgICAvLyBcIkZpeFwiIGZvciBodHRwczovL2dpdGh1Yi5jb20vU2ltb253ZXAvbmFub3BvcC9pc3N1ZXMvN1xuICAgIHBvcHBlci5zdHlsZS5sZWZ0ID0gb3JpZ2luYWxMZWZ0O1xuICAgIHBvcHBlci5zdHlsZS50b3AgPSBvcmlnaW5hbFRvcDtcblxuICAgIHJldHVybiBudWxsO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgc3RhdGVmdWwgcG9wcGVyLlxuICogWW91IGNhbiBlaXRoZXIuLi5cbiAqIC4uLiBwYXNzIGFuIG9wdGlvbnMgb2JqZWN0OiBjcmVhdGVQb3BwZXIoPG9wdGlvbnM+KVxuICogLi4uIHBhc3MgYm90aCB0aGUgcmVmZXJlbmNlIGFuZCBwb3BwZXI6IGNyZWF0ZSg8cmVmPiwgPGVsPiwgPD9vcHRpb25zPilcbiAqIC4uLiBwYXNzIG5vdGhpbmcsIGluIHRoaXMgY2FzZSB5b3UnbGwgaGF2ZSB0byBzZXQgYXQgbGVhc3QgYm90aCBhIHJlZmVyZW5jZSBhbmQgYSBwb3BwZXIgaW4gdXBkYXRlLlxuICpcbiAqIEBwYXJhbSByZWZlcmVuY2UgfCBvcHRpb25zIFJlZmVyZW5jZSBlbGVtZW50IG9yIG9wdGlvbnNcbiAqIEBwYXJhbSBwb3BwZXIgUG9wcGVyIGVsZW1lbnRcbiAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsIGFkZGl0aW9uYWwgb3B0aW9uc1xuICovXG5leHBvcnQgY29uc3QgY3JlYXRlUG9wcGVyOiBOYW5vUG9wQ29uc3RydWN0b3IgPSAoXG4gICAgcmVmZXJlbmNlPzogSFRNTEVsZW1lbnQgfCBQYXJ0aWFsPE5hbm9Qb3BPcHRpb25zPixcbiAgICBwb3BwZXI/OiBIVE1MRWxlbWVudCxcbiAgICBvcHRpb25zPzogUGFydGlhbDxOYW5vUG9wT3B0aW9ucz5cbik6IE5hbm9Qb3AgPT4ge1xuXG4gICAgLy8gUmVzb2x2ZSBvcHRpb25zXG4gICAgY29uc3QgYmFzZU9wdGlvbnM6IFBhcnRpYWw8TmFub1BvcE9wdGlvbnM+ID0gdHlwZW9mIHJlZmVyZW5jZSA9PT0gJ29iamVjdCcgJiYgIShyZWZlcmVuY2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgP1xuICAgICAgICByZWZlcmVuY2UgOiB7cmVmZXJlbmNlLCBwb3BwZXIsIC4uLm9wdGlvbnN9O1xuXG4gICAgcmV0dXJuIHtcblxuICAgICAgICAvKipcbiAgICAgICAgICogUmVwb3NpdGlvbnMgdGhlIGN1cnJlbnQgcG9wcGVyLlxuICAgICAgICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCBvcHRpb25zIHdoaWNoIGdldCBtZXJnZWQgd2l0aCB0aGUgY3VycmVudCBvbmVzLlxuICAgICAgICAgKi9cbiAgICAgICAgdXBkYXRlKG9wdGlvbnM6IFBhcnRpYWw8TmFub1BvcE9wdGlvbnM+ID0gYmFzZU9wdGlvbnMpOiBQb3NpdGlvbk1hdGNoIHwgbnVsbCB7XG4gICAgICAgICAgICBjb25zdCB7cmVmZXJlbmNlLCBwb3BwZXJ9ID0gT2JqZWN0LmFzc2lnbihiYXNlT3B0aW9ucywgb3B0aW9ucyk7XG5cbiAgICAgICAgICAgIGlmICghcG9wcGVyIHx8ICFyZWZlcmVuY2UpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BvcHBlci0gb3IgcmVmZXJlbmNlLWVsZW1lbnQgbWlzc2luZy4nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlcG9zaXRpb24ocmVmZXJlbmNlLCBwb3BwZXIsIGJhc2VPcHRpb25zKTtcbiAgICAgICAgfVxuICAgIH07XG59O1xuIiwgImltcG9ydCAqIGFzIF8gZnJvbSAnLi91dGlscy91dGlscyc7XG5pbXBvcnQge3BhcnNlVG9IU1ZBfSBmcm9tICcuL3V0aWxzL2NvbG9yJztcbmltcG9ydCB7SFNWYUNvbG9yfSBmcm9tICcuL3V0aWxzL2hzdmFjb2xvcic7XG5pbXBvcnQgTW92ZWFibGUgZnJvbSAnLi9saWJzL21vdmVhYmxlJztcbmltcG9ydCBTZWxlY3RhYmxlIGZyb20gJy4vbGlicy9zZWxlY3RhYmxlJztcbmltcG9ydCBidWlsZFBpY2tyIGZyb20gJy4vdGVtcGxhdGUnO1xuaW1wb3J0IHtjcmVhdGVQb3BwZXJ9IGZyb20gJ25hbm9wb3AnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQaWNrciB7XG5cbiAgICAvLyBFeHBvc2UgcGlja3IgdXRpbHNcbiAgICBzdGF0aWMgdXRpbHMgPSBfO1xuXG4gICAgLy8gQXNzaWduIHZlcnNpb24gYW5kIGV4cG9ydFxuICAgIHN0YXRpYyB2ZXJzaW9uID0gVkVSU0lPTjtcblxuICAgIC8vIERlZmF1bHQgc3RyaW5nc1xuICAgIHN0YXRpYyBJMThOX0RFRkFVTFRTID0ge1xuXG4gICAgICAgIC8vIFN0cmluZ3MgdmlzaWJsZSBpbiB0aGUgVUlcbiAgICAgICAgJ3VpOmRpYWxvZyc6ICdjb2xvciBwaWNrZXIgZGlhbG9nJyxcbiAgICAgICAgJ2J0bjp0b2dnbGUnOiAndG9nZ2xlIGNvbG9yIHBpY2tlciBkaWFsb2cnLFxuICAgICAgICAnYnRuOnN3YXRjaCc6ICdjb2xvciBzd2F0Y2gnLFxuICAgICAgICAnYnRuOmxhc3QtY29sb3InOiAndXNlIHByZXZpb3VzIGNvbG9yJyxcbiAgICAgICAgJ2J0bjpzYXZlJzogJ1NhdmUnLFxuICAgICAgICAnYnRuOmNhbmNlbCc6ICdDYW5jZWwnLFxuICAgICAgICAnYnRuOmNsZWFyJzogJ0NsZWFyJyxcblxuICAgICAgICAvLyBTdHJpbmdzIHVzZWQgZm9yIGFyaWEtbGFiZWxzXG4gICAgICAgICdhcmlhOmJ0bjpzYXZlJzogJ3NhdmUgYW5kIGNsb3NlJyxcbiAgICAgICAgJ2FyaWE6YnRuOmNhbmNlbCc6ICdjYW5jZWwgYW5kIGNsb3NlJyxcbiAgICAgICAgJ2FyaWE6YnRuOmNsZWFyJzogJ2NsZWFyIGFuZCBjbG9zZScsXG4gICAgICAgICdhcmlhOmlucHV0JzogJ2NvbG9yIGlucHV0IGZpZWxkJyxcbiAgICAgICAgJ2FyaWE6cGFsZXR0ZSc6ICdjb2xvciBzZWxlY3Rpb24gYXJlYScsXG4gICAgICAgICdhcmlhOmh1ZSc6ICdodWUgc2VsZWN0aW9uIHNsaWRlcicsXG4gICAgICAgICdhcmlhOm9wYWNpdHknOiAnc2VsZWN0aW9uIHNsaWRlcidcbiAgICB9O1xuXG4gICAgLy8gRGVmYXVsdCBvcHRpb25zXG4gICAgc3RhdGljIERFRkFVTFRfT1BUSU9OUyA9IHtcbiAgICAgICAgYXBwQ2xhc3M6IG51bGwsXG4gICAgICAgIHRoZW1lOiAnY2xhc3NpYycsXG4gICAgICAgIHVzZUFzQnV0dG9uOiBmYWxzZSxcbiAgICAgICAgcGFkZGluZzogOCxcbiAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICBjb21wYXJpc29uOiB0cnVlLFxuICAgICAgICBjbG9zZU9uU2Nyb2xsOiBmYWxzZSxcbiAgICAgICAgb3V0cHV0UHJlY2lzaW9uOiAwLFxuICAgICAgICBsb2NrT3BhY2l0eTogZmFsc2UsXG4gICAgICAgIGF1dG9SZXBvc2l0aW9uOiB0cnVlLFxuICAgICAgICBjb250YWluZXI6ICdib2R5JyxcblxuICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICBpbnRlcmFjdGlvbjoge31cbiAgICAgICAgfSxcblxuICAgICAgICBpMThuOiB7fSxcbiAgICAgICAgc3dhdGNoZXM6IG51bGwsXG4gICAgICAgIGlubGluZTogZmFsc2UsXG4gICAgICAgIHNsaWRlcnM6IG51bGwsXG5cbiAgICAgICAgZGVmYXVsdDogJyM0MjQ0NWEnLFxuICAgICAgICBkZWZhdWx0UmVwcmVzZW50YXRpb246IG51bGwsXG4gICAgICAgIHBvc2l0aW9uOiAnYm90dG9tLW1pZGRsZScsXG4gICAgICAgIGFkanVzdGFibGVOdW1iZXJzOiB0cnVlLFxuICAgICAgICBzaG93QWx3YXlzOiBmYWxzZSxcblxuICAgICAgICBjbG9zZVdpdGhLZXk6ICdFc2NhcGUnXG4gICAgfTtcblxuICAgIC8vIFdpbGwgYmUgdXNlZCB0byBwcmV2ZW50IHNwZWNpZmljIGFjdGlvbnMgZHVyaW5nIGluaXRpbGl6YXRpb25cbiAgICBfaW5pdGlhbGl6aW5nQWN0aXZlID0gdHJ1ZTtcblxuICAgIC8vIElmIHRoZSBjdXJyZW50IGNvbG9yIHZhbHVlIHNob3VsZCBiZSByZWNhbGN1bGF0ZWRcbiAgICBfcmVjYWxjID0gdHJ1ZTtcblxuICAgIC8vIFBvc2l0aW9uaW5nIGVuZ2luZSBhbmQgRE9NLVRyZWVcbiAgICBfbmFub3BvcCA9IG51bGw7XG4gICAgX3Jvb3QgPSBudWxsO1xuXG4gICAgLy8gQ3VycmVudCBhbmQgbGFzdCBjb2xvciBmb3IgY29tcGFyaXNvblxuICAgIF9jb2xvciA9IEhTVmFDb2xvcigpO1xuICAgIF9sYXN0Q29sb3IgPSBIU1ZhQ29sb3IoKTtcbiAgICBfc3dhdGNoQ29sb3JzID0gW107XG5cbiAgICAvLyBBbmltYXRpb24gZnJhbWUgdXNlZCBmb3Igc2V0dXAuXG4gICAgLy8gV2lsbCBiZSBjYW5jZWxsZWQgaW4gY2FzZSBvZiBkZXN0cnVjdGlvbi5cbiAgICBfc2V0dXBBbmltYXRpb25GcmFtZSA9IG51bGw7XG5cbiAgICAvLyBFdmVubGlzdGVuZXIgbmFtZTogW2NhbGxiYWNrc11cbiAgICBfZXZlbnRMaXN0ZW5lciA9IHtcbiAgICAgICAgaW5pdDogW10sXG4gICAgICAgIHNhdmU6IFtdLFxuICAgICAgICBoaWRlOiBbXSxcbiAgICAgICAgc2hvdzogW10sXG4gICAgICAgIGNsZWFyOiBbXSxcbiAgICAgICAgY2hhbmdlOiBbXSxcbiAgICAgICAgY2hhbmdlc3RvcDogW10sXG4gICAgICAgIGNhbmNlbDogW10sXG4gICAgICAgIHN3YXRjaHNlbGVjdDogW11cbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3Iob3B0KSB7XG5cbiAgICAgICAgLy8gQXNzaWduIGRlZmF1bHQgdmFsdWVzXG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdCA9IE9iamVjdC5hc3NpZ24oey4uLlBpY2tyLkRFRkFVTFRfT1BUSU9OU30sIG9wdCk7XG5cbiAgICAgICAgY29uc3Qge3N3YXRjaGVzLCBjb21wb25lbnRzLCB0aGVtZSwgc2xpZGVycywgbG9ja09wYWNpdHksIHBhZGRpbmd9ID0gb3B0O1xuXG4gICAgICAgIGlmIChbJ25hbm8nLCAnbW9ub2xpdGgnXS5pbmNsdWRlcyh0aGVtZSkgJiYgIXNsaWRlcnMpIHtcbiAgICAgICAgICAgIG9wdC5zbGlkZXJzID0gJ2gnO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2sgaW50ZXJhY3Rpb24gc2VjdGlvblxuICAgICAgICBpZiAoIWNvbXBvbmVudHMuaW50ZXJhY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbXBvbmVudHMuaW50ZXJhY3Rpb24gPSB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE92ZXJ3cml0ZSBwYWxldHRlIGlmIHByZXZpZXcsIG9wYWNpdHkgb3IgaHVlIGFyZSB0cnVlXG4gICAgICAgIGNvbnN0IHtwcmV2aWV3LCBvcGFjaXR5LCBodWUsIHBhbGV0dGV9ID0gY29tcG9uZW50cztcbiAgICAgICAgY29tcG9uZW50cy5vcGFjaXR5ID0gKCFsb2NrT3BhY2l0eSAmJiBvcGFjaXR5KTtcbiAgICAgICAgY29tcG9uZW50cy5wYWxldHRlID0gcGFsZXR0ZSB8fCBwcmV2aWV3IHx8IG9wYWNpdHkgfHwgaHVlO1xuXG4gICAgICAgIC8vIEluaXRpYWxpemUgcGlja2VyXG4gICAgICAgIHRoaXMuX3ByZUJ1aWxkKCk7XG4gICAgICAgIHRoaXMuX2J1aWxkQ29tcG9uZW50cygpO1xuICAgICAgICB0aGlzLl9iaW5kRXZlbnRzKCk7XG4gICAgICAgIHRoaXMuX2ZpbmFsQnVpbGQoKTtcblxuICAgICAgICAvLyBBcHBlbmQgcHJlLWRlZmluZWQgc3dhdGNoIGNvbG9yc1xuICAgICAgICBpZiAoc3dhdGNoZXMgJiYgc3dhdGNoZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBzd2F0Y2hlcy5mb3JFYWNoKGNvbG9yID0+IHRoaXMuYWRkU3dhdGNoKGNvbG9yKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbml0aWFsaXplIHBvc2l0aW9uaW5nIGVuZ2luZVxuICAgICAgICBjb25zdCB7YnV0dG9uLCBhcHB9ID0gdGhpcy5fcm9vdDtcbiAgICAgICAgdGhpcy5fbmFub3BvcCA9IGNyZWF0ZVBvcHBlcihidXR0b24sIGFwcCwge1xuICAgICAgICAgICAgbWFyZ2luOiBwYWRkaW5nXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEluaXRpYWxpemUgYWNjZXNzaWJpbGl0eVxuICAgICAgICBidXR0b24uc2V0QXR0cmlidXRlKCdyb2xlJywgJ2J1dHRvbicpO1xuICAgICAgICBidXR0b24uc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywgdGhpcy5fdCgnYnRuOnRvZ2dsZScpKTtcblxuICAgICAgICAvLyBJbml0aWxpemF0aW9uIGlzIGZpbmlzaCwgcGlja3IgaXMgdmlzaWJsZSBhbmQgcmVhZHkgZm9yIHVzYWdlXG4gICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICB0aGlzLl9zZXR1cEFuaW1hdGlvbkZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbiBjYigpIHtcblxuICAgICAgICAgICAgLy8gVE9ETzogUGVyZm9ybWFuY2UgaXNzdWUgZHVlIHRvIGhpZ2ggY2FsbC1yYXRlP1xuICAgICAgICAgICAgaWYgKCFhcHAub2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQXBwbHkgZGVmYXVsdCBjb2xvclxuICAgICAgICAgICAgdGhhdC5zZXRDb2xvcihvcHQuZGVmYXVsdCk7XG4gICAgICAgICAgICB0aGF0Ll9yZVBvc2l0aW9uaW5nUGlja2VyKCk7XG5cbiAgICAgICAgICAgIC8vIEluaXRpYWxpemUgY29sb3IgcmVwcmVzZW50YXRpb25cbiAgICAgICAgICAgIGlmIChvcHQuZGVmYXVsdFJlcHJlc2VudGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhhdC5fcmVwcmVzZW50YXRpb24gPSBvcHQuZGVmYXVsdFJlcHJlc2VudGF0aW9uO1xuICAgICAgICAgICAgICAgIHRoYXQuc2V0Q29sb3JSZXByZXNlbnRhdGlvbih0aGF0Ll9yZXByZXNlbnRhdGlvbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNob3cgcGlja3IgaWYgbG9ja2VkXG4gICAgICAgICAgICBpZiAob3B0LnNob3dBbHdheXMpIHtcbiAgICAgICAgICAgICAgICB0aGF0LnNob3coKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSW5pdGlhbGl6YXRpb24gaXMgZG9uZSAtIHBpY2tyIGlzIHVzYWJsZSwgZmlyZSBpbml0IGV2ZW50XG4gICAgICAgICAgICB0aGF0Ll9pbml0aWFsaXppbmdBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoYXQuX2VtaXQoJ2luaXQnKTtcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBpbnN0YW5jZSB2aWEgbWV0aG9kXG4gICAgc3RhdGljIGNyZWF0ZSA9IG9wdGlvbnMgPT4gbmV3IFBpY2tyKG9wdGlvbnMpO1xuXG4gICAgLy8gRG9lcyBvbmx5IHRoZSBhYnNvbHV0bHkgYmFzaWMgdGhpbmcgdG8gaW5pdGlhbGl6ZSB0aGUgY29tcG9uZW50c1xuICAgIF9wcmVCdWlsZCgpIHtcbiAgICAgICAgY29uc3Qge29wdGlvbnN9ID0gdGhpcztcblxuICAgICAgICAvLyBSZXNvbHZlIGVsZW1lbnRzXG4gICAgICAgIGZvciAoY29uc3QgdHlwZSBvZiBbJ2VsJywgJ2NvbnRhaW5lciddKSB7XG4gICAgICAgICAgICBvcHRpb25zW3R5cGVdID0gXy5yZXNvbHZlRWxlbWVudChvcHRpb25zW3R5cGVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENyZWF0ZSBlbGVtZW50IGFuZCBhcHBlbmQgaXQgdG8gYm9keSB0b1xuICAgICAgICAvLyBQcmV2ZW50IGluaXRpYWxpemF0aW9uIGVycm9yc1xuICAgICAgICB0aGlzLl9yb290ID0gYnVpbGRQaWNrcih0aGlzKTtcblxuICAgICAgICAvLyBDaGVjayBpZiBhIGN1c3RvbSBidXR0b24gaXMgdXNlZFxuICAgICAgICBpZiAob3B0aW9ucy51c2VBc0J1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5fcm9vdC5idXR0b24gPSBvcHRpb25zLmVsOyAvLyBSZXBsYWNlIGJ1dHRvbiB3aXRoIGN1c3RvbWl6ZWQgYnV0dG9uXG4gICAgICAgIH1cblxuICAgICAgICBvcHRpb25zLmNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLl9yb290LnJvb3QpO1xuICAgIH1cblxuICAgIF9maW5hbEJ1aWxkKCkge1xuICAgICAgICBjb25zdCBvcHQgPSB0aGlzLm9wdGlvbnM7XG4gICAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLl9yb290O1xuXG4gICAgICAgIC8vIFJlbW92ZSBmcm9tIGJvZHlcbiAgICAgICAgb3B0LmNvbnRhaW5lci5yZW1vdmVDaGlsZChyb290LnJvb3QpO1xuXG4gICAgICAgIGlmIChvcHQuaW5saW5lKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBvcHQuZWwucGFyZW50RWxlbWVudDtcblxuICAgICAgICAgICAgaWYgKG9wdC5lbC5uZXh0U2libGluZykge1xuICAgICAgICAgICAgICAgIHBhcmVudC5pbnNlcnRCZWZvcmUocm9vdC5hcHAsIG9wdC5lbC5uZXh0U2libGluZyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChyb290LmFwcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvcHQuY29udGFpbmVyLmFwcGVuZENoaWxkKHJvb3QuYXBwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERvbid0IHJlcGxhY2UgdGhlIHRoZSBlbGVtZW50IGlmIGEgY3VzdG9tIGJ1dHRvbiBpcyB1c2VkXG4gICAgICAgIGlmICghb3B0LnVzZUFzQnV0dG9uKSB7XG5cbiAgICAgICAgICAgIC8vIFJlcGxhY2UgZWxlbWVudCB3aXRoIGFjdHVhbCBjb2xvci1waWNrZXJcbiAgICAgICAgICAgIG9wdC5lbC5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChyb290LnJvb3QsIG9wdC5lbCk7XG4gICAgICAgIH0gZWxzZSBpZiAob3B0LmlubGluZSkge1xuICAgICAgICAgICAgb3B0LmVsLnJlbW92ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgaXQgc2hvdWxkIGJlIGltbWVkaWF0bHkgZGlzYWJsZWRcbiAgICAgICAgaWYgKG9wdC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayBpZiBjb2xvciBjb21wYXJpc29uIGlzIGRpc2FibGVkLCBpZiB5ZXMgLSByZW1vdmUgdHJhbnNpdGlvbnMgc28gZXZlcnl0aGluZyBrZWVwcyBzbW9vdGhseVxuICAgICAgICBpZiAoIW9wdC5jb21wYXJpc29uKSB7XG4gICAgICAgICAgICByb290LmJ1dHRvbi5zdHlsZS50cmFuc2l0aW9uID0gJ25vbmUnO1xuXG4gICAgICAgICAgICBpZiAoIW9wdC51c2VBc0J1dHRvbikge1xuICAgICAgICAgICAgICAgIHJvb3QucHJldmlldy5sYXN0Q29sb3Iuc3R5bGUudHJhbnNpdGlvbiA9ICdub25lJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cblxuICAgIF9idWlsZENvbXBvbmVudHMoKSB7XG5cbiAgICAgICAgLy8gSW5zdGFuY2UgcmVmZXJlbmNlXG4gICAgICAgIGNvbnN0IGluc3QgPSB0aGlzO1xuICAgICAgICBjb25zdCBjcyA9IHRoaXMub3B0aW9ucy5jb21wb25lbnRzO1xuICAgICAgICBjb25zdCBzbGlkZXJzID0gKGluc3Qub3B0aW9ucy5zbGlkZXJzIHx8ICd2JykucmVwZWF0KDIpO1xuICAgICAgICBjb25zdCBbc28sIHNoXSA9IHNsaWRlcnMubWF0Y2goL15bdmhdKyQvZykgPyBzbGlkZXJzIDogW107XG5cbiAgICAgICAgLy8gUmUtYXNzaWduIGlmIG51bGxcbiAgICAgICAgY29uc3QgZ2V0Q29sb3IgPSAoKSA9PlxuICAgICAgICAgICAgdGhpcy5fY29sb3IgfHwgKHRoaXMuX2NvbG9yID0gdGhpcy5fbGFzdENvbG9yLmNsb25lKCkpO1xuXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSB7XG5cbiAgICAgICAgICAgIHBhbGV0dGU6IE1vdmVhYmxlKHtcbiAgICAgICAgICAgICAgICBlbGVtZW50OiBpbnN0Ll9yb290LnBhbGV0dGUucGlja2VyLFxuICAgICAgICAgICAgICAgIHdyYXBwZXI6IGluc3QuX3Jvb3QucGFsZXR0ZS5wYWxldHRlLFxuXG4gICAgICAgICAgICAgICAgb25zdG9wOiAoKSA9PiBpbnN0Ll9lbWl0KCdjaGFuZ2VzdG9wJywgJ3NsaWRlcicsIGluc3QpLFxuICAgICAgICAgICAgICAgIG9uY2hhbmdlKHgsIHkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjcy5wYWxldHRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2xvciA9IGdldENvbG9yKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHtfcm9vdCwgb3B0aW9uc30gPSBpbnN0O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7bGFzdENvbG9yLCBjdXJyZW50Q29sb3J9ID0gX3Jvb3QucHJldmlldztcblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgdGhlIGlucHV0IGZpZWxkIG9ubHkgaWYgdGhlIHVzZXIgaXMgY3VycmVudGx5IG5vdCB0eXBpbmdcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluc3QuX3JlY2FsYykge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBDYWxjdWxhdGUgc2F0dXJhdGlvbiBiYXNlZCBvbiB0aGUgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLnMgPSB4ICogMTAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvci52ID0gMTAwIC0geSAqIDEwMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHJldmVudCBmYWxsaW5nIHVuZGVyIHplcm9cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLnYgPCAwID8gY29sb3IudiA9IDAgOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5zdC5fdXBkYXRlT3V0cHV0KCdzbGlkZXInKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBwaWNrZXIgYW5kIGdyYWRpZW50IGNvbG9yXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNzc1JHQmFTdHJpbmcgPSBjb2xvci50b1JHQkEoKS50b1N0cmluZygwKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLmJhY2tncm91bmQgPSBjc3NSR0JhU3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLndyYXBwZXIuc3R5bGUuYmFja2dyb3VuZCA9IGBcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgJHtjb2xvci5hfSksIHRyYW5zcGFyZW50KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCBoc2xhKCR7Y29sb3IuaH0sIDEwMCUsIDUwJSwgJHtjb2xvci5hfSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgJHtjb2xvci5hfSkpXG4gICAgICAgICAgICAgICAgICAgIGA7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgY29sb3IgaXMgbG9ja2VkXG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy5jb21wYXJpc29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfcm9vdC5idXR0b24uc3R5bGUuc2V0UHJvcGVydHkoJy0tcGNyLWNvbG9yJywgY3NzUkdCYVN0cmluZyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGNoYW5nZXMgdGhlIGNvbG9yLCByZW1vdmUgdGhlIGNsZWFyZWQgaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgX3Jvb3QuYnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoJ2NsZWFyJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIW9wdGlvbnMudXNlQXNCdXR0b24gJiYgIWluc3QuX2xhc3RDb2xvcikge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBcHBseSBjb2xvciB0byBib3RoIHRoZSBsYXN0IGFuZCBjdXJyZW50IGNvbG9yIHNpbmNlIHRoZSBjdXJyZW50IHN0YXRlIGlzIGNsZWFyZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RDb2xvci5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1wY3ItY29sb3InLCBjc3NSR0JhU3RyaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZXJlJ3MgYSBzd2F0Y2ggd2hpY2ggY29sb3IgbWF0Y2hlcyB0aGUgY3VycmVudCBvbmVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaGV4YSA9IGNvbG9yLnRvSEVYQSgpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qge2VsLCBjb2xvcn0gb2YgaW5zdC5fc3dhdGNoQ29sb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbC5jbGFzc0xpc3RbaGV4YSA9PT0gY29sb3IudG9IRVhBKCkudG9TdHJpbmcoKSA/ICdhZGQnIDogJ3JlbW92ZSddKCdwY3ItYWN0aXZlJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBDaGFuZ2UgY3VycmVudCBjb2xvclxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50Q29sb3Iuc3R5bGUuc2V0UHJvcGVydHkoJy0tcGNyLWNvbG9yJywgY3NzUkdCYVN0cmluZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG5cbiAgICAgICAgICAgIGh1ZTogTW92ZWFibGUoe1xuICAgICAgICAgICAgICAgIGxvY2s6IHNoID09PSAndicgPyAnaCcgOiAndicsXG4gICAgICAgICAgICAgICAgZWxlbWVudDogaW5zdC5fcm9vdC5odWUucGlja2VyLFxuICAgICAgICAgICAgICAgIHdyYXBwZXI6IGluc3QuX3Jvb3QuaHVlLnNsaWRlcixcblxuICAgICAgICAgICAgICAgIG9uc3RvcDogKCkgPT4gaW5zdC5fZW1pdCgnY2hhbmdlc3RvcCcsICdzbGlkZXInLCBpbnN0KSxcbiAgICAgICAgICAgICAgICBvbmNoYW5nZSh2KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghY3MuaHVlIHx8ICFjcy5wYWxldHRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2xvciA9IGdldENvbG9yKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQ2FsY3VsYXRlIGh1ZVxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5zdC5fcmVjYWxjKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvci5oID0gdiAqIDM2MDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSBjb2xvclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gYGhzbCgke2NvbG9yLmh9LCAxMDAlLCA1MCUpYDtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50cy5wYWxldHRlLnRyaWdnZXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcblxuICAgICAgICAgICAgb3BhY2l0eTogTW92ZWFibGUoe1xuICAgICAgICAgICAgICAgIGxvY2s6IHNvID09PSAndicgPyAnaCcgOiAndicsXG4gICAgICAgICAgICAgICAgZWxlbWVudDogaW5zdC5fcm9vdC5vcGFjaXR5LnBpY2tlcixcbiAgICAgICAgICAgICAgICB3cmFwcGVyOiBpbnN0Ll9yb290Lm9wYWNpdHkuc2xpZGVyLFxuXG4gICAgICAgICAgICAgICAgb25zdG9wOiAoKSA9PiBpbnN0Ll9lbWl0KCdjaGFuZ2VzdG9wJywgJ3NsaWRlcicsIGluc3QpLFxuICAgICAgICAgICAgICAgIG9uY2hhbmdlKHYpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjcy5vcGFjaXR5IHx8ICFjcy5wYWxldHRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2xvciA9IGdldENvbG9yKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQ2FsY3VsYXRlIG9wYWNpdHlcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluc3QuX3JlY2FsYykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IuYSA9IE1hdGgucm91bmQodiAqIDFlMikgLyAxMDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBVcGRhdGUgY29sb3JcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLmJhY2tncm91bmQgPSBgcmdiYSgwLCAwLCAwLCAke2NvbG9yLmF9KWA7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHMucGFsZXR0ZS50cmlnZ2VyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG5cbiAgICAgICAgICAgIHNlbGVjdGFibGU6IFNlbGVjdGFibGUoe1xuICAgICAgICAgICAgICAgIGVsZW1lbnRzOiBpbnN0Ll9yb290LmludGVyYWN0aW9uLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnYWN0aXZlJyxcblxuICAgICAgICAgICAgICAgIG9uY2hhbmdlKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgaW5zdC5fcmVwcmVzZW50YXRpb24gPSBlLnRhcmdldC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdHlwZScpLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgIGluc3QuX3JlY2FsYyAmJiBpbnN0Ll91cGRhdGVPdXRwdXQoJ3N3YXRjaCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fY29tcG9uZW50cyA9IGNvbXBvbmVudHM7XG4gICAgfVxuXG4gICAgX2JpbmRFdmVudHMoKSB7XG4gICAgICAgIGNvbnN0IHtfcm9vdCwgb3B0aW9uc30gPSB0aGlzO1xuXG4gICAgICAgIGNvbnN0IGV2ZW50QmluZGluZ3MgPSBbXG5cbiAgICAgICAgICAgIC8vIENsZWFyIGNvbG9yXG4gICAgICAgICAgICBfLm9uKF9yb290LmludGVyYWN0aW9uLmNsZWFyLCAnY2xpY2snLCAoKSA9PiB0aGlzLl9jbGVhckNvbG9yKCkpLFxuXG4gICAgICAgICAgICAvLyBTZWxlY3QgbGFzdCBjb2xvciBvbiBjbGlja1xuICAgICAgICAgICAgXy5vbihbXG4gICAgICAgICAgICAgICAgX3Jvb3QuaW50ZXJhY3Rpb24uY2FuY2VsLFxuICAgICAgICAgICAgICAgIF9yb290LnByZXZpZXcubGFzdENvbG9yXG4gICAgICAgICAgICBdLCAnY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRIU1ZBKC4uLih0aGlzLl9sYXN0Q29sb3IgfHwgdGhpcy5fY29sb3IpLnRvSFNWQSgpLCB0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9lbWl0KCdjYW5jZWwnKTtcbiAgICAgICAgICAgIH0pLFxuXG4gICAgICAgICAgICAvLyBTYXZlIGNvbG9yXG4gICAgICAgICAgICBfLm9uKF9yb290LmludGVyYWN0aW9uLnNhdmUsICdjbGljaycsICgpID0+IHtcbiAgICAgICAgICAgICAgICAhdGhpcy5hcHBseUNvbG9yKCkgJiYgIW9wdGlvbnMuc2hvd0Fsd2F5cyAmJiB0aGlzLmhpZGUoKTtcbiAgICAgICAgICAgIH0pLFxuXG4gICAgICAgICAgICAvLyBVc2VyIGlucHV0XG4gICAgICAgICAgICBfLm9uKF9yb290LmludGVyYWN0aW9uLnJlc3VsdCwgWydrZXl1cCcsICdpbnB1dCddLCBlID0+IHtcblxuICAgICAgICAgICAgICAgIC8vIEZpcmUgbGlzdGVuZXIgaWYgaW5pdGlhbGl6YXRpb24gaXMgZmluaXNoIGFuZCBjaGFuZ2VkIGNvbG9yIHdhcyB2YWxpZFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNldENvbG9yKGUudGFyZ2V0LnZhbHVlLCB0cnVlKSAmJiAhdGhpcy5faW5pdGlhbGl6aW5nQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2VtaXQoJ2NoYW5nZScsIHRoaXMuX2NvbG9yLCAnaW5wdXQnLCB0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZW1pdCgnY2hhbmdlc3RvcCcsICdpbnB1dCcsIHRoaXMpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB9KSxcblxuICAgICAgICAgICAgLy8gRGV0ZWN0IHVzZXIgaW5wdXQgYW5kIGRpc2FibGUgYXV0by1yZWNhbGN1bGF0aW9uXG4gICAgICAgICAgICBfLm9uKF9yb290LmludGVyYWN0aW9uLnJlc3VsdCwgWydmb2N1cycsICdibHVyJ10sIGUgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlY2FsYyA9IGUudHlwZSA9PT0gJ2JsdXInO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlY2FsYyAmJiB0aGlzLl91cGRhdGVPdXRwdXQobnVsbCk7XG4gICAgICAgICAgICB9KSxcblxuICAgICAgICAgICAgLy8gQ2FuY2VsIGlucHV0IGRldGVjdGlvbiBvbiBjb2xvciBjaGFuZ2VcbiAgICAgICAgICAgIF8ub24oW1xuICAgICAgICAgICAgICAgIF9yb290LnBhbGV0dGUucGFsZXR0ZSxcbiAgICAgICAgICAgICAgICBfcm9vdC5wYWxldHRlLnBpY2tlcixcbiAgICAgICAgICAgICAgICBfcm9vdC5odWUuc2xpZGVyLFxuICAgICAgICAgICAgICAgIF9yb290Lmh1ZS5waWNrZXIsXG4gICAgICAgICAgICAgICAgX3Jvb3Qub3BhY2l0eS5zbGlkZXIsXG4gICAgICAgICAgICAgICAgX3Jvb3Qub3BhY2l0eS5waWNrZXJcbiAgICAgICAgICAgIF0sIFsnbW91c2Vkb3duJywgJ3RvdWNoc3RhcnQnXSwgKCkgPT4gdGhpcy5fcmVjYWxjID0gdHJ1ZSwge3Bhc3NpdmU6IHRydWV9KVxuICAgICAgICBdO1xuXG4gICAgICAgIC8vIFByb3ZpZGUgaGlkaW5nIC8gc2hvd2luZyBhYmlsaXRpZXMgb25seSBpZiBzaG93QWx3YXlzIGlzIGZhbHNlXG4gICAgICAgIGlmICghb3B0aW9ucy5zaG93QWx3YXlzKSB7XG4gICAgICAgICAgICBjb25zdCBjayA9IG9wdGlvbnMuY2xvc2VXaXRoS2V5O1xuXG4gICAgICAgICAgICBldmVudEJpbmRpbmdzLnB1c2goXG5cbiAgICAgICAgICAgICAgICAvLyBTYXZlIGFuZCBoaWRlIC8gc2hvdyBwaWNrZXJcbiAgICAgICAgICAgICAgICBfLm9uKF9yb290LmJ1dHRvbiwgJ2NsaWNrJywgKCkgPT4gdGhpcy5pc09wZW4oKSA/IHRoaXMuaGlkZSgpIDogdGhpcy5zaG93KCkpLFxuXG4gICAgICAgICAgICAgICAgLy8gQ2xvc2Ugd2l0aCBlc2NhcGUga2V5XG4gICAgICAgICAgICAgICAgXy5vbihkb2N1bWVudCwgJ2tleXVwJywgZSA9PiB0aGlzLmlzT3BlbigpICYmIChlLmtleSA9PT0gY2sgfHwgZS5jb2RlID09PSBjaykgJiYgdGhpcy5oaWRlKCkpLFxuXG4gICAgICAgICAgICAgICAgLy8gQ2FuY2VsIHNlbGVjdGluZyBpZiB0aGUgdXNlciB0YXBzIGJlaGluZCB0aGUgY29sb3IgcGlja2VyXG4gICAgICAgICAgICAgICAgXy5vbihkb2N1bWVudCwgWyd0b3VjaHN0YXJ0JywgJ21vdXNlZG93biddLCBlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNPcGVuKCkgJiYgIV8uZXZlbnRQYXRoKGUpLnNvbWUoZWwgPT4gZWwgPT09IF9yb290LmFwcCB8fCBlbCA9PT0gX3Jvb3QuYnV0dG9uKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCB7Y2FwdHVyZTogdHJ1ZX0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWFrZSBpbnB1dCBhZGp1c3RhYmxlIGlmIGVuYWJsZWRcbiAgICAgICAgaWYgKG9wdGlvbnMuYWRqdXN0YWJsZU51bWJlcnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHJhbmdlcyA9IHtcbiAgICAgICAgICAgICAgICByZ2JhOiBbMjU1LCAyNTUsIDI1NSwgMV0sXG4gICAgICAgICAgICAgICAgaHN2YTogWzM2MCwgMTAwLCAxMDAsIDFdLFxuICAgICAgICAgICAgICAgIGhzbGE6IFszNjAsIDEwMCwgMTAwLCAxXSxcbiAgICAgICAgICAgICAgICBjbXlrOiBbMTAwLCAxMDAsIDEwMCwgMTAwXVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgXy5hZGp1c3RhYmxlSW5wdXROdW1iZXJzKF9yb290LmludGVyYWN0aW9uLnJlc3VsdCwgKG8sIHN0ZXAsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmFuZ2UgPSByYW5nZXNbdGhpcy5nZXRDb2xvclJlcHJlc2VudGF0aW9uKCkudG9Mb3dlckNhc2UoKV07XG5cbiAgICAgICAgICAgICAgICBpZiAocmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF4ID0gcmFuZ2VbaW5kZXhdO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIENhbGN1bGF0ZSBuZXh0IHJlYXNvbmFibGUgbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG52ID0gbyArIChtYXggPj0gMTAwID8gc3RlcCAqIDEwMDAgOiBzdGVwKTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBBcHBseSByYW5nZSBvZiB6ZXJvIHVwIHRvIG1heCwgZml4IGZsb2F0aW5nLXBvaW50IGlzc3Vlc1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnYgPD0gMCA/IDAgOiBOdW1iZXIoKG52IDwgbWF4ID8gbnYgOiBtYXgpLnRvUHJlY2lzaW9uKDMpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gbztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wdGlvbnMuYXV0b1JlcG9zaXRpb24gJiYgIW9wdGlvbnMuaW5saW5lKSB7XG4gICAgICAgICAgICBsZXQgdGltZW91dCA9IG51bGw7XG4gICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcblxuICAgICAgICAgICAgLy8gUmUtY2FsYyBwb3NpdGlvbiBvbiB3aW5kb3cgcmVzaXplLCBzY3JvbGwgYW5kIHdoZWVsXG4gICAgICAgICAgICBldmVudEJpbmRpbmdzLnB1c2goXG4gICAgICAgICAgICAgICAgXy5vbih3aW5kb3csIFsnc2Nyb2xsJywgJ3Jlc2l6ZSddLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGF0LmlzT3BlbigpKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmNsb3NlT25TY3JvbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVvdXQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aW1lb3V0ID0gbnVsbCwgMTAwKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSBwb3NpdGlvbiBvbiBldmVyeSBmcmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbiBycygpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fcmVQb3NpdGlvbmluZ1BpY2tlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGltZW91dCAhPT0gbnVsbCkgJiYgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRpbWVvdXQgPSBudWxsLCAxMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwge2NhcHR1cmU6IHRydWV9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNhdmUgYmluZGluZ3NcbiAgICAgICAgdGhpcy5fZXZlbnRCaW5kaW5ncyA9IGV2ZW50QmluZGluZ3M7XG4gICAgfVxuXG4gICAgX3JlUG9zaXRpb25pbmdQaWNrZXIoKSB7XG4gICAgICAgIGNvbnN0IHtvcHRpb25zfSA9IHRoaXM7XG5cbiAgICAgICAgLy8gTm8gcmVwb3NpdGlvbmluZyBuZWVkZWQgaWYgaW5saW5lXG4gICAgICAgIGlmICghb3B0aW9ucy5pbmxpbmUpIHtcbiAgICAgICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSB0aGlzLl9uYW5vcG9wLnVwZGF0ZSh7XG4gICAgICAgICAgICAgICAgY29udGFpbmVyOiBkb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBvcHRpb25zLnBvc2l0aW9uXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWwgPSB0aGlzLl9yb290LmFwcDtcbiAgICAgICAgICAgICAgICBjb25zdCBlYiA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgICAgIGVsLnN0eWxlLnRvcCA9IGAkeyh3aW5kb3cuaW5uZXJIZWlnaHQgLSBlYi5oZWlnaHQpIC8gMn1weGA7XG4gICAgICAgICAgICAgICAgZWwuc3R5bGUubGVmdCA9IGAkeyh3aW5kb3cuaW5uZXJXaWR0aCAtIGViLndpZHRoKSAvIDJ9cHhgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgX3VwZGF0ZU91dHB1dChldmVudFNvdXJjZSkge1xuICAgICAgICBjb25zdCB7X3Jvb3QsIF9jb2xvciwgb3B0aW9uc30gPSB0aGlzO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIGNvbXBvbmVudCBpcyBwcmVzZW50XG4gICAgICAgIGlmIChfcm9vdC5pbnRlcmFjdGlvbi50eXBlKCkpIHtcblxuICAgICAgICAgICAgLy8gQ29uc3RydWN0IGZ1bmN0aW9uIG5hbWUgYW5kIGNhbGwgaWYgcHJlc2VudFxuICAgICAgICAgICAgY29uc3QgbWV0aG9kID0gYHRvJHtfcm9vdC5pbnRlcmFjdGlvbi50eXBlKCkuZ2V0QXR0cmlidXRlKCdkYXRhLXR5cGUnKX1gO1xuICAgICAgICAgICAgX3Jvb3QuaW50ZXJhY3Rpb24ucmVzdWx0LnZhbHVlID0gdHlwZW9mIF9jb2xvclttZXRob2RdID09PSAnZnVuY3Rpb24nID9cbiAgICAgICAgICAgICAgICBfY29sb3JbbWV0aG9kXSgpLnRvU3RyaW5nKG9wdGlvbnMub3V0cHV0UHJlY2lzaW9uKSA6ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmlyZSBsaXN0ZW5lciBpZiBpbml0aWFsaXphdGlvbiBpcyBmaW5pc2hcbiAgICAgICAgaWYgKCF0aGlzLl9pbml0aWFsaXppbmdBY3RpdmUgJiYgdGhpcy5fcmVjYWxjKSB7XG4gICAgICAgICAgICB0aGlzLl9lbWl0KCdjaGFuZ2UnLCBfY29sb3IsIGV2ZW50U291cmNlLCB0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIF9jbGVhckNvbG9yKHNpbGVudCA9IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IHtfcm9vdCwgb3B0aW9uc30gPSB0aGlzO1xuXG4gICAgICAgIC8vIENoYW5nZSBvbmx5IHRoZSBidXR0b24gY29sb3IgaWYgaXQgaXNuJ3QgY3VzdG9taXplZFxuICAgICAgICBpZiAoIW9wdGlvbnMudXNlQXNCdXR0b24pIHtcbiAgICAgICAgICAgIF9yb290LmJ1dHRvbi5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1wY3ItY29sb3InLCAncmdiYSgwLCAwLCAwLCAwLjE1KScpO1xuICAgICAgICB9XG5cbiAgICAgICAgX3Jvb3QuYnV0dG9uLmNsYXNzTGlzdC5hZGQoJ2NsZWFyJyk7XG5cbiAgICAgICAgaWYgKCFvcHRpb25zLnNob3dBbHdheXMpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fbGFzdENvbG9yID0gbnVsbDtcbiAgICAgICAgaWYgKCF0aGlzLl9pbml0aWFsaXppbmdBY3RpdmUgJiYgIXNpbGVudCkge1xuXG4gICAgICAgICAgICAvLyBGaXJlIGxpc3RlbmVyXG4gICAgICAgICAgICB0aGlzLl9lbWl0KCdzYXZlJywgbnVsbCk7XG4gICAgICAgICAgICB0aGlzLl9lbWl0KCdjbGVhcicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgX3BhcnNlTG9jYWxDb2xvcihzdHIpIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlcywgdHlwZSwgYX0gPSBwYXJzZVRvSFNWQShzdHIpO1xuICAgICAgICBjb25zdCB7bG9ja09wYWNpdHl9ID0gdGhpcy5vcHRpb25zO1xuICAgICAgICBjb25zdCBhbHBoYU1ha2VzQUNoYW5nZSA9IGEgIT09IHVuZGVmaW5lZCAmJiBhICE9PSAxO1xuXG4gICAgICAgIC8vIElmIG5vIG9wYWNpdHkgaXMgYXBwbGllZCwgYWRkIHVuZGVmaW5lZCBhdCB0aGUgdmVyeSBlbmQgd2hpY2ggZ2V0c1xuICAgICAgICAvLyBTZXQgdG8gMSBpbiBzZXRIU1ZBXG4gICAgICAgIGlmICh2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aCA9PT0gMykge1xuICAgICAgICAgICAgdmFsdWVzWzNdID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlczogKCF2YWx1ZXMgfHwgKGxvY2tPcGFjaXR5ICYmIGFscGhhTWFrZXNBQ2hhbmdlKSkgPyBudWxsIDogdmFsdWVzLFxuICAgICAgICAgICAgdHlwZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIF90KGtleSkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmkxOG5ba2V5XSB8fCBQaWNrci5JMThOX0RFRkFVTFRTW2tleV07XG4gICAgfVxuXG4gICAgX2VtaXQoZXZlbnQsIC4uLmFyZ3MpIHtcbiAgICAgICAgdGhpcy5fZXZlbnRMaXN0ZW5lcltldmVudF0uZm9yRWFjaChjYiA9PiBjYiguLi5hcmdzLCB0aGlzKSk7XG4gICAgfVxuXG4gICAgb24oZXZlbnQsIGNiKSB7XG4gICAgICAgIHRoaXMuX2V2ZW50TGlzdGVuZXJbZXZlbnRdLnB1c2goY2IpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBvZmYoZXZlbnQsIGNiKSB7XG4gICAgICAgIGNvbnN0IGNhbGxCYWNrcyA9ICh0aGlzLl9ldmVudExpc3RlbmVyW2V2ZW50XSB8fCBbXSk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gY2FsbEJhY2tzLmluZGV4T2YoY2IpO1xuXG4gICAgICAgIGlmICh+aW5kZXgpIHtcbiAgICAgICAgICAgIGNhbGxCYWNrcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXBwZW5kcyBhIGNvbG9yIHRvIHRoZSBzd2F0Y2ggcGFsZXR0ZVxuICAgICAqIEBwYXJhbSBjb2xvclxuICAgICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgICAqL1xuICAgIGFkZFN3YXRjaChjb2xvcikge1xuICAgICAgICBjb25zdCB7dmFsdWVzfSA9IHRoaXMuX3BhcnNlTG9jYWxDb2xvcihjb2xvcik7XG5cbiAgICAgICAgaWYgKHZhbHVlcykge1xuICAgICAgICAgICAgY29uc3Qge19zd2F0Y2hDb2xvcnMsIF9yb290fSA9IHRoaXM7XG4gICAgICAgICAgICBjb25zdCBjb2xvciA9IEhTVmFDb2xvciguLi52YWx1ZXMpO1xuXG4gICAgICAgICAgICAvLyBDcmVhdGUgbmV3IHN3YXRjaCBIVE1MRWxlbWVudFxuICAgICAgICAgICAgY29uc3QgZWwgPSBfLmNyZWF0ZUVsZW1lbnRGcm9tU3RyaW5nKFxuICAgICAgICAgICAgICAgIGA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBzdHlsZT1cIi0tcGNyLWNvbG9yOiAke2NvbG9yLnRvUkdCQSgpLnRvU3RyaW5nKDApfVwiIGFyaWEtbGFiZWw9XCIke3RoaXMuX3QoJ2J0bjpzd2F0Y2gnKX1cIi8+YFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gQXBwZW5kIGVsZW1lbnQgYW5kIHNhdmUgc3dhdGNoIGRhdGFcbiAgICAgICAgICAgIF9yb290LnN3YXRjaGVzLmFwcGVuZENoaWxkKGVsKTtcbiAgICAgICAgICAgIF9zd2F0Y2hDb2xvcnMucHVzaCh7ZWwsIGNvbG9yfSk7XG5cbiAgICAgICAgICAgIC8vIEJpbmQgZXZlbnRcbiAgICAgICAgICAgIHRoaXMuX2V2ZW50QmluZGluZ3MucHVzaChcbiAgICAgICAgICAgICAgICBfLm9uKGVsLCAnY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0SFNWQSguLi5jb2xvci50b0hTVkEoKSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2VtaXQoJ3N3YXRjaHNlbGVjdCcsIGNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZW1pdCgnY2hhbmdlJywgY29sb3IsICdzd2F0Y2gnLCB0aGlzKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhIHN3YXRjaCBjb2xvciBieSBpdCdzIGluZGV4XG4gICAgICogQHBhcmFtIGluZGV4XG4gICAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAgICovXG4gICAgcmVtb3ZlU3dhdGNoKGluZGV4KSB7XG4gICAgICAgIGNvbnN0IHN3YXRjaENvbG9yID0gdGhpcy5fc3dhdGNoQ29sb3JzW2luZGV4XTtcblxuICAgICAgICAvLyBDaGVjayBzd2F0Y2ggZGF0YVxuICAgICAgICBpZiAoc3dhdGNoQ29sb3IpIHtcbiAgICAgICAgICAgIGNvbnN0IHtlbH0gPSBzd2F0Y2hDb2xvcjtcblxuICAgICAgICAgICAgLy8gUmVtb3ZlIEhUTUwgY2hpbGQgYW5kIHN3YXRjaCBkYXRhXG4gICAgICAgICAgICB0aGlzLl9yb290LnN3YXRjaGVzLnJlbW92ZUNoaWxkKGVsKTtcbiAgICAgICAgICAgIHRoaXMuX3N3YXRjaENvbG9ycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgYXBwbHlDb2xvcihzaWxlbnQgPSBmYWxzZSkge1xuICAgICAgICBjb25zdCB7cHJldmlldywgYnV0dG9ufSA9IHRoaXMuX3Jvb3Q7XG5cbiAgICAgICAgLy8gQ2hhbmdlIHByZXZpZXcgYW5kIGN1cnJlbnQgY29sb3JcbiAgICAgICAgY29uc3QgY3NzUkdCYVN0cmluZyA9IHRoaXMuX2NvbG9yLnRvUkdCQSgpLnRvU3RyaW5nKDApO1xuICAgICAgICBwcmV2aWV3Lmxhc3RDb2xvci5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1wY3ItY29sb3InLCBjc3NSR0JhU3RyaW5nKTtcblxuICAgICAgICAvLyBDaGFuZ2Ugb25seSB0aGUgYnV0dG9uIGNvbG9yIGlmIGl0IGlzbid0IGN1c3RvbWl6ZWRcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMudXNlQXNCdXR0b24pIHtcbiAgICAgICAgICAgIGJ1dHRvbi5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1wY3ItY29sb3InLCBjc3NSR0JhU3RyaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFVzZXIgY2hhbmdlZCB0aGUgY29sb3Igc28gcmVtb3ZlIHRoZSBjbGVhciBjbGFzXG4gICAgICAgIGJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCdjbGVhcicpO1xuXG4gICAgICAgIC8vIFNhdmUgbGFzdCBjb2xvclxuICAgICAgICB0aGlzLl9sYXN0Q29sb3IgPSB0aGlzLl9jb2xvci5jbG9uZSgpO1xuXG4gICAgICAgIC8vIEZpcmUgbGlzdGVuZXJcbiAgICAgICAgaWYgKCF0aGlzLl9pbml0aWFsaXppbmdBY3RpdmUgJiYgIXNpbGVudCkge1xuICAgICAgICAgICAgdGhpcy5fZW1pdCgnc2F2ZScsIHRoaXMuX2NvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlc3Ryb3kncyBhbGwgZnVuY3Rpb25hbGl0eXNcbiAgICAgKi9cbiAgICBkZXN0cm95KCkge1xuXG4gICAgICAgIC8vIENhbmNlbCBzZXR1cC1mcmFtZSBpZiBzZXRcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fc2V0dXBBbmltYXRpb25GcmFtZSk7XG5cbiAgICAgICAgLy8gVW5iaW5kIGV2ZW50c1xuICAgICAgICB0aGlzLl9ldmVudEJpbmRpbmdzLmZvckVhY2goYXJncyA9PiBfLm9mZiguLi5hcmdzKSk7XG5cbiAgICAgICAgLy8gRGVzdHJveSBzdWItY29tcG9uZW50c1xuICAgICAgICBPYmplY3Qua2V5cyh0aGlzLl9jb21wb25lbnRzKVxuICAgICAgICAgICAgLmZvckVhY2goa2V5ID0+IHRoaXMuX2NvbXBvbmVudHNba2V5XS5kZXN0cm95KCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlc3Ryb3kncyBhbGwgZnVuY3Rpb25hbGl0eXMgYW5kIHJlbW92ZXNcbiAgICAgKiB0aGUgcGlja3IgZWxlbWVudC5cbiAgICAgKi9cbiAgICBkZXN0cm95QW5kUmVtb3ZlKCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgY29uc3Qge3Jvb3QsIGFwcH0gPSB0aGlzLl9yb290O1xuXG4gICAgICAgIC8vIFJlbW92ZSBlbGVtZW50XG4gICAgICAgIGlmIChyb290LnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJvb3QucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChyb290KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlbW92ZSAucGNyLWFwcFxuICAgICAgICBhcHAucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChhcHApO1xuXG4gICAgICAgIC8vIFRoZXJlIGFyZSByZWZlcmVuY2VzIHRvIHZhcmlvdXMgRE9NIGVsZW1lbnRzIHN0b3JlZCBpbiB0aGUgcGlja3IgaW5zdGFuY2VcbiAgICAgICAgLy8gVGhpcyBjbGVhbnMgYWxsIG9mIHRoZW0gdG8gYXZvaWQgZGV0YWNoZWQgRE9Nc1xuICAgICAgICBPYmplY3Qua2V5cyh0aGlzKVxuICAgICAgICAgICAgLmZvckVhY2goa2V5ID0+IHRoaXNba2V5XSA9IG51bGwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGVzIHRoZSBjb2xvci1waWNrZXIgdWkuXG4gICAgICovXG4gICAgaGlkZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jvb3QuYXBwLmNsYXNzTGlzdC5yZW1vdmUoJ3Zpc2libGUnKTtcbiAgICAgICAgICAgIHRoaXMuX2VtaXQoJ2hpZGUnKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3dzIHRoZSBjb2xvci1waWNrZXIgdWkuXG4gICAgICovXG4gICAgc2hvdygpIHtcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQgJiYgIXRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jvb3QuYXBwLmNsYXNzTGlzdC5hZGQoJ3Zpc2libGUnKTtcbiAgICAgICAgICAgIHRoaXMuX3JlUG9zaXRpb25pbmdQaWNrZXIoKTtcbiAgICAgICAgICAgIHRoaXMuX2VtaXQoJ3Nob3cnLCB0aGlzLl9jb2xvcik7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJuIHtib29sZWFufSBJZiB0aGUgY29sb3IgcGlja2VyIGlzIGN1cnJlbnRseSBvcGVuXG4gICAgICovXG4gICAgaXNPcGVuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm9vdC5hcHAuY2xhc3NMaXN0LmNvbnRhaW5zKCd2aXNpYmxlJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IGEgc3BlY2lmaWMgY29sb3IuXG4gICAgICogQHBhcmFtIGggSHVlXG4gICAgICogQHBhcmFtIHMgU2F0dXJhdGlvblxuICAgICAqIEBwYXJhbSB2IFZhbHVlXG4gICAgICogQHBhcmFtIGEgQWxwaGEgY2hhbm5lbCAoMCAtIDEpXG4gICAgICogQHBhcmFtIHNpbGVudCBJZiB0aGUgYnV0dG9uIHNob3VsZCBub3QgY2hhbmdlIHRoZSBjb2xvclxuICAgICAqIEByZXR1cm4gYm9vbGVhbiBpZiB0aGUgY29sb3IgaGFzIGJlZW4gYWNjZXB0ZWRcbiAgICAgKi9cbiAgICBzZXRIU1ZBKGggPSAzNjAsIHMgPSAwLCB2ID0gMCwgYSA9IDEsIHNpbGVudCA9IGZhbHNlKSB7XG5cbiAgICAgICAgLy8gRGVhY3RpdmF0ZSBjb2xvciBjYWxjdWxhdGlvblxuICAgICAgICBjb25zdCByZWNhbGMgPSB0aGlzLl9yZWNhbGM7IC8vIFNhdmUgc3RhdGVcbiAgICAgICAgdGhpcy5fcmVjYWxjID0gZmFsc2U7XG5cbiAgICAgICAgLy8gVmFsaWRhdGUgaW5wdXRcbiAgICAgICAgaWYgKGggPCAwIHx8IGggPiAzNjAgfHwgcyA8IDAgfHwgcyA+IDEwMCB8fCB2IDwgMCB8fCB2ID4gMTAwIHx8IGEgPCAwIHx8IGEgPiAxKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPdmVycmlkZSBjdXJyZW50IGNvbG9yIGFuZCByZS1hY3RpdmUgY29sb3IgY2FsY3VsYXRpb25cbiAgICAgICAgdGhpcy5fY29sb3IgPSBIU1ZhQ29sb3IoaCwgcywgdiwgYSk7XG5cbiAgICAgICAgLy8gVXBkYXRlIHNsaWRlciBhbmQgcGFsZXR0ZVxuICAgICAgICBjb25zdCB7aHVlLCBvcGFjaXR5LCBwYWxldHRlfSA9IHRoaXMuX2NvbXBvbmVudHM7XG4gICAgICAgIGh1ZS51cGRhdGUoKGggLyAzNjApKTtcbiAgICAgICAgb3BhY2l0eS51cGRhdGUoYSk7XG4gICAgICAgIHBhbGV0dGUudXBkYXRlKHMgLyAxMDAsIDEgLSAodiAvIDEwMCkpO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIGNhbGwgaXMgc2lsZW50XG4gICAgICAgIGlmICghc2lsZW50KSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5Q29sb3IoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFVwZGF0ZSBvdXRwdXQgaWYgcmVjYWxjdWxhdGlvbiBpcyBlbmFibGVkXG4gICAgICAgIGlmIChyZWNhbGMpIHtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZU91dHB1dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVzdG9yZSBvbGQgc3RhdGVcbiAgICAgICAgdGhpcy5fcmVjYWxjID0gcmVjYWxjO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmllcyB0byBwYXJzZSBhIHN0cmluZyB3aGljaCByZXByZXNlbnRzIGEgY29sb3IuXG4gICAgICogRXhhbXBsZXM6ICNmZmZcbiAgICAgKiAgICAgICAgICAgcmdiIDEwIDEwIDIwMFxuICAgICAqICAgICAgICAgICBoc3ZhIDEwIDIwIDUgMC41XG4gICAgICogQHBhcmFtIHN0cmluZ1xuICAgICAqIEBwYXJhbSBzaWxlbnRcbiAgICAgKi9cbiAgICBzZXRDb2xvcihzdHJpbmcsIHNpbGVudCA9IGZhbHNlKSB7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgbnVsbFxuICAgICAgICBpZiAoc3RyaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9jbGVhckNvbG9yKHNpbGVudCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHt2YWx1ZXMsIHR5cGV9ID0gdGhpcy5fcGFyc2VMb2NhbENvbG9yKHN0cmluZyk7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgY29sb3IgaXMgb2tcbiAgICAgICAgaWYgKHZhbHVlcykge1xuXG4gICAgICAgICAgICAvLyBDaGFuZ2Ugc2VsZWN0ZWQgY29sb3IgZm9ybWF0XG4gICAgICAgICAgICBjb25zdCB1dHlwZSA9IHR5cGUudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICAgIGNvbnN0IHtvcHRpb25zfSA9IHRoaXMuX3Jvb3QuaW50ZXJhY3Rpb247XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBvcHRpb25zLmZpbmQoZWwgPT4gZWwuZ2V0QXR0cmlidXRlKCdkYXRhLXR5cGUnKSA9PT0gdXR5cGUpO1xuXG4gICAgICAgICAgICAvLyBBdXRvIHNlbGVjdCBvbmx5IGlmIG5vdCBoaWRkZW5cbiAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgIXRhcmdldC5oaWRkZW4pIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGVsIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgZWwuY2xhc3NMaXN0W2VsID09PSB0YXJnZXQgPyAnYWRkJyA6ICdyZW1vdmUnXSgnYWN0aXZlJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBVcGRhdGUgY29sb3IgKGZpcmVzICdzYXZlJyBldmVudCBpZiBzaWxlbnQgaXMgJ2ZhbHNlJylcbiAgICAgICAgICAgIGlmICghdGhpcy5zZXRIU1ZBKC4uLnZhbHVlcywgc2lsZW50KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVXBkYXRlIHJlcHJlc2VudGF0aW9uIChmaXJlcyAnY2hhbmdlJyBldmVudClcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldENvbG9yUmVwcmVzZW50YXRpb24odXR5cGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgdGhlIGNvbG9yIF9yZXByZXNlbnRhdGlvbi5cbiAgICAgKiBBbGxvd2VkIHZhbHVlcyBhcmUgSEVYLCBSR0IsIEhTViwgSFNMIGFuZCBDTVlLXG4gICAgICogQHBhcmFtIHR5cGVcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gaWYgdGhlIHNlbGVjdGVkIHR5cGUgd2FzIHZhbGlkLlxuICAgICAqL1xuICAgIHNldENvbG9yUmVwcmVzZW50YXRpb24odHlwZSkge1xuXG4gICAgICAgIC8vIEZvcmNlIHVwcGVyY2FzZSB0byBhbGxvdyBhIGNhc2Utc2Vuc2l0aXYgY29tcGFyaXNvblxuICAgICAgICB0eXBlID0gdHlwZS50b1VwcGVyQ2FzZSgpO1xuXG4gICAgICAgIC8vIEZpbmQgYnV0dG9uIHdpdGggZ2l2ZW4gdHlwZSBhbmQgdHJpZ2dlciBjbGljayBldmVudFxuICAgICAgICByZXR1cm4gISF0aGlzLl9yb290LmludGVyYWN0aW9uLm9wdGlvbnNcbiAgICAgICAgICAgIC5maW5kKHYgPT4gdi5nZXRBdHRyaWJ1dGUoJ2RhdGEtdHlwZScpLnN0YXJ0c1dpdGgodHlwZSkgJiYgIXYuY2xpY2soKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY3VycmVudCBjb2xvciByZXByZXNlbnRhaW9uLiBTZWUgc2V0Q29sb3JSZXByZXNlbnRhdGlvblxuICAgICAqIEByZXR1cm5zIHsqfVxuICAgICAqL1xuICAgIGdldENvbG9yUmVwcmVzZW50YXRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXByZXNlbnRhdGlvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBIU1ZhQ29sb3IgQ3VycmVudCBIU1ZhQ29sb3Igb2JqZWN0LlxuICAgICAqL1xuICAgIGdldENvbG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29sb3I7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGNvbG9yLlxuICAgICAqIEByZXR1cm5zIHt7YSwgdG9IU1ZBLCB0b0hFWEEsIHMsIHYsIGgsIGNsb25lLCB0b0NNWUssIHRvSFNMQSwgdG9SR0JBfX1cbiAgICAgKi9cbiAgICBnZXRTZWxlY3RlZENvbG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGFzdENvbG9yO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEByZXR1cm5zIFRoZSByb290IEhUTUxFbGVtZW50IHdpdGggYWxsIGhpcyBjb21wb25lbnRzLlxuICAgICAqL1xuICAgIGdldFJvb3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yb290O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpc2FibGUgcGlja3JcbiAgICAgKi9cbiAgICBkaXNhYmxlKCkge1xuICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgdGhpcy5vcHRpb25zLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fcm9vdC5idXR0b24uY2xhc3NMaXN0LmFkZCgnZGlzYWJsZWQnKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlIHBpY2tyXG4gICAgICovXG4gICAgZW5hYmxlKCkge1xuICAgICAgICB0aGlzLm9wdGlvbnMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fcm9vdC5idXR0b24uY2xhc3NMaXN0LnJlbW92ZSgnZGlzYWJsZWQnKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxufVxuIiwgImltcG9ydCB7IFBsdWdpbiwgTWFya2Rvd25WaWV3LCBXb3Jrc3BhY2VMZWFmIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCB7IERFRkFVTFRfU0VUVElOR1MsIExBTkdVQUdFX0lDT05TX0RBVEEsIENvZGVibG9ja1N0eWxlclNldHRpbmdzIH0gZnJvbSAnLi9TZXR0aW5ncyc7XG5pbXBvcnQgeyBTZXR0aW5nc1RhYiB9IGZyb20gXCIuL1NldHRpbmdzVGFiXCI7XG5pbXBvcnQgeyByZW1vdmVTdHlsZXNBbmRDbGFzc2VzLCB1cGRhdGVTdHlsaW5nIH0gZnJvbSBcIi4vQXBwbHlTdHlsaW5nXCI7XG5pbXBvcnQgeyBjcmVhdGVDb2RlTWlycm9yRXh0ZW5zaW9ucyB9IGZyb20gXCIuL0VkaXRpbmdWaWV3XCI7XG5pbXBvcnQgeyBkZXN0cm95UmVhZGluZ01vZGVFbGVtZW50cywgZXhlY3V0ZUNvZGVNdXRhdGlvbk9ic2VydmVyLCByZWFkaW5nU3R5bGluZ011dGF0aW9uT2JzZXJ2ZXIsIHJlYWRpbmdWaWV3UG9zdFByb2Nlc3NvciB9IGZyb20gXCIuL1JlYWRpbmdWaWV3XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvZGVibG9ja1N0eWxlclBsdWdpbiBleHRlbmRzIFBsdWdpbiB7XG5cdHNldHRpbmdzOiBDb2RlYmxvY2tTdHlsZXJTZXR0aW5ncztcblx0cmVhZGluZ1N0eWxpbmdNdXRhdGlvbk9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuXHRleGVjdXRlQ29kZU11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cdGxhbmd1YWdlSWNvbnM6IFJlY29yZDxzdHJpbmcsc3RyaW5nPjtcblx0XG5cdGFzeW5jIG9ubG9hZCgpIHtcblx0XHRhd2FpdCB0aGlzLmxvYWRTZXR0aW5ncygpOyAvLyBMb2FkIFNldHRpbmdzXG5cdFx0Y29uc3Qgc2V0dGluZ3NUYWIgPSBuZXcgU2V0dGluZ3NUYWIodGhpcy5hcHAsdGhpcyk7XG5cdFx0dGhpcy5hZGRTZXR0aW5nVGFiKHNldHRpbmdzVGFiKTtcblxuXHRcdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnY29kZWJsb2NrLXN0eWxlcicpOyAvLyBMb2FkIFN0eWxlc1xuXHRcdHVwZGF0ZVN0eWxpbmcodGhpcy5zZXR0aW5ncyx0aGlzLmFwcCk7XG5cblx0XHR0aGlzLmxhbmd1YWdlSWNvbnMgPSBPYmplY3Qua2V5cyhMQU5HVUFHRV9JQ09OU19EQVRBKS5yZWR1Y2UoKHJlc3VsdDoge1trZXk6IHN0cmluZ106IHN0cmluZ30sIGtleTogc3RyaW5nKSA9PiB7IC8vIExvYWQgSWNvbnNcblx0XHRcdHJlc3VsdFtrZXldID0gVVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj4ke0xBTkdVQUdFX0lDT05TX0RBVEFba2V5XX08L3N2Zz5gXSwgeyB0eXBlOiBcImltYWdlL3N2Zyt4bWxcIiB9KSk7XG5cdFx0XHRyZXR1cm4gcmVzdWx0XG5cdFx0fSx7fSlcblxuXHRcdHRoaXMucmVhZGluZ1N0eWxpbmdNdXRhdGlvbk9ic2VydmVyID0gcmVhZGluZ1N0eWxpbmdNdXRhdGlvbk9ic2VydmVyOyAvLyBJbml0aWFsaXNlIHJlYWRpbmcgdmlldyBzdHlsaW5nIG11dGF0aW9uIG9ic2VydmVyXG5cdFx0dGhpcy5leGVjdXRlQ29kZU11dGF0aW9uT2JzZXJ2ZXIgPSBleGVjdXRlQ29kZU11dGF0aW9uT2JzZXJ2ZXI7IC8vIEFkZCBleGVjdXRlIGNvZGUgbXV0YXRpb24gb2JzZXJ2ZXJcblx0XHRcblx0XHR0aGlzLnJlZ2lzdGVyTWFya2Rvd25Qb3N0UHJvY2Vzc29yKGFzeW5jIChlbGVtZW50LGNvbnRleHQpID0+IHthd2FpdCByZWFkaW5nVmlld1Bvc3RQcm9jZXNzb3IoZWxlbWVudCxjb250ZXh0LHRoaXMpfSkgLy8gQWRkIG1hcmtkb3duUG9zdFByb2Nlc3NvclxuXHRcdGF3YWl0IHNsZWVwKDIwMClcblx0XHR0aGlzLmFwcC53b3Jrc3BhY2UuaXRlcmF0ZVJvb3RMZWF2ZXMoKGxlYWY6IFdvcmtzcGFjZUxlYWYpID0+IHsgLy8gQWRkIGRlY29yYXRpb24gb24gZW5hYmxpbmcgb2YgcGx1Z2luXG5cdFx0XHRpZiAobGVhZi52aWV3IGluc3RhbmNlb2YgTWFya2Rvd25WaWV3ICYmIGxlYWYudmlldy5nZXRNb2RlKCkgPT09ICdwcmV2aWV3Jylcblx0XHRcdFx0bGVhZi52aWV3LnByZXZpZXdNb2RlLnJlcmVuZGVyKHRydWUpO1xuXHRcdH0pXG5cblx0XHR0aGlzLnJlZ2lzdGVyRWRpdG9yRXh0ZW5zaW9uKGNyZWF0ZUNvZGVNaXJyb3JFeHRlbnNpb25zKHRoaXMuc2V0dGluZ3MsdGhpcy5sYW5ndWFnZUljb25zKSk7IC8vIEFkZCBjb2RlbWlycm9yIGV4dGVuc2lvbnNcblxuXHRcdHRoaXMucmVnaXN0ZXJFdmVudCh0aGlzLmFwcC53b3Jrc3BhY2Uub24oJ2Nzcy1jaGFuZ2UnLCgpPT51cGRhdGVTdHlsaW5nKHRoaXMuc2V0dGluZ3MsdGhpcy5hcHApLHRoaXMpKTsgLy8gVXBkYXRlIHN0eWxpbmcgb24gY3NzIGNoYW5nZXNcblxuXHRcdGNvbnNvbGUubG9nKFwiTG9hZGVkIHBsdWdpbjogQ29kZUJsb2NrIFN0eWxlclwiKTtcblx0fVxuXHRcblx0b251bmxvYWQoKSB7XG5cdFx0dGhpcy5yZWFkaW5nU3R5bGluZ011dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuXHRcdHRoaXMuZXhlY3V0ZUNvZGVNdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcblx0XHRyZW1vdmVTdHlsZXNBbmRDbGFzc2VzKCk7XG5cdFx0ZGVzdHJveVJlYWRpbmdNb2RlRWxlbWVudHMoKTtcblx0XHRmb3IgKGNvbnN0IHVybCBvZiBPYmplY3QudmFsdWVzKHRoaXMubGFuZ3VhZ2VJY29ucykpIC8vIFVubG9hZCBpY29uc1xuXHRcdFx0VVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuXHRcdGNvbnNvbGUubG9nKFwiVW5sb2FkZWQgcGx1Z2luOiBDb2RlQmxvY2sgU3R5bGVyXCIpO1xuXHR9XG5cblx0YXN5bmMgbG9hZFNldHRpbmdzKCkge1xuXHRcdHRoaXMuc2V0dGluZ3MgPSBPYmplY3QuYXNzaWduKHt9LCBzdHJ1Y3R1cmVkQ2xvbmUoREVGQVVMVF9TRVRUSU5HUyksIGF3YWl0IHRoaXMubG9hZERhdGEoKSk7XG5cdH1cblxuXHRhc3luYyBzYXZlU2V0dGluZ3MoKSB7XG5cdFx0YXdhaXQgdGhpcy5zYXZlRGF0YSh0aGlzLnNldHRpbmdzKTtcblx0XHR0aGlzLmFwcC53b3Jrc3BhY2UudXBkYXRlT3B0aW9ucygpO1xuXHRcdHVwZGF0ZVN0eWxpbmcodGhpcy5zZXR0aW5ncyx0aGlzLmFwcCk7XG5cdH1cbn1cbiIsICIvLyBUeXBpbmdcbmV4cG9ydCB0eXBlIEhFWCA9IGAjJHtzdHJpbmd9YDtcbmV4cG9ydCB0eXBlIENTUyA9IGAtLSR7c3RyaW5nfWA7XG5leHBvcnQgdHlwZSBDb2xvciA9IEhFWCB8IENTUztcbmV4cG9ydCB0eXBlIFBlcmNlbnRhZ2UgPSBgJHtudW1iZXJ9JWA7XG5leHBvcnQgdHlwZSBEaXNwbGF5ID0gXCJub25lXCIgfCBcImlmX2hlYWRlcl9zaG93blwiIHwgXCJhbHdheXNcIjtcblxuLy8gSW50ZXJmYWNlIENyZWF0aW9uXG5leHBvcnQgaW50ZXJmYWNlIENvZGVibG9ja1N0eWxlclRoZW1lTW9kZUNvbG9ycyB7XG5cdGNvZGVibG9jazoge1xuXHRcdGJhY2tncm91bmRDb2xvcjogQ29sb3I7XG5cdFx0dGV4dENvbG9yOiBDb2xvcjtcblx0fSxcblx0Z3V0dGVyOiB7XG5cdFx0YmFja2dyb3VuZENvbG9yOiBDb2xvcjtcblx0XHR0ZXh0Q29sb3I6IENvbG9yO1xuXHRcdGFjdGl2ZVRleHRDb2xvcjogQ29sb3I7XG5cdH0sXG5cdGhlYWRlcjoge1xuXHRcdGJhY2tncm91bmRDb2xvcjogQ29sb3I7XG5cdFx0dGl0bGU6IHtcblx0XHRcdHRleHRDb2xvcjogQ29sb3I7XG5cdFx0fSxcblx0XHRsYW5ndWFnZVRhZzoge1xuXHRcdFx0YmFja2dyb3VuZENvbG9yOiBDb2xvcjtcblx0XHRcdHRleHRDb2xvcjogQ29sb3I7XG5cdFx0fSxcblx0XHRsaW5lQ29sb3I6IENvbG9yO1xuXHR9LFxuXHRoaWdobGlnaHRzOiB7XG5cdFx0YWN0aXZlQ29kZWJsb2NrTGluZUNvbG9yOiBDb2xvcjtcblx0XHRhY3RpdmVFZGl0b3JMaW5lQ29sb3I6IENvbG9yO1xuXHRcdGRlZmF1bHRDb2xvcjogQ29sb3I7XG5cdFx0YWx0ZXJuYXRpdmVIaWdobGlnaHRzOiBSZWNvcmQ8c3RyaW5nLENvbG9yPjtcblx0fSxcblx0YWR2YW5jZWQ6IHtcblx0XHRidXR0b25Db2xvcjogQ29sb3I7XG5cdFx0YnV0dG9uQWN0aXZlQ29sb3I6IENvbG9yO1xuXHR9XG59XG5leHBvcnQgaW50ZXJmYWNlIENvZGVibG9ja1N0eWxlclRoZW1lU2V0dGluZ3Mge1xuXHRjb2RlYmxvY2s6IHtcblx0XHRsaW5lTnVtYmVyczogYm9vbGVhbjtcblx0XHR1bndyYXBMaW5lczogYm9vbGVhbjtcblx0XHR3cmFwTGluZXNBY3RpdmU6IGJvb2xlYW47XG5cdFx0Y3VydmF0dXJlOiBudW1iZXI7XG5cdH0sXG5cdGd1dHRlcjoge1xuXHRcdGhpZ2hsaWdodDogYm9vbGVhbjtcblx0XHRhY3RpdmVMaW5lOiBib29sZWFuO1xuXHR9LFxuXHRoZWFkZXI6IHtcblx0XHR0aXRsZToge1xuXHRcdFx0dGV4dEZvbnQ6IHN0cmluZztcblx0XHRcdHRleHRCb2xkOiBib29sZWFuO1xuXHRcdFx0dGV4dEl0YWxpYzogYm9vbGVhbjtcblx0XHR9LFxuXHRcdGxhbmd1YWdlVGFnOiB7XG5cdFx0XHRkaXNwbGF5OiBEaXNwbGF5O1xuXHRcdFx0dGV4dEZvbnQ6IHN0cmluZztcblx0XHRcdHRleHRCb2xkOiBib29sZWFuO1xuXHRcdFx0dGV4dEl0YWxpYzogYm9vbGVhbjtcblx0XHR9LFxuXHRcdGxhbmd1YWdlSWNvbjoge1xuXHRcdFx0ZGlzcGxheTogRGlzcGxheTtcblx0XHRcdGRpc3BsYXlDb2xvcjogYm9vbGVhbjtcblx0XHR9LFxuXHRcdGZvbnRTaXplOiBudW1iZXI7XG5cdFx0Y29sbGFwc2VQbGFjZWhvbGRlcjogc3RyaW5nO1xuXHR9LFxuXHRoaWdobGlnaHRzOiB7XG5cdFx0YWN0aXZlQ29kZWJsb2NrTGluZTogYm9vbGVhbjtcblx0XHRhY3RpdmVFZGl0b3JMaW5lOiBib29sZWFuO1xuXHR9LFxuXHRhZHZhbmNlZDoge1xuXHRcdGdyYWRpZW50SGlnaGxpZ2h0czogYm9vbGVhbjtcblx0XHRncmFkaWVudEhpZ2hsaWdodHNDb2xvclN0b3A6IFBlcmNlbnRhZ2U7XG5cdFx0bGFuZ3VhZ2VCb3JkZXJDb2xvcjogYm9vbGVhbjtcblx0XHRsYW5ndWFnZUJvcmRlcldpZHRoOiBudW1iZXI7XG5cdFx0aWNvblNpemU6IG51bWJlcjtcblx0fTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZWJsb2NrU3R5bGVyVGhlbWVDb2xvcnMge1xuXHRsaWdodDogQ29kZWJsb2NrU3R5bGVyVGhlbWVNb2RlQ29sb3JzO1xuXHRkYXJrOiBDb2RlYmxvY2tTdHlsZXJUaGVtZU1vZGVDb2xvcnM7XG59XG5leHBvcnQgaW50ZXJmYWNlIENvZGVibG9ja1N0eWxlclRoZW1lIHtcblx0c2V0dGluZ3M6IENvZGVibG9ja1N0eWxlclRoZW1lU2V0dGluZ3M7XG5cdGNvbG9yczogQ29kZWJsb2NrU3R5bGVyVGhlbWVDb2xvcnM7XG59XG5leHBvcnQgaW50ZXJmYWNlIENvZGVibG9ja1N0eWxlclNldHRpbmdzIHtcblx0dGhlbWVzOiBSZWNvcmQ8c3RyaW5nLENvZGVibG9ja1N0eWxlclRoZW1lPjtcblx0c2VsZWN0ZWRUaGVtZTogc3RyaW5nO1xuXHRjdXJyZW50VGhlbWU6IENvZGVibG9ja1N0eWxlclRoZW1lO1xuXHRuZXdUaGVtZTogc3RyaW5nO1xuXHRuZXdIaWdobGlnaHQ6IHN0cmluZztcblx0ZXhjbHVkZWRMYW5ndWFnZXM6IHN0cmluZztcblx0ZXhjbHVkZWRDb2RlYmxvY2tzOiBzdHJpbmc7XG5cdHNwZWNpYWxMYW5ndWFnZXM6IEFycmF5PHN0cmluZz47XG5cdHJlZGlyZWN0TGFuZ3VhZ2VzOiBSZWNvcmQ8c3RyaW5nLHtjb2xvcj86IENvbG9yLCBpY29uPzogc3RyaW5nfT5cbn1cblxuLy8gVGhlbWUgRGVmYXVsdHNcbmNvbnN0IFRIRU1FX0RFRkFVTFRfU0VUVElOR1M6IENvZGVibG9ja1N0eWxlclRoZW1lU2V0dGluZ3MgPSB7XG5cdGNvZGVibG9jazoge1xuXHRcdGxpbmVOdW1iZXJzOiB0cnVlLFxuXHRcdHVud3JhcExpbmVzOiB0cnVlLFxuXHRcdHdyYXBMaW5lc0FjdGl2ZTogZmFsc2UsXG5cdFx0Y3VydmF0dXJlOiA0LFxuXHR9LFxuXHRndXR0ZXI6IHtcblx0XHRoaWdobGlnaHQ6IHRydWUsXG5cdFx0YWN0aXZlTGluZTogZmFsc2UsXG5cdH0sXG5cdGhlYWRlcjoge1xuXHRcdHRpdGxlOiB7XG5cdFx0XHR0ZXh0Rm9udDogJycsXG5cdFx0XHR0ZXh0Qm9sZDogZmFsc2UsXG5cdFx0XHR0ZXh0SXRhbGljOiB0cnVlLFxuXHRcdH0sXG5cdFx0bGFuZ3VhZ2VUYWc6IHtcblx0XHRcdGRpc3BsYXk6IFwibm9uZVwiLFxuXHRcdFx0dGV4dEZvbnQ6ICcnLFxuXHRcdFx0dGV4dEJvbGQ6IHRydWUsXG5cdFx0XHR0ZXh0SXRhbGljOiBmYWxzZSxcblx0XHR9LFxuXHRcdGxhbmd1YWdlSWNvbjoge1xuXHRcdFx0ZGlzcGxheTogXCJub25lXCIsXG5cdFx0XHRkaXNwbGF5Q29sb3I6IHRydWUsXG5cdFx0fSxcblx0XHRmb250U2l6ZTogMTQsXG5cdFx0Y29sbGFwc2VQbGFjZWhvbGRlcjogJycsXG5cdH0sXG5cdGhpZ2hsaWdodHM6IHtcblx0XHRhY3RpdmVDb2RlYmxvY2tMaW5lOiBmYWxzZSxcblx0XHRhY3RpdmVFZGl0b3JMaW5lOiBmYWxzZSxcblx0fSxcblx0YWR2YW5jZWQ6IHtcblx0XHRncmFkaWVudEhpZ2hsaWdodHM6IGZhbHNlLFxuXHRcdGdyYWRpZW50SGlnaGxpZ2h0c0NvbG9yU3RvcDogJzcwJScsXG5cdFx0bGFuZ3VhZ2VCb3JkZXJDb2xvcjogZmFsc2UsXG5cdFx0bGFuZ3VhZ2VCb3JkZXJXaWR0aDogNSxcblx0XHRpY29uU2l6ZTogMjgsXG5cdH0sXG59XG5leHBvcnQgY29uc3QgVEhFTUVfRkFMTEJBQ0tfQ09MT1JTOiBDb2RlYmxvY2tTdHlsZXJUaGVtZU1vZGVDb2xvcnMgPSB7XG5cdGNvZGVibG9jazoge1xuXHRcdGJhY2tncm91bmRDb2xvcjogJy0tY29kZS1iYWNrZ3JvdW5kJyxcblx0XHR0ZXh0Q29sb3I6ICctLWNvZGUtbm9ybWFsJyxcblx0fSxcblx0Z3V0dGVyOiB7XG5cdFx0YmFja2dyb3VuZENvbG9yOiAnLS1jb2RlLWJhY2tncm91bmQnLFxuXHRcdHRleHRDb2xvcjogJy0tdGV4dC1mYWludCcsXG5cdFx0YWN0aXZlVGV4dENvbG9yOiAnLS10ZXh0LW11dGVkJyxcblx0fSxcblx0aGVhZGVyOiB7XG5cdFx0YmFja2dyb3VuZENvbG9yOiAnLS1jb2RlLWJhY2tncm91bmQnLFxuXHRcdHRpdGxlOiB7XG5cdFx0XHR0ZXh0Q29sb3I6ICctLWNvZGUtY29tbWVudCcsXG5cdFx0fSxcblx0XHRsYW5ndWFnZVRhZzoge1xuXHRcdFx0YmFja2dyb3VuZENvbG9yOiAnLS1jb2RlLWJhY2tncm91bmQnLFxuXHRcdFx0dGV4dENvbG9yOiAnLS1jb2RlLWNvbW1lbnQnLFxuXHRcdH0sXG5cdFx0bGluZUNvbG9yOiAnLS1jb2xvci1iYXNlLTMwJyxcblx0fSxcblx0aGlnaGxpZ2h0czoge1xuXHRcdGFjdGl2ZUNvZGVibG9ja0xpbmVDb2xvcjogJy0tY29sb3ItYmFzZS0zMCcsXG5cdFx0YWN0aXZlRWRpdG9yTGluZUNvbG9yOiAnLS1jb2xvci1iYXNlLTIwJyxcblx0XHRkZWZhdWx0Q29sb3I6ICctLXRleHQtaGlnaGxpZ2h0LWJnJyxcblx0XHRhbHRlcm5hdGl2ZUhpZ2hsaWdodHM6IHt9LFxuXHR9LFxuXHRhZHZhbmNlZDoge1xuXHRcdGJ1dHRvbkNvbG9yOiAnLS10ZXh0LW11dGVkJyxcblx0XHRidXR0b25BY3RpdmVDb2xvcjogJy0tdGV4dC1ub3JtYWwnLFxuXHR9XG59XG5cbi8vIFRoZW1lIENyZWF0aW9uXG5jb25zdCBERUZBVUxUX1RIRU1FOiBDb2RlYmxvY2tTdHlsZXJUaGVtZSA9IHtcblx0c2V0dGluZ3M6IFRIRU1FX0RFRkFVTFRfU0VUVElOR1MsXG5cdGNvbG9yczoge1xuXHRcdGxpZ2h0OiBUSEVNRV9GQUxMQkFDS19DT0xPUlMsXG5cdFx0ZGFyazogVEhFTUVfRkFMTEJBQ0tfQ09MT1JTLFxuXHR9LFxufVxuY29uc3QgU09MQVJJWkVEX1RIRU1FOiBDb2RlYmxvY2tTdHlsZXJUaGVtZSA9IHtcblx0c2V0dGluZ3M6IFRIRU1FX0RFRkFVTFRfU0VUVElOR1MsXG5cdGNvbG9yczoge1xuXHRcdGxpZ2h0OiB7XG5cdFx0XHRjb2RlYmxvY2s6IHtcblx0XHRcdFx0YmFja2dyb3VuZENvbG9yOiAnI0ZDRjZFNCcsXG5cdFx0XHRcdHRleHRDb2xvcjogJyNiYWJhYmEnLFxuXHRcdFx0fSxcblx0XHRcdGd1dHRlcjoge1xuXHRcdFx0XHRiYWNrZ3JvdW5kQ29sb3I6ICcjRURFOEQ2Jyxcblx0XHRcdFx0dGV4dENvbG9yOiAnIzZjNmM2YycsXG5cdFx0XHRcdGFjdGl2ZVRleHRDb2xvcjogJyM4YzhjOGMnLFxuXHRcdFx0fSxcblx0XHRcdGhlYWRlcjoge1xuXHRcdFx0XHRiYWNrZ3JvdW5kQ29sb3I6ICcjRDVDQ0I0Jyxcblx0XHRcdFx0dGl0bGU6IHtcblx0XHRcdFx0XHR0ZXh0Q29sb3I6ICcjODY2NzA0Jyxcblx0XHRcdFx0fSxcblx0XHRcdFx0bGFuZ3VhZ2VUYWc6IHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kQ29sb3I6ICcjQjhCNUFBJyxcblx0XHRcdFx0XHR0ZXh0Q29sb3I6ICcjQzI1RjMwJyxcblx0XHRcdFx0fSxcblx0XHRcdFx0bGluZUNvbG9yOiAnI0VERDQ4OScsXG5cdFx0XHR9LFxuXHRcdFx0aGlnaGxpZ2h0czoge1xuXHRcdFx0XHRhY3RpdmVDb2RlYmxvY2tMaW5lQ29sb3I6ICcjRURFOEQ2Jyxcblx0XHRcdFx0YWN0aXZlRWRpdG9yTGluZUNvbG9yOiAnIzYwNDYwNjMzJyxcblx0XHRcdFx0ZGVmYXVsdENvbG9yOiAnI0U5REZCQScsXG5cdFx0XHRcdGFsdGVybmF0aXZlSGlnaGxpZ2h0czoge30sXG5cdFx0XHR9LFxuXHRcdFx0YWR2YW5jZWQ6IHtcblx0XHRcdFx0YnV0dG9uQ29sb3I6ICctLXRleHQtbXV0ZWQnLFxuXHRcdFx0XHRidXR0b25BY3RpdmVDb2xvcjogJy0tdGV4dC1ub3JtYWwnLFxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0ZGFyazoge1xuXHRcdFx0Y29kZWJsb2NrOiB7XG5cdFx0XHRcdGJhY2tncm91bmRDb2xvcjogJyMwMDJiMzYnLFxuXHRcdFx0XHR0ZXh0Q29sb3I6ICcjYmFiYWJhJyxcblx0XHRcdH0sXG5cdFx0XHRndXR0ZXI6IHtcblx0XHRcdFx0YmFja2dyb3VuZENvbG9yOiAnIzA3MzY0MicsXG5cdFx0XHRcdHRleHRDb2xvcjogJyM2YzZjNmMnLFxuXHRcdFx0XHRhY3RpdmVUZXh0Q29sb3I6ICcjNGM0YzRjJyxcblx0XHRcdH0sXG5cdFx0XHRoZWFkZXI6IHtcblx0XHRcdFx0YmFja2dyb3VuZENvbG9yOiAnIzBhNDU1NCcsXG5cdFx0XHRcdHRpdGxlOiB7XG5cdFx0XHRcdFx0dGV4dENvbG9yOiAnI2RhZGFkYScsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGxhbmd1YWdlVGFnOiB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZENvbG9yOiAnIzAwODA4MCcsXG5cdFx0XHRcdFx0dGV4dENvbG9yOiAnIzAwMDAwMCcsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGxpbmVDb2xvcjogJyM0NmNjZWQnLFxuXHRcdFx0fSxcblx0XHRcdGhpZ2hsaWdodHM6IHtcblx0XHRcdFx0YWN0aXZlQ29kZWJsb2NrTGluZUNvbG9yOiAnIzA3MzY0MicsXG5cdFx0XHRcdGFjdGl2ZUVkaXRvckxpbmVDb2xvcjogJyM0NjhlZWIzMycsXG5cdFx0XHRcdGRlZmF1bHRDb2xvcjogJyMwNTRiNWMnLFxuXHRcdFx0XHRhbHRlcm5hdGl2ZUhpZ2hsaWdodHM6IHt9LFxuXHRcdFx0fSxcblx0XHRcdGFkdmFuY2VkOiB7XG5cdFx0XHRcdGJ1dHRvbkNvbG9yOiAnLS10ZXh0LW11dGVkJyxcblx0XHRcdFx0YnV0dG9uQWN0aXZlQ29sb3I6ICctLXRleHQtbm9ybWFsJyxcblx0XHRcdH1cblx0XHR9LFxuXHR9LFxufVxuXG4vLyBQbHVnaW4gZGVmYXVsdCBzZXR0aW5nc1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0VUVElOR1M6IENvZGVibG9ja1N0eWxlclNldHRpbmdzID0ge1xuXHR0aGVtZXM6IHtcblx0XHQnRGVmYXVsdCc6IERFRkFVTFRfVEhFTUUsXG5cdFx0J1NvbGFyaXplZCc6IFNPTEFSSVpFRF9USEVNRSxcblx0fSxcblx0c2VsZWN0ZWRUaGVtZTogJ0RlZmF1bHQnLFxuXHRjdXJyZW50VGhlbWU6IHN0cnVjdHVyZWRDbG9uZShERUZBVUxUX1RIRU1FKSxcblx0bmV3VGhlbWU6ICcnLFxuXHRuZXdIaWdobGlnaHQ6ICcnLFxuXHRleGNsdWRlZExhbmd1YWdlczogXCJhZC0qXCIsXG5cdGV4Y2x1ZGVkQ29kZWJsb2NrczogXCJkYXRhdmlldywgZGF0YXZpZXdqcywgbWF0aFwiLFxuXHRzcGVjaWFsTGFuZ3VhZ2VzOiBbXCJecHJldmlldyRcIixcIl5pbmNsdWRlJFwiLFwiXm91dHB1dCRcIixcIl5ydW4tLiskXCJdLFxuXHRyZWRpcmVjdExhbmd1YWdlczoge30sXG59XG5cbi8vIENvbnN0YW50c1xuZXhwb3J0IGNvbnN0IFBBUkFNRVRFUlMgPSBbJ3RpdGxlJywnZm9sZCcsJ2xuJywndW53cmFwJywnaWdub3JlJ107XG5leHBvcnQgY29uc3QgUFJJTUFSWV9ERUxBWSA9IDEwO1xuZXhwb3J0IGNvbnN0IFNFQ09OREFSWV9ERUxBWSA9IDIwMDtcblxuY29uc3QgUFJJU01fTEFOR1VBR0VTOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSA9IHsgLy8gUHJpc20gTGFuZ3VhZ2VzOiBodHRwczovL3ByaXNtanMuY29tL3BsdWdpbnMvc2hvdy1sYW5ndWFnZS9cblx0Ly8gXCJub25lXCI6IFwiUGxhaW4gdGV4dFwiLCAvLyBOT1RFOiBPYnNpZGlhbiB1c2VzIHRoaXMgZm9yIGNvZGVibG9ja3Mgd2l0aG91dCBsYW5ndWFnZSBuYW1lc1xuXHRcInBsYWluXCI6IFwiUGxhaW4gdGV4dFwiLFxuXHRcInBsYWludGV4dFwiOiBcIlBsYWluIHRleHRcIixcblx0XCJ0ZXh0XCI6IFwiUGxhaW4gdGV4dFwiLFxuXHRcInR4dFwiOiBcIlBsYWluIHRleHRcIixcblx0XCJodG1sXCI6IFwiSFRNTFwiLFxuXHRcInhtbFwiOiBcIlhNTFwiLFxuXHRcInN2Z1wiOiBcIlNWR1wiLFxuXHRcIm1hdGhtbFwiOiBcIk1hdGhNTFwiLFxuXHRcInNzbWxcIjogXCJTU01MXCIsXG5cdFwicnNzXCI6IFwiUlNTXCIsXG5cdFwiY3NzXCI6IFwiQ1NTXCIsXG5cdFwiY2xpa2VcIjogXCJDLWxpa2VcIixcblx0XCJqc1wiOiBcIkphdmFTY3JpcHRcIixcblx0XCJhYmFwXCI6IFwiQUJBUFwiLFxuXHRcImFibmZcIjogXCJBQk5GXCIsXG5cdFwiYWxcIjogXCJBTFwiLFxuXHRcImFudGxyNFwiOiBcIkFOVExSNFwiLFxuXHRcImc0XCI6IFwiQU5UTFI0XCIsXG5cdFwiYXBhY2hlY29uZlwiOiBcIkFwYWNoZSBDb25maWd1cmF0aW9uXCIsXG5cdFwiYXBsXCI6IFwiQVBMXCIsXG5cdFwiYXFsXCI6IFwiQVFMXCIsXG5cdFwiaW5vXCI6IFwiQXJkdWlub1wiLFxuXHRcImFyZmZcIjogXCJBUkZGXCIsXG5cdFwiYXJtYXNtXCI6IFwiQVJNIEFzc2VtYmx5XCIsXG5cdFwiYXJtLWFzbVwiOiBcIkFSTSBBc3NlbWJseVwiLFxuXHRcImFydFwiOiBcIkFydHVyb1wiLFxuXHRcImFzY2lpZG9jXCI6IFwiQXNjaWlEb2NcIixcblx0XCJhZG9jXCI6IFwiQXNjaWlEb2NcIixcblx0XCJhc3BuZXRcIjogXCJBU1AuTkVUIChDIylcIixcblx0XCJhc202NTAyXCI6IFwiNjUwMiBBc3NlbWJseVwiLFxuXHRcImFzbWF0bWVsXCI6IFwiQXRtZWwgQVZSIEFzc2VtYmx5XCIsXG5cdFwiYXV0b2hvdGtleVwiOiBcIkF1dG9Ib3RrZXlcIixcblx0XCJhdXRvaXRcIjogXCJBdXRvSXRcIixcblx0XCJhdmlzeW50aFwiOiBcIkF2aVN5bnRoXCIsXG5cdFwiYXZzXCI6IFwiQXZpU3ludGhcIixcblx0XCJhdnJvLWlkbFwiOiBcIkF2cm8gSURMXCIsXG5cdFwiYXZkbFwiOiBcIkF2cm8gSURMXCIsXG5cdFwiYXdrXCI6IFwiQVdLXCIsXG5cdFwiZ2F3a1wiOiBcIkdBV0tcIixcblx0XCJzaFwiOiBcIlNoZWxsXCIsXG5cdFwiYmFzaWNcIjogXCJCQVNJQ1wiLFxuXHRcImJiY29kZVwiOiBcIkJCY29kZVwiLFxuXHRcImJialwiOiBcIkJCalwiLFxuXHRcImJuZlwiOiBcIkJORlwiLFxuXHRcInJibmZcIjogXCJSQk5GXCIsXG5cdFwiYnFuXCI6IFwiQlFOXCIsXG5cdFwiYnNsXCI6IFwiQlNMICgxQzpFbnRlcnByaXNlKVwiLFxuXHRcIm9zY3JpcHRcIjogXCJPbmVTY3JpcHRcIixcblx0XCJjc2hhcnBcIjogXCJDI1wiLFxuXHRcImNzXCI6IFwiQyNcIixcblx0XCJkb3RuZXRcIjogXCJDI1wiLFxuXHRcImNwcFwiOiBcIkMrK1wiLFxuXHRcImNmc2NyaXB0XCI6IFwiQ0ZTY3JpcHRcIixcblx0XCJjZmNcIjogXCJDRlNjcmlwdFwiLFxuXHRcImNpbFwiOiBcIkNJTFwiLFxuXHRcImNpbGtjXCI6IFwiQ2lsay9DXCIsXG5cdFwiY2lsay1jXCI6IFwiQ2lsay9DXCIsXG5cdFwiY2lsa2NwcFwiOiBcIkNpbGsvQysrXCIsXG5cdFwiY2lsay1jcHBcIjogXCJDaWxrL0MrK1wiLFxuXHRcImNpbGtcIjogXCJDaWxrL0MrK1wiLFxuXHRcImNtYWtlXCI6IFwiQ01ha2VcIixcblx0XCJjb2JvbFwiOiBcIkNPQk9MXCIsXG5cdFwiY29mZmVlXCI6IFwiQ29mZmVlU2NyaXB0XCIsXG5cdFwiY29uY1wiOiBcIkNvbmN1cm5hc1wiLFxuXHRcImNzcFwiOiBcIkNvbnRlbnQtU2VjdXJpdHktUG9saWN5XCIsXG5cdFwiY3NzLWV4dHJhc1wiOiBcIkNTUyBFeHRyYXNcIixcblx0XCJjc3ZcIjogXCJDU1ZcIixcblx0XCJjdWVcIjogXCJDVUVcIixcblx0XCJkYXRhd2VhdmVcIjogXCJEYXRhV2VhdmVcIixcblx0XCJkYXhcIjogXCJEQVhcIixcblx0XCJkamFuZ29cIjogXCJEamFuZ28vSmluamEyXCIsXG5cdFwiamluamEyXCI6IFwiRGphbmdvL0ppbmphMlwiLFxuXHRcImRucy16b25lLWZpbGVcIjogXCJETlMgem9uZSBmaWxlXCIsXG5cdFwiZG5zLXpvbmVcIjogXCJETlMgem9uZSBmaWxlXCIsXG5cdFwiZG9ja2VyZmlsZVwiOiBcIkRvY2tlclwiLFxuXHRcImRvdFwiOiBcIkRPVCAoR3JhcGh2aXopXCIsXG5cdFwiZ3ZcIjogXCJET1QgKEdyYXBodml6KVwiLFxuXHRcImVibmZcIjogXCJFQk5GXCIsXG5cdFwiZWRpdG9yY29uZmlnXCI6IFwiRWRpdG9yQ29uZmlnXCIsXG5cdFwiZWpzXCI6IFwiRUpTXCIsXG5cdFwiZXRsdWFcIjogXCJFbWJlZGRlZCBMdWEgdGVtcGxhdGluZ1wiLFxuXHRcImVyYlwiOiBcIkVSQlwiLFxuXHRcImV4Y2VsLWZvcm11bGFcIjogXCJFeGNlbCBGb3JtdWxhXCIsXG5cdFwieGxzeFwiOiBcIkV4Y2VsIEZvcm11bGFcIixcblx0XCJ4bHNcIjogXCJFeGNlbCBGb3JtdWxhXCIsXG5cdFwiZnNoYXJwXCI6IFwiRiNcIixcblx0XCJmaXJlc3RvcmUtc2VjdXJpdHktcnVsZXNcIjogXCJGaXJlc3RvcmUgc2VjdXJpdHkgcnVsZXNcIixcblx0XCJmdGxcIjogXCJGcmVlTWFya2VyIFRlbXBsYXRlIExhbmd1YWdlXCIsXG5cdFwiZ21sXCI6IFwiR2FtZU1ha2VyIExhbmd1YWdlXCIsXG5cdFwiZ2FtZW1ha2VybGFuZ3VhZ2VcIjogXCJHYW1lTWFrZXIgTGFuZ3VhZ2VcIixcblx0XCJnYXBcIjogXCJHQVAgKENBUylcIixcblx0XCJnY29kZVwiOiBcIkctY29kZVwiLFxuXHRcImdkc2NyaXB0XCI6IFwiR0RTY3JpcHRcIixcblx0XCJnZWRjb21cIjogXCJHRURDT01cIixcblx0XCJnZXR0ZXh0XCI6IFwiZ2V0dGV4dFwiLFxuXHRcInBvXCI6IFwiZ2V0dGV4dFwiLFxuXHRcImdsc2xcIjogXCJHTFNMXCIsXG5cdFwiZ25cIjogXCJHTlwiLFxuXHRcImduaVwiOiBcIkdOXCIsXG5cdFwibGlua2VyLXNjcmlwdFwiOiBcIkdOVSBMaW5rZXIgU2NyaXB0XCIsXG5cdFwibGRcIjogXCJHTlUgTGlua2VyIFNjcmlwdFwiLFxuXHRcImdvLW1vZHVsZVwiOiBcIkdvIG1vZHVsZVwiLFxuXHRcImdvLW1vZFwiOiBcIkdvIG1vZHVsZVwiLFxuXHRcImdyYXBocWxcIjogXCJHcmFwaFFMXCIsXG5cdFwiaGJzXCI6IFwiSGFuZGxlYmFyc1wiLFxuXHRcImhzXCI6IFwiSGFza2VsbFwiLFxuXHRcImhjbFwiOiBcIkhDTFwiLFxuXHRcImhsc2xcIjogXCJITFNMXCIsXG5cdFwiaHR0cFwiOiBcIkhUVFBcIixcblx0XCJocGtwXCI6IFwiSFRUUCBQdWJsaWMtS2V5LVBpbnNcIixcblx0XCJoc3RzXCI6IFwiSFRUUCBTdHJpY3QtVHJhbnNwb3J0LVNlY3VyaXR5XCIsXG5cdFwiaWNoaWdvamFtXCI6IFwiSWNoaWdvSmFtXCIsXG5cdFwiaWN1LW1lc3NhZ2UtZm9ybWF0XCI6IFwiSUNVIE1lc3NhZ2UgRm9ybWF0XCIsXG5cdFwiaWRyXCI6IFwiSWRyaXNcIixcblx0XCJpZ25vcmVcIjogXCIuaWdub3JlXCIsXG5cdFwiZ2l0aWdub3JlXCI6IFwiLmdpdGlnbm9yZVwiLFxuXHRcImhnaWdub3JlXCI6IFwiLmhnaWdub3JlXCIsXG5cdFwibnBtaWdub3JlXCI6IFwiLm5wbWlnbm9yZVwiLFxuXHRcImluZm9ybTdcIjogXCJJbmZvcm0gN1wiLFxuXHRcImphdmFkb2NcIjogXCJKYXZhRG9jXCIsXG5cdFwiamF2YWRvY2xpa2VcIjogXCJKYXZhRG9jLWxpa2VcIixcblx0XCJqYXZhc3RhY2t0cmFjZVwiOiBcIkphdmEgc3RhY2sgdHJhY2VcIixcblx0XCJqcVwiOiBcIkpRXCIsXG5cdFwianNkb2NcIjogXCJKU0RvY1wiLFxuXHRcImpzLWV4dHJhc1wiOiBcIkpTIEV4dHJhc1wiLFxuXHRcImpzb25cIjogXCJKU09OXCIsXG5cdFwid2VibWFuaWZlc3RcIjogXCJXZWIgQXBwIE1hbmlmZXN0XCIsXG5cdFwianNvbjVcIjogXCJKU09ONVwiLFxuXHRcImpzb25wXCI6IFwiSlNPTlBcIixcblx0XCJqc3N0YWNrdHJhY2VcIjogXCJKUyBzdGFjayB0cmFjZVwiLFxuXHRcImpzLXRlbXBsYXRlc1wiOiBcIkpTIFRlbXBsYXRlc1wiLFxuXHRcImtlZXBhbGl2ZWRcIjogXCJLZWVwYWxpdmVkIENvbmZpZ3VyZVwiLFxuXHRcImt0c1wiOiBcIktvdGxpbiBTY3JpcHRcIixcblx0XCJrdFwiOiBcIktvdGxpblwiLFxuXHRcImt1bWlyXCI6IFwiS3VNaXIgKFx1MDQxQVx1MDQ0M1x1MDQxQ1x1MDQzOFx1MDQ0MClcIixcblx0XCJrdW1cIjogXCJLdU1pciAoXHUwNDFBXHUwNDQzXHUwNDFDXHUwNDM4XHUwNDQwKVwiLFxuXHRcImxhdGV4XCI6IFwiTGFUZVhcIixcblx0XCJ0ZXhcIjogXCJUZVhcIixcblx0XCJjb250ZXh0XCI6IFwiQ29uVGVYdFwiLFxuXHRcImxpbHlwb25kXCI6IFwiTGlseVBvbmRcIixcblx0XCJseVwiOiBcIkxpbHlQb25kXCIsXG5cdFwiZW1hY3NcIjogXCJMaXNwXCIsXG5cdFwiZWxpc3BcIjogXCJMaXNwXCIsXG5cdFwiZW1hY3MtbGlzcFwiOiBcIkxpc3BcIixcblx0XCJsbHZtXCI6IFwiTExWTSBJUlwiLFxuXHRcImxvZ1wiOiBcIkxvZyBmaWxlXCIsXG5cdFwibG9sY29kZVwiOiBcIkxPTENPREVcIixcblx0XCJtYWdtYVwiOiBcIk1hZ21hIChDQVMpXCIsXG5cdFwibWRcIjogXCJNYXJrZG93blwiLFxuXHRcIm1hcmt1cC10ZW1wbGF0aW5nXCI6IFwiTWFya3VwIHRlbXBsYXRpbmdcIixcblx0XCJtYXRsYWJcIjogXCJNQVRMQUJcIixcblx0XCJtYXhzY3JpcHRcIjogXCJNQVhTY3JpcHRcIixcblx0XCJtZWxcIjogXCJNRUxcIixcblx0XCJtZXRhZm9udFwiOiBcIk1FVEFGT05UXCIsXG5cdFwibW9uZ29kYlwiOiBcIk1vbmdvREJcIixcblx0XCJtb29uXCI6IFwiTW9vblNjcmlwdFwiLFxuXHRcIm4xcWxcIjogXCJOMVFMXCIsXG5cdFwibjRqc1wiOiBcIk40SlNcIixcblx0XCJuNGpzZFwiOiBcIk40SlNcIixcblx0XCJuYW5kMnRldHJpcy1oZGxcIjogXCJOYW5kIFRvIFRldHJpcyBIRExcIixcblx0XCJuYW5pc2NyaXB0XCI6IFwiTmFuaW5vdmVsIFNjcmlwdFwiLFxuXHRcIm5hbmlcIjogXCJOYW5pbm92ZWwgU2NyaXB0XCIsXG5cdFwibmFzbVwiOiBcIk5BU01cIixcblx0XCJuZW9uXCI6IFwiTkVPTlwiLFxuXHRcIm5naW54XCI6IFwibmdpbnhcIixcblx0XCJuc2lzXCI6IFwiTlNJU1wiLFxuXHRcIm9iamVjdGl2ZWNcIjogXCJPYmplY3RpdmUtQ1wiLFxuXHRcIm9iamNcIjogXCJPYmplY3RpdmUtQ1wiLFxuXHRcIm9jYW1sXCI6IFwiT0NhbWxcIixcblx0XCJvcGVuY2xcIjogXCJPcGVuQ0xcIixcblx0XCJvcGVucWFzbVwiOiBcIk9wZW5RYXNtXCIsXG5cdFwicWFzbVwiOiBcIk9wZW5RYXNtXCIsXG5cdFwicGFyaWdwXCI6IFwiUEFSSS9HUFwiLFxuXHRcIm9iamVjdHBhc2NhbFwiOiBcIk9iamVjdCBQYXNjYWxcIixcblx0XCJwc2xcIjogXCJQQVRST0wgU2NyaXB0aW5nIExhbmd1YWdlXCIsXG5cdFwicGNheGlzXCI6IFwiUEMtQXhpc1wiLFxuXHRcInB4XCI6IFwiUEMtQXhpc1wiLFxuXHRcInBlb3BsZWNvZGVcIjogXCJQZW9wbGVDb2RlXCIsXG5cdFwicGNvZGVcIjogXCJQZW9wbGVDb2RlXCIsXG5cdFwicGhwXCI6IFwiUEhQXCIsXG5cdFwicGhwZG9jXCI6IFwiUEhQRG9jXCIsXG5cdFwicGhwLWV4dHJhc1wiOiBcIlBIUCBFeHRyYXNcIixcblx0XCJwbGFudC11bWxcIjogXCJQbGFudFVNTFwiLFxuXHRcInBsYW50dW1sXCI6IFwiUGxhbnRVTUxcIixcblx0XCJwbHNxbFwiOiBcIlBML1NRTFwiLFxuXHRcInBvd2VycXVlcnlcIjogXCJQb3dlclF1ZXJ5XCIsXG5cdFwicHFcIjogXCJQb3dlclF1ZXJ5XCIsXG5cdFwibXNjcmlwdFwiOiBcIlBvd2VyUXVlcnlcIixcblx0XCJwb3dlcnNoZWxsXCI6IFwiUG93ZXJTaGVsbFwiLFxuXHRcInByb21xbFwiOiBcIlByb21RTFwiLFxuXHRcInByb3BlcnRpZXNcIjogXCIucHJvcGVydGllc1wiLFxuXHRcInByb3RvYnVmXCI6IFwiUHJvdG9jb2wgQnVmZmVyc1wiLFxuXHRcInB1cmViYXNpY1wiOiBcIlB1cmVCYXNpY1wiLFxuXHRcInBiZmFzbVwiOiBcIlB1cmVCYXNpY1wiLFxuXHRcInB1cnNcIjogXCJQdXJlU2NyaXB0XCIsXG5cdFwicHlcIjogXCJQeXRob25cIixcblx0XCJxc2hhcnBcIjogXCJRI1wiLFxuXHRcInFzXCI6IFwiUSNcIixcblx0XCJxXCI6IFwiUSAoa2RiKyBkYXRhYmFzZSlcIixcblx0XCJxbWxcIjogXCJRTUxcIixcblx0XCJya3RcIjogXCJSYWNrZXRcIixcblx0XCJjc2h0bWxcIjogXCJSYXpvciBDI1wiLFxuXHRcInJhem9yXCI6IFwiUmF6b3IgQyNcIixcblx0XCJqc3hcIjogXCJSZWFjdCBKU1hcIixcblx0XCJ0c3hcIjogXCJSZWFjdCBUU1hcIixcblx0XCJyZW5weVwiOiBcIlJlbidweVwiLFxuXHRcInJweVwiOiBcIlJlbidweVwiLFxuXHRcInJlc1wiOiBcIlJlU2NyaXB0XCIsXG5cdFwicmVzdFwiOiBcInJlU1QgKHJlU3RydWN0dXJlZFRleHQpXCIsXG5cdFwicm9ib3RmcmFtZXdvcmtcIjogXCJSb2JvdCBGcmFtZXdvcmtcIixcblx0XCJyb2JvdFwiOiBcIlJvYm90IEZyYW1ld29ya1wiLFxuXHRcInJiXCI6IFwiUnVieVwiLFxuXHRcInNhc1wiOiBcIlNBU1wiLFxuXHRcInNhc3NcIjogXCJTYXNzIChTYXNzKVwiLFxuXHRcInNjc3NcIjogXCJTYXNzIChTQ1NTKVwiLFxuXHRcInNoZWxsLXNlc3Npb25cIjogXCJTaGVsbCBzZXNzaW9uXCIsXG5cdFwic2gtc2Vzc2lvblwiOiBcIlNoZWxsIHNlc3Npb25cIixcblx0XCJzaGVsbHNlc3Npb25cIjogXCJTaGVsbCBzZXNzaW9uXCIsXG5cdFwic21sXCI6IFwiU01MXCIsXG5cdFwic21sbmpcIjogXCJTTUwvTkpcIixcblx0XCJzb2xpZGl0eVwiOiBcIlNvbGlkaXR5IChFdGhlcmV1bSlcIixcblx0XCJzb2xcIjogXCJTb2xpZGl0eSAoRXRoZXJldW0pXCIsXG5cdFwic29sdXRpb24tZmlsZVwiOiBcIlNvbHV0aW9uIGZpbGVcIixcblx0XCJzbG5cIjogXCJTb2x1dGlvbiBmaWxlXCIsXG5cdFwic295XCI6IFwiU295IChDbG9zdXJlIFRlbXBsYXRlKVwiLFxuXHRcInNwYXJxbFwiOiBcIlNQQVJRTFwiLFxuXHRcInJxXCI6IFwiU1BBUlFMXCIsXG5cdFwic3BsdW5rLXNwbFwiOiBcIlNwbHVuayBTUExcIixcblx0XCJzcWZcIjogXCJTUUY6IFN0YXR1cyBRdW8gRnVuY3Rpb24gKEFybWEgMylcIixcblx0XCJzcWxcIjogXCJTUUxcIixcblx0XCJzdGF0YVwiOiBcIlN0YXRhIEFkb1wiLFxuXHRcImllY3N0XCI6IFwiU3RydWN0dXJlZCBUZXh0IChJRUMgNjExMzEtMylcIixcblx0XCJzdXBlcmNvbGxpZGVyXCI6IFwiU3VwZXJDb2xsaWRlclwiLFxuXHRcInNjbGFuZ1wiOiBcIlN1cGVyQ29sbGlkZXJcIixcblx0XCJzeXN0ZW1kXCI6IFwiU3lzdGVtZCBjb25maWd1cmF0aW9uIGZpbGVcIixcblx0XCJ0NC10ZW1wbGF0aW5nXCI6IFwiVDQgdGVtcGxhdGluZ1wiLFxuXHRcInQ0LWNzXCI6IFwiVDQgVGV4dCBUZW1wbGF0ZXMgKEMjKVwiLFxuXHRcInQ0XCI6IFwiVDQgVGV4dCBUZW1wbGF0ZXMgKEMjKVwiLFxuXHRcInQ0LXZiXCI6IFwiVDQgVGV4dCBUZW1wbGF0ZXMgKFZCKVwiLFxuXHRcInRhcFwiOiBcIlRBUFwiLFxuXHRcInR0MlwiOiBcIlRlbXBsYXRlIFRvb2xraXQgMlwiLFxuXHRcInRvbWxcIjogXCJUT01MXCIsXG5cdFwidHJpY2tsZVwiOiBcInRyaWNrbGVcIixcblx0XCJ0cm95XCI6IFwidHJveVwiLFxuXHRcInRyaWdcIjogXCJUcmlHXCIsXG5cdFwidHNcIjogXCJUeXBlU2NyaXB0XCIsXG5cdFwidHNjb25maWdcIjogXCJUU0NvbmZpZ1wiLFxuXHRcInVzY3JpcHRcIjogXCJVbnJlYWxTY3JpcHRcIixcblx0XCJ1Y1wiOiBcIlVucmVhbFNjcmlwdFwiLFxuXHRcInVvcmF6b3JcIjogXCJVTyBSYXpvciBTY3JpcHRcIixcblx0XCJ1cmlcIjogXCJVUklcIixcblx0XCJ1cmxcIjogXCJVUkxcIixcblx0XCJ2Ym5ldFwiOiBcIlZCLk5ldFwiLFxuXHRcInZoZGxcIjogXCJWSERMXCIsXG5cdFwidmltXCI6IFwidmltXCIsXG5cdFwidmlzdWFsLWJhc2ljXCI6IFwiVmlzdWFsIEJhc2ljXCIsXG5cdFwidmJhXCI6IFwiVkJBXCIsXG5cdFwidmJcIjogXCJWaXN1YWwgQmFzaWNcIixcblx0XCJ3YXNtXCI6IFwiV2ViQXNzZW1ibHlcIixcblx0XCJ3ZWItaWRsXCI6IFwiV2ViIElETFwiLFxuXHRcIndlYmlkbFwiOiBcIldlYiBJRExcIixcblx0XCJ3Z3NsXCI6IFwiV0dTTFwiLFxuXHRcIndpa2lcIjogXCJXaWtpIG1hcmt1cFwiLFxuXHRcIndvbGZyYW1cIjogXCJXb2xmcmFtIGxhbmd1YWdlXCIsXG5cdFwibmJcIjogXCJNYXRoZW1hdGljYSBOb3RlYm9va1wiLFxuXHRcIndsXCI6IFwiV29sZnJhbSBsYW5ndWFnZVwiLFxuXHRcInhlb3JhY3ViZVwiOiBcIlhlb3JhQ3ViZVwiLFxuXHRcInhtbC1kb2NcIjogXCJYTUwgZG9jICgubmV0KVwiLFxuXHRcInhvam9cIjogXCJYb2pvIChSRUFMYmFzaWMpXCIsXG5cdFwieHF1ZXJ5XCI6IFwiWFF1ZXJ5XCIsXG5cdFwieWFtbFwiOiBcIllBTUxcIixcblx0XCJ5bWxcIjogXCJZQU1MXCIsXG5cdFwieWFuZ1wiOiBcIllBTkdcIixcbn07IFxuY29uc3QgTUFOVUFMX0xBTkdVQUdFUzoge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7IC8vIE1hbnVhbGx5IGdlbmVyYXRlZCBsaXN0IGZyb20gaHR0cHM6Ly9wcmlzbWpzLmNvbS8gIC0gIDI5NyBsYW5ndWFnZXNcblx0XCJjc3NcIjpcIkNTU1wiLFxuXHRcImNsaWtlXCI6XCJDLWxpa2VcIixcblx0XCJqYXZhc2NyaXB0XCI6XCJKYXZhU2NyaXB0XCIsXG5cdFwianNcIjpcIkphdmFTY3JpcHRcIixcblx0XCJhYmFwXCI6XCJBQkFQXCIsXG5cdFwiYWJuZlwiOlwiQUJORlwiLFxuXHRcImFjdGlvbnNjcmlwdFwiOlwiQWN0aW9uU2NyaXB0XCIsXG5cdFwiYWRhXCI6XCJBZGFcIixcblx0XCJhZ2RhXCI6XCJBZ2RhXCIsXG5cdFwiYWxcIjpcIkFMXCIsXG5cdFwiYW50bHI0XCI6XCJBTlRMUjRcIixcblx0XCJnNFwiOlwiQU5UTFI0XCIsXG5cdFwiYXBhY2hlY29uZlwiOlwiQXBhY2hlIENvbmZpZ3VyYXRpb25cIixcblx0XCJhcGV4XCI6XCJBcGV4XCIsXG5cdFwiYXBsXCI6XCJBUExcIixcblx0XCJhcHBsZXNjcmlwdFwiOlwiQXBwbGVTY3JpcHRcIixcblx0XCJhcWxcIjpcIkFRTFwiLFxuXHRcImFyZHVpbm9cIjpcIkFyZHVpbm9cIixcblx0XCJpbm9cIjpcIkFyZHVpbm9cIixcblx0XCJhcmZmXCI6XCJBUkZGXCIsXG5cdFwiYXJtYXNtXCI6XCJBUk0gQXNzZW1ibHlcIixcblx0XCJhcm0tYXNtXCI6XCJBUk0gQXNzZW1ibHlcIixcblx0XCJhcnR1cm9cIjpcIkFydHVyb1wiLFxuXHRcImFydFwiOlwiQXJ0dXJvXCIsXG5cdFwiYXNjaWlkb2NcIjpcIkFzY2lpRG9jXCIsXG5cdFwiYWRvY1wiOlwiQXNjaWlEb2NcIixcblx0XCJhc3BuZXRcIjpcIkFTUC5ORVQgKEMjKVwiLFxuXHRcImFzbTY1MDJcIjpcIjY1MDIgQXNzZW1ibHlcIixcblx0XCJhc21hdG1lbFwiOlwiQXRtZWwgQVZSIEFzc2VtYmx5XCIsXG5cdFwiYXV0b2hvdGtleVwiOlwiQXV0b0hvdGtleVwiLFxuXHRcImF1dG9pdFwiOlwiQXV0b0l0XCIsXG5cdFwiYXZpc3ludGhcIjpcIkF2aVN5bnRoXCIsXG5cdFwiYXZzXCI6XCJBdmlTeW50aFwiLFxuXHRcImF2cm8taWRsXCI6XCJBdnJvIElETFwiLFxuXHRcImF2ZGxcIjpcIkF2cm8gSURMXCIsXG5cdFwiYXdrXCI6XCJBV0tcIixcblx0XCJnYXdrXCI6XCJHQVdLXCIsXG5cdFwiYmFzaFwiOlwiU2hlbGxcIixcblx0XCJzaFwiOlwiU2hlbGxcIixcblx0XCJzaGVsbFwiOlwiU2hlbGxcIixcblx0XCJiYXNpY1wiOlwiQkFTSUNcIixcblx0XCJiYXRjaFwiOlwiQmF0Y2hcIixcblx0XCJiYmNvZGVcIjpcIkJCY29kZVwiLFxuXHRcInNob3J0Y29kZVwiOlwiQkJjb2RlXCIsXG5cdFwiYmJqXCI6XCJCQmpcIixcblx0XCJiaXJiXCI6XCJCaXJiXCIsXG5cdFwiYmlzb25cIjpcIkJpc29uXCIsXG5cdFwiYm5mXCI6XCJCTkZcIixcblx0XCJyYm5mXCI6XCJCTkZcIixcblx0XCJicW5cIjpcIkJRTlwiLFxuXHRcImJyYWluZnVja1wiOlwiQnJhaW5mdWNrXCIsXG5cdFwiYnJpZ2h0c2NyaXB0XCI6XCJCcmlnaHRTY3JpcHRcIixcblx0XCJicm9cIjpcIkJyb1wiLFxuXHRcImJzbFwiOlwiQlNMICgxQylcIixcblx0XCJvc2NyaXB0XCI6XCJCU0wgKDFDKVwiLFxuXHRcImNcIjpcIkNcIixcblx0XCJjc2hhcnBcIjpcIkMjXCIsXG5cdFwiY3NcIjpcIkMjXCIsXG5cdFwiZG90bmV0XCI6XCJDI1wiLFxuXHRcImNwcFwiOlwiQysrXCIsXG5cdFwiY2ZzY3JpcHRcIjpcIkNGU2NyaXB0XCIsXG5cdFwiY2ZjXCI6XCJDRlNjcmlwdFwiLFxuXHRcImNoYWlzY3JpcHRcIjpcIkNoYWlTY3JpcHRcIixcblx0XCJjaWxcIjpcIkNJTFwiLFxuXHRcImNpbGtjXCI6XCJDaWxrL0NcIixcblx0XCJjaWxrLWNcIjpcIkNpbGsvQ1wiLFxuXHRcImNpbGtjcHBcIjpcIkNpbGsvQysrXCIsXG5cdFwiY2lsay1jcHBcIjpcIkNpbGsvQysrXCIsXG5cdFwiY2lsa1wiOlwiQ2lsay9DKytcIixcblx0XCJjbG9qdXJlXCI6XCJDbG9qdXJlXCIsXG5cdFwiY21ha2VcIjpcIkNNYWtlXCIsXG5cdFwiY29ib2xcIjpcIkNPQk9MXCIsXG5cdFwiY29mZmVlc2NyaXB0XCI6XCJDb2ZmZWVTY3JpcHRcIixcblx0XCJjb2ZmZWVcIjpcIkNvZmZlZVNjcmlwdFwiLFxuXHRcImNvbmN1cm5hc1wiOlwiQ29uY3VybmFzXCIsXG5cdFwiY29uY1wiOlwiQ29uY3VybmFzXCIsXG5cdFwiY3NwXCI6XCJDb250ZW50LVNlY3VyaXR5LVBvbGljeVwiLFxuXHRcImNvb2tsYW5nXCI6XCJDb29rbGFuZ1wiLFxuXHRcImNvcVwiOlwiQ29xXCIsXG5cdFwiY3J5c3RhbFwiOlwiQ3J5c3RhbFwiLFxuXHRcImNzcy1leHRyYXNcIjpcIkNTUyBFeHRyYXNcIixcblx0XCJjc3ZcIjpcIkNTVlwiLFxuXHRcImN1ZVwiOlwiQ1VFXCIsXG5cdFwiY3lwaGVyXCI6XCJDeXBoZXJcIixcblx0XCJkXCI6XCJEXCIsXG5cdFwiZGFydFwiOlwiRGFydFwiLFxuXHRcImRhdGF3ZWF2ZVwiOlwiRGF0YVdlYXZlXCIsXG5cdFwiZGF4XCI6XCJEQVhcIixcblx0XCJkaGFsbFwiOlwiRGhhbGxcIixcblx0XCJkaWZmXCI6XCJEaWZmXCIsXG5cdFwiZGphbmdvXCI6XCJEamFuZ28vSmluamEyXCIsXG5cdFwiamluamEyXCI6XCJEamFuZ28vSmluamEyXCIsXG5cdFwiZG5zLXpvbmUtZmlsZVwiOlwiRE5TIHpvbmUgZmlsZVwiLFxuXHRcImRucy16b25lXCI6XCJETlMgem9uZSBmaWxlXCIsXG5cdFwiZG9ja2VyXCI6XCJEb2NrZXJcIixcblx0XCJkb2NrZXJmaWxlXCI6XCJEb2NrZXJcIixcblx0XCJkb3RcIjpcIkRPVCAoR3JhcGh2aXopXCIsXG5cdFwiZ3ZcIjpcIkRPVCAoR3JhcGh2aXopXCIsXG5cdFwiZWJuZlwiOlwiRUJORlwiLFxuXHRcImVkaXRvcmNvbmZpZ1wiOlwiRWRpdG9yQ29uZmlnXCIsXG5cdFwiZWlmZmVsXCI6XCJFaWZmZWxcIixcblx0XCJlanNcIjpcIkVKU1wiLFxuXHRcImV0YVwiOlwiRUpTXCIsXG5cdFwiZWxpeGlyXCI6XCJFbGl4aXJcIixcblx0XCJlbG1cIjpcIkVsbVwiLFxuXHRcImV0bHVhXCI6XCJFbWJlZGRlZCBMdWEgdGVtcGxhdGluZ1wiLFxuXHRcImVyYlwiOlwiRVJCXCIsXG5cdFwiZXJsYW5nXCI6XCJFcmxhbmdcIixcblx0XCJleGNlbC1mb3JtdWxhXCI6XCJFeGNlbCBGb3JtdWxhXCIsXG5cdFwieGxzeFwiOlwiRXhjZWwgRm9ybXVsYVwiLFxuXHRcInhsc1wiOlwiRXhjZWwgRm9ybXVsYVwiLFxuXHRcImZzaGFycFwiOlwiRiNcIixcblx0XCJmYWN0b3JcIjpcIkZhY3RvclwiLFxuXHRcImZhbHNlXCI6XCJGYWxzZVwiLFxuXHRcImZpcmVzdG9yZS1zZWN1cml0eS1ydWxlc1wiOlwiRmlyZXN0b3JlIHNlY3VyaXR5IHJ1bGVzXCIsXG5cdFwiZmxvd1wiOlwiRmxvd1wiLFxuXHRcImZvcnRyYW5cIjpcIkZvcnRyYW5cIixcblx0XCJmdGxcIjpcIkZyZWVNYXJrZXIgVGVtcGxhdGUgTGFuZ3VhZ2VcIixcblx0XCJnbWxcIjpcIkdhbWVNYWtlciBMYW5ndWFnZVwiLFxuXHRcImdhbWVtYWtlcmxhbmd1YWdlXCI6XCJHYW1lTWFrZXIgTGFuZ3VhZ2VcIixcblx0XCJnYXBcIjpcIkdBUCAoQ0FTKVwiLFxuXHRcImdjb2RlXCI6XCJHLWNvZGVcIixcblx0XCJnZHNjcmlwdFwiOlwiR0RTY3JpcHRcIixcblx0XCJnZWRjb21cIjpcIkdFRENPTVwiLFxuXHRcImdldHRleHRcIjpcImdldHRleHRcIixcblx0XCJwb1wiOlwiZ2V0dGV4dFwiLFxuXHRcImdoZXJraW5cIjpcIkdoZXJraW5cIixcblx0XCJnaXRcIjpcIkdpdFwiLFxuXHRcImdsc2xcIjpcIkdMU0xcIixcblx0XCJnblwiOlwiR05cIixcblx0XCJnbmlcIjpcIkdOXCIsXG5cdFwibGlua2VyLXNjcmlwdFwiOlwiR05VIExpbmtlciBTY3JpcHRcIixcblx0XCJsZFwiOlwiR05VIExpbmtlciBTY3JpcHRcIixcblx0XCJnb1wiOlwiR29cIixcblx0XCJnby1tb2R1bGVcIjpcIkdvIG1vZHVsZVwiLFxuXHRcImdvLW1vZFwiOlwiR28gbW9kdWxlXCIsXG5cdFwiZ3JhZGxlXCI6XCJHcmFkbGVcIixcblx0XCJncmFwaHFsXCI6XCJHcmFwaFFMXCIsXG5cdFwiZ3Jvb3Z5XCI6XCJHcm9vdnlcIixcblx0XCJoYW1sXCI6XCJIYW1sXCIsXG5cdFwiaGFuZGxlYmFyc1wiOlwiSGFuZGxlYmFyc1wiLFxuXHRcImhic1wiOlwiSGFuZGxlYmFyc1wiLFxuXHRcIm11c3RhY2hlXCI6XCJIYW5kbGViYXJzXCIsXG5cdFwiaGFza2VsbFwiOlwiSGFza2VsbFwiLFxuXHRcImhzXCI6XCJIYXNrZWxsXCIsXG5cdFwiaGF4ZVwiOlwiSGF4ZVwiLFxuXHRcImhjbFwiOlwiSENMXCIsXG5cdFwiaGxzbFwiOlwiSExTTFwiLFxuXHRcImhvb25cIjpcIkhvb25cIixcblx0XCJodHRwXCI6XCJIVFRQXCIsXG5cdFwiaHBrcFwiOlwiSFRUUCBQdWJsaWMtS2V5LVBpbnNcIixcblx0XCJoc3RzXCI6XCJIVFRQIFN0cmljdC1UcmFuc3BvcnQtU2VjdXJpdHlcIixcblx0XCJpY2hpZ29qYW1cIjpcIkljaGlnb0phbVwiLFxuXHRcImljb25cIjpcIkljb25cIixcblx0XCJpY3UtbWVzc2FnZS1mb3JtYXRcIjpcIklDVSBNZXNzYWdlIEZvcm1hdFwiLFxuXHRcImlkcmlzXCI6XCJJZHJpc1wiLFxuXHRcImlkclwiOlwiSWRyaXNcIixcblx0XCJpbmZvcm03XCI6XCJJbmZvcm0gN1wiLFxuXHRcImluaVwiOlwiSW5pXCIsXG5cdFwiaW9cIjpcIklvXCIsXG5cdFwialwiOlwiSlwiLFxuXHRcImphdmFcIjpcIkphdmFcIixcblx0XCJqYXZhZG9jXCI6XCJKYXZhRG9jXCIsXG5cdFwiamF2YWRvY2xpa2VcIjpcIkphdmFEb2MtbGlrZVwiLFxuXHRcImphdmFzdGFja3RyYWNlXCI6XCJKYXZhIHN0YWNrIHRyYWNlXCIsXG5cdFwiamV4bFwiOlwiSmV4bFwiLFxuXHRcImpvbGllXCI6XCJKb2xpZVwiLFxuXHRcImpxXCI6XCJKUVwiLFxuXHRcImpzZG9jXCI6XCJKU0RvY1wiLFxuXHRcImpzLWV4dHJhc1wiOlwiSlMgRXh0cmFzXCIsXG5cdFwianNvblwiOlwiSlNPTlwiLFxuXHRcIndlYm1hbmlmZXN0XCI6XCJKU09OXCIsXG5cdFwianNvbjVcIjpcIkpTT041XCIsXG5cdFwianNvbnBcIjpcIkpTT05QXCIsXG5cdFwianNzdGFja3RyYWNlXCI6XCJKUyBzdGFjayB0cmFjZVwiLFxuXHRcImpzLXRlbXBsYXRlc1wiOlwiSlMgVGVtcGxhdGVzXCIsXG5cdFwianVsaWFcIjpcIkp1bGlhXCIsXG5cdFwia2VlcGFsaXZlZFwiOlwiS2VlcGFsaXZlZCBDb25maWd1cmVcIixcblx0XCJrZXltYW5cIjpcIktleW1hblwiLFxuXHRcImtvdGxpblwiOlwiS290bGluXCIsXG5cdFwia3RcIjpcIktvdGxpblwiLFxuXHRcImt0c1wiOlwiS290bGluXCIsXG5cdFwia3VtaXJcIjpcIkt1TWlyIChcdTA0MUFcdTA0NDNcdTA0MUNcdTA0MzhcdTA0NDApXCIsXG5cdFwia3VtXCI6XCJLdU1pciAoXHUwNDFBXHUwNDQzXHUwNDFDXHUwNDM4XHUwNDQwKVwiLFxuXHRcImt1c3RvXCI6XCJLdXN0b1wiLFxuXHRcImxhdGV4XCI6XCJMYVRlWFwiLFxuXHRcInRleFwiOlwiTGFUZVhcIixcblx0XCJjb250ZXh0XCI6XCJMYVRlWFwiLFxuXHRcImxhdHRlXCI6XCJMYXR0ZVwiLFxuXHRcImxlc3NcIjpcIkxlc3NcIixcblx0XCJsaWx5cG9uZFwiOlwiTGlseVBvbmRcIixcblx0XCJseVwiOlwiTGlseVBvbmRcIixcblx0XCJsaXF1aWRcIjpcIkxpcXVpZFwiLFxuXHRcImxpc3BcIjpcIkxpc3BcIixcblx0XCJlbWFjc1wiOlwiTGlzcFwiLFxuXHRcImVsaXNwXCI6XCJMaXNwXCIsXG5cdFwiZW1hY3MtbGlzcFwiOlwiTGlzcFwiLFxuXHRcImxpdmVzY3JpcHRcIjpcIkxpdmVTY3JpcHRcIixcblx0XCJsbHZtXCI6XCJMTFZNIElSXCIsXG5cdFwibG9nXCI6XCJMb2cgZmlsZVwiLFxuXHRcImxvbGNvZGVcIjpcIkxPTENPREVcIixcblx0XCJsdWFcIjpcIkx1YVwiLFxuXHRcIm1hZ21hXCI6XCJNYWdtYSAoQ0FTKVwiLFxuXHRcIm1ha2VmaWxlXCI6XCJNYWtlZmlsZVwiLFxuXHRcIm1hcmtkb3duXCI6XCJNYXJrZG93blwiLFxuXHRcIm1kXCI6XCJNYXJrZG93blwiLFxuXHRcIm1hcmt1cC10ZW1wbGF0aW5nXCI6XCJNYXJrdXAgdGVtcGxhdGluZ1wiLFxuXHRcIm1hdGFcIjpcIk1hdGFcIixcblx0XCJtYXRsYWJcIjpcIk1BVExBQlwiLFxuXHRcIm1heHNjcmlwdFwiOlwiTUFYU2NyaXB0XCIsXG5cdFwibWVsXCI6XCJNRUxcIixcblx0XCJtZXJtYWlkXCI6XCJNZXJtYWlkXCIsXG5cdFwibWV0YWZvbnRcIjpcIk1FVEFGT05UXCIsXG5cdFwibWl6YXJcIjpcIk1pemFyXCIsXG5cdFwibW9uZ29kYlwiOlwiTW9uZ29EQlwiLFxuXHRcIm1vbmtleVwiOlwiTW9ua2V5XCIsXG5cdFwibW9vbnNjcmlwdFwiOlwiTW9vblNjcmlwdFwiLFxuXHRcIm1vb25cIjpcIk1vb25TY3JpcHRcIixcblx0XCJuMXFsXCI6XCJOMVFMXCIsXG5cdFwibjRqc1wiOlwiTjRKU1wiLFxuXHRcIm40anNkXCI6XCJONEpTXCIsXG5cdFwibmFuZDJ0ZXRyaXMtaGRsXCI6XCJOYW5kIFRvIFRldHJpcyBIRExcIixcblx0XCJuYW5pc2NyaXB0XCI6XCJOYW5pbm92ZWwgU2NyaXB0XCIsXG5cdFwibmFuaVwiOlwiTmFuaW5vdmVsIFNjcmlwdFwiLFxuXHRcIm5hc21cIjpcIk5BU01cIixcblx0XCJuZW9uXCI6XCJORU9OXCIsXG5cdFwibmV2b2RcIjpcIk5ldm9kXCIsXG5cdFwibmdpbnhcIjpcIm5naW54XCIsXG5cdFwibmltXCI6XCJOaW1cIixcblx0XCJuaXhcIjpcIk5peFwiLFxuXHRcIm5zaXNcIjpcIk5TSVNcIixcblx0XCJvYmplY3RpdmVjXCI6XCJPYmplY3RpdmUtQ1wiLFxuXHRcIm9iamNcIjpcIk9iamVjdGl2ZS1DXCIsXG5cdFwib2NhbWxcIjpcIk9DYW1sXCIsXG5cdFwib2RpblwiOlwiT2RpblwiLFxuXHRcIm9wZW5jbFwiOlwiT3BlbkNMXCIsXG5cdFwib3BlbnFhc21cIjpcIk9wZW5RYXNtXCIsXG5cdFwicWFzbVwiOlwiT3BlblFhc21cIixcblx0XCJvelwiOlwiT3pcIixcblx0XCJwYXJpZ3BcIjpcIlBBUkkvR1BcIixcblx0XCJwYXJzZXJcIjpcIlBhcnNlclwiLFxuXHRcInBhc2NhbFwiOlwiUGFzY2FsXCIsXG5cdFwicGFzY2FsaWdvXCI6XCJQYXNjYWxpZ29cIixcblx0XCJwc2xcIjpcIlBBVFJPTCBTY3JpcHRpbmcgTGFuZ3VhZ2VcIixcblx0XCJwY2F4aXNcIjpcIlBDLUF4aXNcIixcblx0XCJweFwiOlwiUEMtQXhpc1wiLFxuXHRcInBlb3BsZWNvZGVcIjpcIlBlb3BsZUNvZGVcIixcblx0XCJwY29kZVwiOlwiUGVvcGxlQ29kZVwiLFxuXHRcInBlcmxcIjpcIlBlcmxcIixcblx0XCJwaHBcIjpcIlBIUFwiLFxuXHRcInBocGRvY1wiOlwiUEhQRG9jXCIsXG5cdFwicGhwLWV4dHJhc1wiOlwiUEhQIEV4dHJhc1wiLFxuXHRcInBsYW50LXVtbFwiOlwiUGxhbnRVTUxcIixcblx0XCJwbGFudHVtbFwiOlwiUGxhbnRVTUxcIixcblx0XCJwbHNxbFwiOlwiUEwvU1FMXCIsXG5cdFwicG93ZXJxdWVyeVwiOlwiUG93ZXJRdWVyeVwiLFxuXHRcInBxXCI6XCJQb3dlclF1ZXJ5XCIsXG5cdFwibXNjcmlwdFwiOlwiUG93ZXJRdWVyeVwiLFxuXHRcInBvd2Vyc2hlbGxcIjpcIlBvd2VyU2hlbGxcIixcblx0XCJwcm9jZXNzaW5nXCI6XCJQcm9jZXNzaW5nXCIsXG5cdFwicHJvbG9nXCI6XCJQcm9sb2dcIixcblx0XCJwcm9tcWxcIjpcIlByb21RTFwiLFxuXHRcInByb3BlcnRpZXNcIjpcIi5wcm9wZXJ0aWVzXCIsXG5cdFwicHJvdG9idWZcIjpcIlByb3RvY29sIEJ1ZmZlcnNcIixcblx0XCJwdWdcIjpcIlB1Z1wiLFxuXHRcInB1cHBldFwiOlwiUHVwcGV0XCIsXG5cdFwicHVyZVwiOlwiUHVyZVwiLFxuXHRcInB1cmViYXNpY1wiOlwiUHVyZUJhc2ljXCIsXG5cdFwicGJmYXNtXCI6XCJQdXJlQmFzaWNcIixcblx0XCJwdXJlc2NyaXB0XCI6XCJQdXJlU2NyaXB0XCIsXG5cdFwicHVyc1wiOlwiUHVyZVNjcmlwdFwiLFxuXHRcInB5dGhvblwiOlwiUHl0aG9uXCIsXG5cdFwicHlcIjpcIlB5dGhvblwiLFxuXHRcInFzaGFycFwiOlwiUSNcIixcblx0XCJxc1wiOlwiUSNcIixcblx0XCJxXCI6XCJRIChrZGIrIGRhdGFiYXNlKVwiLFxuXHRcInFtbFwiOlwiUU1MXCIsXG5cdFwicW9yZVwiOlwiUW9yZVwiLFxuXHRcInJcIjpcIlJcIixcblx0XCJyYWNrZXRcIjpcIlJhY2tldFwiLFxuXHRcInJrdFwiOlwiUmFja2V0XCIsXG5cdFwiY3NodG1sXCI6XCJSYXpvciBDI1wiLFxuXHRcImpzeFwiOlwiUmVhY3QgSlNYXCIsXG5cdFwidHN4XCI6XCJSZWFjdCBUU1hcIixcblx0XCJyZWFzb25cIjpcIlJlYXNvblwiLFxuXHRcInJlZ2V4XCI6XCJSZWdleFwiLFxuXHRcInJlZ29cIjpcIlJlZ29cIixcblx0XCJyZW5weVwiOlwiUmVuJ3B5XCIsXG5cdFwicnB5XCI6XCJSZW4ncHlcIixcblx0XCJyZXNjcmlwdFwiOlwiUmVTY3JpcHRcIixcblx0XCJyZXNcIjpcIlJlU2NyaXB0XCIsXG5cdFwicmVzdFwiOlwicmVTVCAocmVTdHJ1Y3R1cmVkVGV4dClcIixcblx0XCJyaXBcIjpcIlJpcFwiLFxuXHRcInJvYm9jb25mXCI6XCJSb2JvY29uZlwiLFxuXHRcInJvYm90ZnJhbWV3b3JrXCI6XCJSb2JvdCBGcmFtZXdvcmtcIixcblx0XCJyb2JvdFwiOlwiUm9ib3QgRnJhbWV3b3JrXCIsXG5cdFwicnVieVwiOlwiUnVieVwiLFxuXHRcInJiXCI6XCJSdWJ5XCIsXG5cdFwicnVzdFwiOlwiUnVzdFwiLFxuXHRcInNhc1wiOlwiU0FTXCIsXG5cdFwic2Fzc1wiOlwiU2FzcyAoU2FzcylcIixcblx0XCJzY3NzXCI6XCJTYXNzIChTQ1NTKVwiLFxuXHRcInNjYWxhXCI6XCJTY2FsYVwiLFxuXHRcInNjaGVtZVwiOlwiU2NoZW1lXCIsXG5cdFwic2hlbGwtc2Vzc2lvblwiOlwiU2hlbGwgc2Vzc2lvblwiLFxuXHRcInNoLXNlc3Npb25cIjpcIlNoZWxsIHNlc3Npb25cIixcblx0XCJzaGVsbHNlc3Npb25cIjpcIlNoZWxsIHNlc3Npb25cIixcblx0XCJzbWFsaVwiOlwiU21hbGlcIixcblx0XCJzbWFsbHRhbGtcIjpcIlNtYWxsdGFsa1wiLFxuXHRcInNtYXJ0eVwiOlwiU21hcnR5XCIsXG5cdFwic21sXCI6XCJTTUxcIixcblx0XCJzbWxualwiOlwiU01MXCIsXG5cdFwic29saWRpdHlcIjpcIlNvbGlkaXR5IChFdGhlcmV1bSlcIixcblx0XCJzb2xcIjpcIlNvbGlkaXR5IChFdGhlcmV1bSlcIixcblx0XCJzb2x1dGlvbi1maWxlXCI6XCJTb2x1dGlvbiBmaWxlXCIsXG5cdFwic2xuXCI6XCJTb2x1dGlvbiBmaWxlXCIsXG5cdFwic295XCI6XCJTb3kgKENsb3N1cmUgVGVtcGxhdGUpXCIsXG5cdFwic3BhcnFsXCI6XCJTUEFSUUxcIixcblx0XCJycVwiOlwiU1BBUlFMXCIsXG5cdFwic3BsdW5rLXNwbFwiOlwiU3BsdW5rIFNQTFwiLFxuXHRcInNxZlwiOlwiU1FGXCIsXG5cdFwic3FsXCI6XCJTUUxcIixcblx0XCJzcXVpcnJlbFwiOlwiU3F1aXJyZWxcIixcblx0XCJzdGFuXCI6XCJTdGFuXCIsXG5cdFwic3RhdGFcIjpcIlN0YXRhIEFkb1wiLFxuXHRcImllY3N0XCI6XCJTdHJ1Y3R1cmVkIFRleHQgKElFQyA2MTEzMS0zKVwiLFxuXHRcInN0eWx1c1wiOlwiU3R5bHVzXCIsXG5cdFwic3VwZXJjb2xsaWRlclwiOlwiU3VwZXJDb2xsaWRlclwiLFxuXHRcInNjbGFuZ1wiOlwiU3VwZXJDb2xsaWRlclwiLFxuXHRcInN3aWZ0XCI6XCJTd2lmdFwiLFxuXHRcInN5c3RlbWRcIjpcIlN5c3RlbWQgY29uZmlndXJhdGlvbiBmaWxlXCIsXG5cdFwidDQtdGVtcGxhdGluZ1wiOlwiVDQgdGVtcGxhdGluZ1wiLFxuXHRcInQ0LWNzXCI6XCJUNCBUZXh0IFRlbXBsYXRlcyAoQyMpXCIsXG5cdFwidDRcIjpcIlQ0IFRleHQgVGVtcGxhdGVzIChDIylcIixcblx0XCJ0NC12YlwiOlwiVDQgVGV4dCBUZW1wbGF0ZXMgKFZCKVwiLFxuXHRcInRhcFwiOlwiVEFQXCIsXG5cdFwidGNsXCI6XCJUY2xcIixcblx0XCJ0dDJcIjpcIlRlbXBsYXRlIFRvb2xraXQgMlwiLFxuXHRcInRleHRpbGVcIjpcIlRleHRpbGVcIixcblx0XCJ0b21sXCI6XCJUT01MXCIsXG5cdFwidHJlbW9yXCI6XCJUcmVtb3JcIixcblx0XCJ0cmlja2xlXCI6XCJUcmVtb3JcIixcblx0XCJ0cm95XCI6XCJUcmVtb3JcIixcblx0XCJ0dXJ0bGVcIjpcIlR1cnRsZVwiLFxuXHRcInRyaWdcIjpcIlR1cnRsZVwiLFxuXHRcInR3aWdcIjpcIlR3aWdcIixcblx0XCJ0eXBlc2NyaXB0XCI6XCJUeXBlU2NyaXB0XCIsXG5cdFwidHNcIjpcIlR5cGVTY3JpcHRcIixcblx0XCJ0eXBvc2NyaXB0XCI6XCJUeXBvU2NyaXB0XCIsXG5cdFwidHNjb25maWdcIjpcIlRTQ29uZmlnXCIsXG5cdFwidW5yZWFsc2NyaXB0XCI6XCJVbnJlYWxTY3JpcHRcIixcblx0XCJ1c2NyaXB0XCI6XCJVbnJlYWxTY3JpcHRcIixcblx0XCJ1Y1wiOlwiVW5yZWFsU2NyaXB0XCIsXG5cdFwidW9yYXpvclwiOlwiVU8gUmF6b3IgU2NyaXB0XCIsXG5cdFwidXJpXCI6XCJVUklcIixcblx0XCJ1cmxcIjpcIlVSSVwiLFxuXHRcInZcIjpcIlZcIixcblx0XCJ2YWxhXCI6XCJWYWxhXCIsXG5cdFwidmJuZXRcIjpcIlZCLk5ldFwiLFxuXHRcInZlbG9jaXR5XCI6XCJWZWxvY2l0eVwiLFxuXHRcInZlcmlsb2dcIjpcIlZlcmlsb2dcIixcblx0XCJ2aGRsXCI6XCJWSERMXCIsXG5cdFwidmltXCI6XCJ2aW1cIixcblx0XCJ2aXN1YWwtYmFzaWNcIjpcIlZpc3VhbCBCYXNpY1wiLFxuXHRcInZiXCI6XCJWaXN1YWwgQmFzaWNcIixcblx0XCJ3YXJwc2NyaXB0XCI6XCJXYXJwU2NyaXB0XCIsXG5cdFwid2FzbVwiOlwiV2ViQXNzZW1ibHlcIixcblx0XCJ3ZWItaWRsXCI6XCJXZWIgSURMXCIsXG5cdFwid2ViaWRsXCI6XCJXZWIgSURMXCIsXG5cdFwid2dzbFwiOlwiV0dTTFwiLFxuXHRcIndpa2lcIjpcIldpa2kgbWFya3VwXCIsXG5cdFwid29sZnJhbVwiOlwiV29sZnJhbSBsYW5ndWFnZVwiLFxuXHRcIm1hdGhlbWF0aWNhXCI6XCJXb2xmcmFtIGxhbmd1YWdlXCIsXG5cdFwibmJcIjpcIldvbGZyYW0gbGFuZ3VhZ2VcIixcblx0XCJ3bFwiOlwiV29sZnJhbSBsYW5ndWFnZVwiLFxuXHRcIndyZW5cIjpcIldyZW5cIixcblx0XCJ4ZW9yYVwiOlwiWGVvcmFcIixcblx0XCJ4ZW9yYWN1YmVcIjpcIlhlb3JhXCIsXG5cdFwieG1sLWRvY1wiOlwiWE1MIGRvYyAoLm5ldClcIixcblx0XCJ4b2pvXCI6XCJYb2pvIChSRUFMYmFzaWMpXCIsXG5cdFwieHF1ZXJ5XCI6XCJYUXVlcnlcIixcblx0XCJ5YW1sXCI6XCJZQU1MXCIsXG5cdFwieW1sXCI6XCJZQU1MXCIsXG5cdFwieWFuZ1wiOlwiWUFOR1wiLFxuXHRcInppZ1wiOlwiWmlnXCJcbn1cbmV4cG9ydCBjb25zdCBMQU5HVUFHRV9OQU1FUzoge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7Li4uUFJJU01fTEFOR1VBR0VTLC4uLk1BTlVBTF9MQU5HVUFHRVN9O1xuZXhwb3J0IGNvbnN0IExBTkdVQUdFX0lDT05TX0RBVEE6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0geyAvLyBJY29ucyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92c2NvZGUtaWNvbnMvdnNjb2RlLWljb25zL3dpa2kvTGlzdE9mRmlsZXMgYW5kIGh0dHBzOi8vZGV2aWNvbi5kZXYvXG5cdFwiLmdpdGlnbm9yZVwiOiBgPHBhdGggZD1cIk0yOS40NzIsMTQuNzUzLDE3LjI0NywyLjUyOGExLjgsMS44LDAsMCwwLTIuNTUsMEwxMi4xNTgsNS4wNjdsMy4yMiwzLjIyYTIuMTQxLDIuMTQxLDAsMCwxLDIuNzEyLDIuNzNsMy4xLDMuMWEyLjE0MywyLjE0MywwLDEsMS0xLjI4NSwxLjIxbC0yLjg5NS0yLjg5NXY3LjYxN2EyLjE0MSwyLjE0MSwwLDEsMS0xLjc2NC0uMDYyVjEyLjNhMi4xNDYsMi4xNDYsMCwwLDEtMS4xNjUtMi44MTRMMTAuOTExLDYuMzE0LDIuNTI4LDE0LjdhMS44LDEuOCwwLDAsMCwwLDIuNTUxTDE0Ljc1MywyOS40NzJhMS44LDEuOCwwLDAsMCwyLjU1LDBMMjkuNDcyLDE3LjNhMS44LDEuOCwwLDAsMCwwLTIuNTUxXCIgc3R5bGU9XCJmaWxsOiNkZDRjMzVcIi8+PHBhdGggZD1cIk0xMi4xNTgsNS4wNjdsMy4yMiwzLjIyYTIuMTQxLDIuMTQxLDAsMCwxLDIuNzEyLDIuNzNsMy4xLDMuMWEyLjE0MywyLjE0MywwLDEsMS0xLjI4NSwxLjIxbC0yLjg5NS0yLjg5NXY3LjYxN2EyLjE0MSwyLjE0MSwwLDEsMS0xLjc2NC0uMDYyVjEyLjNhMi4xNDYsMi4xNDYsMCwwLDEtMS4xNjUtMi44MTRMMTAuOTExLDYuMzE0XCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+YCxcblx0XCIuaGdpZ25vcmVcIjogYDxwYXRoIGQ9XCJNMjguMDQyLDIzLjE3MmM0Ljk4OS04LjMtMS4wNTQtMjEuNzUxLTEyLjEtMjAuMzg0QzUuOTU1LDQuMDIyLDUuNzk0LDE0LjUzLDE0LjU5MywxNy4wMjZjNy42MTQsMi4xNjIsMS41NzMsNi45OTIsMS43NDksMTAuMjA4czYuNjIsNC4zODIsMTEuNy00LjA2M1wiIHN0eWxlPVwiZmlsbDojMWIxYjFiXCIvPjxjaXJjbGUgY3g9XCI5Ljc4NFwiIGN5PVwiMjQuMjU3XCIgcj1cIjQuMzMyXCIgc3R5bGU9XCJmaWxsOiMxYjFiMWJcIi8+PGNpcmNsZSBjeD1cIjQuODM1XCIgY3k9XCIxNS4wOTlcIiByPVwiMi44MzVcIiBzdHlsZT1cImZpbGw6IzFiMWIxYlwiLz48cGF0aCBkPVwiTTI4LjIzMSwyMi44MzVjNC45ODktOC4zLTEuMDU0LTIxLjc1MS0xMi4xLTIwLjM4NEM2LjE0NCwzLjY4Niw1Ljk4MywxNC4xOTQsMTQuNzgxLDE2LjY5YzcuNjE0LDIuMTYyLDEuNTczLDYuOTkyLDEuNzQ5LDEwLjIwOHM2LjYyLDQuMzgyLDExLjctNC4wNjNcIiBzdHlsZT1cImZpbGw6I2JmYmZiZlwiLz48Y2lyY2xlIGN4PVwiOS45NzJcIiBjeT1cIjIzLjkyMVwiIHI9XCI0LjMzMlwiIHN0eWxlPVwiZmlsbDojYmZiZmJmXCIvPjxjaXJjbGUgY3g9XCI1LjAyM1wiIGN5PVwiMTQuNzYyXCIgcj1cIjIuODM1XCIgc3R5bGU9XCJmaWxsOiNiZmJmYmZcIi8+PHBhdGggZD1cIk0xNy44MTEsMjguMTY4YS42NjkuNjY5LDAsMCwxLC42MzUtLjk5NCw3LDcsMCwwLDAsMy43LS43NDZjMy4yNDctMS44NDEsOC4yNDQtMTAuNyw1LjczMS0xNi4yODVBMTIuNzcsMTIuNzcsMCwwLDAsMjUuMDQ5LDUuN2MtLjIzNi0uMjQ5LS4xLS4yMzYuMDU5LS4xNTJhMTAuMDgsMTAuMDgsMCwwLDEsMi44NTcsMy42NzYsMTQuNTc4LDE0LjU3OCwwLDAsMSwxLjEsMTAuMjc5Yy0uNDk0LDEuODE3LTIuMiw1LjkyOC00LjY5MSw3LjcwNnMtNS40MjQsMi44LTYuNTYzLjk1NU0xNS41NDgsMTYuNjczYy0xLjctLjUtMy44OTQtMS4yMDgtNS4xNjMtMi44NjdBOC4wODgsOC4wODgsMCwwLDEsOC44NTQsMTAuNDljLS4wNDMtLjI3LS4wOC0uNSwwLS41NThhMjEuODgyLDIxLjg4MiwwLDAsMCwxLjY4OCwyLjcyMyw2LjQ4Nyw2LjQ4NywwLDAsMCwzLjUyNiwyLjI1NiwxMi4zODMsMTIuMzgzLDAsMCwxLDMuODY3LDEuMzdjLjczOS42MjkuOCwxLjk4OS41NTIsMi4xNDJzLS43NTktMS4xLTIuOTM4LTEuNzQ5bS04LjE1NSwxMC40YzMuMzY5LDMuMTIxLDguNDM5LTEuMTY2LDYuMjA3LTQuOTU0LS4yNTEtLjQyNS0uNTc2LS43NDktLjQ2OS0uNDIzLjcxNCwyLjE3OC4wNTQsMy45LTEuMTc2LDQuNzg4YTQuMDYzLDQuMDYzLDAsMCwxLTQuMTkyLjMyOGMtLjM5LS4yLS41NTEuMDkyLS4zNy4yNjFtLTMuOTMtMTAuMTZjLjAxOC4yLjI5Mi40NTguNzIyLjU3NmEyLjk2OSwyLjk2OSwwLDAsMCwyLjU1LS40MTMsMi43NTksMi43NTksMCwwLDAsLjgxLTMuNDUyYy0uMTcyLS4zMDgtLjQtLjUzMy0uMjE4LS4wNDFBMi42OCwyLjY4LDAsMCwxLDYuMTQ4LDE2LjUzYTIuNDM5LDIuNDM5LDAsMCwxLTIuMS4xNjRjLS4zOTEtLjExOS0uNi4wMTYtLjU4LjIyM1wiLz48cGF0aCBkPVwiTTE5LjA1NiwyOC40MDdjLS4wMzMuMzg5LjQxNC40NjYsMS4wMTYuMzc2YTYuNzU1LDYuNzU1LDAsMCwwLDIuMzEzLS42NDgsOS41NCw5LjU0LDAsMCwwLDMuMzE0LTIuNjNjMi42NjItMy40NzMsMy42LTcuNTgyLDMuNDYtOC4xNzNBMTYuMTcyLDE2LjE3MiwwLDAsMSwyNywyMi42OTJjLTEuODg4LDIuOTY4LTMuMjU2LDQuNTQ4LTYuNDEzLDUuMzE0LS44NzkuMjEzLTEuNDg1LS4xMTItMS41MjkuNG0tNy0xMy41QTcuOTY3LDcuOTY3LDAsMCwwLDE0LjYsMTYuMDg5YTEyLjIsMTIuMiwwLDAsMSwyLjk2LDEuMzFjLjM3OC4yNTMuNjE4LjgxOS42NDIuMzE3cy0uMjg1LS45MzQtLjk3Ni0xLjE2NGExNS4yNzQsMTUuMjc0LDAsMCwwLTIuMDA5LS42NzRjLS40ODUtLjEtMS4yNzMtLjI4NS0xLjk0OS0uNDkzLS4zNzEtLjExNC0uNzQ4LS4zMTMtMS4yMTQtLjQ4M00xMC4wMzcsMjcuNzE4Yy40MjktLjA5LDIuOTI0LS43MzYsMy41MS0yLjc4OC4xODMtLjY0LjIxNS0uNTExLjE2NC0uMTY1YTMuOCwzLjgsMCwwLDEtMy4zNTgsMy4xMjNjLS4yODkuMDMtLjY2OC0uMS0uMzE1LS4xN001LjA0NiwxNy4yYTcuOTkxLDcuOTkxLDAsMCwwLDEuMTk1LS4zMzYsMi4zODMsMi4zODMsMCwwLDAsMS4yMzItMS43NDFjLjA2NC0uNTA1LjA4My0uMzc4LjEwOS0uMWEyLjYyNywyLjYyNywwLDAsMS0yLjE0NywyLjMyNGMtLjIuMDI4LS41Ni4wMTEtLjM4OS0uMTQzXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHBhdGggZD1cIk0yNy41NCwxNy40NDZjMi4xMjQtNi4xMjMtMi4zMjEtMTUuMzctMTEuMzE1LTE0LjI1OC04LjEyNiwxLTguMjU3LDkuNTU3LTEuMSwxMS41OSw4LjExMiwxLjIyOCwzLjIyNyw3LjM0NywyLjUzNSwxMC40MzMtLjYyMSwyLjc2Niw2LjU1NSwzLjIyMSw5Ljg3Ni03Ljc2NU03LjIxOSwyNi4yYTIuMDI4LDIuMDI4LDAsMCwxLDEuMzMyLjQ0MiwzLjUyNSwzLjUyNSwwLDAsMCwzLjc1NS0uOTgzQTQuMTU0LDQuMTU0LDAsMCwwLDEyLjg2OSwyMmMtLjgwNi0yLjMxOS00LjIyOS0yLjI3OC01Ljc1OC0uMzUzLTEuNjU0LDIuMTUtLjQsNC41MzkuMTA4LDQuNTQ4TTIuNjc2LDE1LjQ1MWExLjE2NiwxLjE2NiwwLDAsMCwuOTA4Ljg2M2MuNzMxLjEuODguNDM0LDEuNzQzLjI2M0EyLjQ2NCwyLjQ2NCwwLDAsMCw3LjEsMTQuOTE2YTEuNzcxLDEuNzcxLDAsMCwwLS44MjQtMi4xNCwyLjY4OSwyLjY4OSwwLDAsMC0zLjA0Ny4zNjMsMi4yNjMsMi4yNjMsMCwwLDAtLjU1OCwyLjMxMlwiIHN0eWxlPVwiZmlsbDojOTk5XCIvPjxwYXRoIGQ9XCJNMjEuOTgxLDIyLjIyOGMtMi4yLS4yNzItNS4zNiw0LjY5LTIuMzc4LDQuMTA5aDBhNS42NDUsNS42NDUsMCwwLDAsMy42ODMtMS45MzIsMjMuMTM2LDIzLjEzNiwwLDAsMCw0LjA1NS03LjJjLjUtMS44NjEuMjUxLTQuNzQ1LS4yNjktMi4wMzYtLjUzMywyLjc4MS0yLjg5Myw3LjMzNi01LjA5MSw3LjA2NE0xMC41MjMsMjYuMzYyQTIuNzc4LDIuNzc4LDAsMCwwLDEyLjUsMjIuOTljLS4xNjUtMS4yNzYtLjg2MSwxLjU4NC0yLjE1LDIuMDEyLTEuOTUzLjY0OC0xLjczMywxLjg2MS4xNzYsMS4zNjFtLTQuOTc4LTEwLjJjLjY2My0uMTczLDEuNTQtMS4wNzcsMS4xLTEuNzY3LS41MzctLjg1LTIuMDMzLS4xMjItMi4wODQuODI0cy4yNzcsMS4xMjcuOTc5Ljk0M1wiIHN0eWxlPVwiZmlsbDojZjNmM2YzXCIvPmAsXG5cdFwiLm5wbWlnbm9yZVwiOiBgPHBhdGggZD1cIk0yLDEwLjU1NUgzMHY5LjMzNUgxNnYxLjU1Nkg5Ljc3OFYxOS44ODlIMlptMS41NTYsNy43NzlINi42NjdWMTMuNjY2SDguMjIydjQuNjY3SDkuNzc4VjEyLjExMUgzLjU1NlptNy43NzgtNi4yMjN2Ny43NzloMy4xMTFWMTguMzM0aDMuMTExVjEyLjExMVptMy4xMTEsMS41NTZIMTZ2My4xMTJIMTQuNDQ0Wm00LjY2Ny0xLjU1NnY2LjIyM2gzLjExMVYxMy42NjZoMS41NTZ2NC42NjdoMS41NTZWMTMuNjY2aDEuNTU2djQuNjY3aDEuNTU2VjEyLjExMVpcIiBzdHlsZT1cImZpbGw6I2NiMzgzN1wiLz5gLFxuXHRcIi5wcm9wZXJ0aWVzXCI6IGA8cGF0aCBkPVwiTTIzLjI2NSwyNC4zODFsLjktLjg5NGM0LjE2NC4xMzYsNC4yMjgtLjAxLDQuNDExLS40MzhsMS4xNDQtMi43ODVMMjkuODA1LDIwbC0uMDkzLS4yMzFjLS4wNDktLjEyMi0uMi0uNDg2LTIuOC0yLjk2NVYxNS41YzMtMi44OSwyLjkzNi0zLjAzOCwyLjc2NS0zLjQ2MUwyOC41MzgsOS4yMjVjLS4xNzEtLjQyMi0uMjM2LS41ODctNC4zNy0uNDc0bC0uOS0uOTNhMjAuMTY2LDIwLjE2NiwwLDAsMC0uMTQxLTQuMTA2bC0uMTE2LS4yNjMtMi45NzQtMS4zYy0uNDM4LS4yLS41OTItLjI3Mi0zLjQsMi43ODZsLTEuMjYyLS4wMTljLTIuODkxLTMuMDg2LTMuMDI4LTMuMDMtMy40NjEtMi44NTVMOS4xNDksMy4xODJjLS40MzMuMTc1LS41ODYuMjM3LS40MTgsNC40MzdsLS44OTMuODljLTQuMTYyLS4xMzYtNC4yMjYuMDEyLTQuNDA3LjQzOEwyLjI4NSwxMS43MzMsMi4xOTUsMTJsLjA5NC4yMzJjLjA0OS4xMi4xOTQuNDgsMi44LDIuOTYybDAsMS4zYy0zLDIuODktMi45MzUsMy4wMzgtMi43NjMsMy40NjJsMS4xMzgsMi44MTdjLjE3NC40MzEuMjM2LjU4NCw0LjM2OS40NzZsLjkuOTM1YTIwLjI0MywyMC4yNDMsMCwwLDAsLjEzNyw0LjFsLjExNi4yNjUsMi45OTMsMS4zMDhjLjQzNS4xODIuNTg2LjI0NywzLjM4Ni0yLjhsMS4yNjIuMDE2YzIuODk1LDMuMDksMy4wNDMsMy4wMywzLjQ2NiwyLjg1OWwyLjc1OS0xLjExNUMyMy4yODgsMjguNjQ0LDIzLjQ0LDI4LjU4MywyMy4yNjUsMjQuMzgxWk0xMS40MDcsMTcuODU3YTQuOTU3LDQuOTU3LDAsMSwxLDYuNDg4LDIuODI0QTUuMDE0LDUuMDE0LDAsMCwxLDExLjQwNywxNy44NTdaXCIgc3R5bGU9XCJmaWxsOiM5OWI4YzRcIi8+YCxcblx0XCI2NTAyIEFzc2VtYmx5XCI6IGA8ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9XCJhXCIgeDE9XCI4MzYuNjNcIiB5MT1cIjM2LjIwNVwiIHgyPVwiODQzLjgwMlwiIHkyPVwiMTQuNDhcIiBncmFkaWVudFRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1MjUuOTIyIDMwLjI0OSkgcm90YXRlKDE4MCkgc2NhbGUoMC42MDcgMC42MDcpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmZmXCIgc3RvcC1vcGFjaXR5PVwiMFwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNmZmZcIiBzdG9wLW9wYWNpdHk9XCIwLjI3NVwiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48dGl0bGU+ZmlsZV90eXBlX2Fzc2VtYmx5PC90aXRsZT48cGF0aCBkPVwiTTE2LDJjLTEuMjQ2LDMuMDU2LTIsNS4wNTctMy4zOTEsOC4wMjJBMjEuODg0LDIxLjg4NCwwLDAsMCwxNi4yLDEzLjE1NmExNC44NTgsMTQuODU4LDAsMCwxLTQtMi4yODNDMTAuNDMsMTQuNTc5LDcuNjQ2LDE5Ljg1NSwyLDMwYzUuMTg2LTIuOTk0LDkuMDEyLTQuNjQ4LDEyLjY5MS00Ljk2NlYyNC4yaC0uODM0di0uODM3aC44MzRWMjQuMmgxLjY3NVYyMi41MjFIMTQuNjkxdi0uODM0aC0uODM0VjIwLjAxM2guODM0di0uODM0aDEuNjc1di44MzRIMTcuMnYuODM3aC0uODM3di0uODM3SDE0LjY5MXYxLjY3NWgxLjY3NXYuODM0SDE3LjJWMjQuMmgtLjgzN3YuNzgzYzMuOTguMSw4LjAwNiwxLjc3MiwxMy42MzQsNS4wMjEtLjg2My0xLjU4OS0xLjYzNi0zLjAyMS0yLjM3Mi00LjM4NWEyNS41MjYsMjUuNTI2LDAsMCwwLTQuODMzLTMuMzMzQTE0LjQzNiwxNC40MzYsMCwwLDEsMjYuNjUsMjMuOEMxOS4xNyw5Ljg3MiwxOC41NjUsOC4wMiwxNiwyWk0xMC41MTEsMTkuMTc5aDEuNjcxdi44MzRoLjgzN3Y1LjAyMWgtLjgzN1YyMi41MjFIMTAuNTExdjIuNTEySDkuNjczVjIwLjAxM2guODM3Wm0wLC44MzR2MS42NzVoMS42NzFWMjAuMDEzWm03LjUyNi0uODM0aC44Mzd2LjgzNGguODM3di44MzdoLjgzNHYtLjgzN2guODM3di0uODM0aC44Mzd2NS44NTVoLS44MzdWMjAuODVoLS44Mzd2LjgzN2gtLjgzNFYyMC44NWgtLjgzN3Y0LjE4NGgtLjgzN1pcIiBzdHlsZT1cImZpbGw6IzAwMDBiZlwiLz48cGF0aCBkPVwiTTIzLjg4MSwxOC42NDJjLTYuMDY5LTguMjM3LTcuNDc2LTE0Ljg3Ni03LjgzMi0xNi40NjFBMTc1LjIxNywxNzUuMjE3LDAsMCwwLDIzLjg4MSwxOC42NDJaXCIgc3R5bGU9XCJmaWxsOiNmZmY7ZmlsbC1vcGFjaXR5OjAuMTY1NjgwNDY4MDgyNDI4XCIvPjxwYXRoIGQ9XCJNMTYuMDUxLDIuMTIsMTUuNiwzLjIyN2MtLjE1OS4zOTEtLjMxMS43NjUtLjQ2MSwxLjEzMXMtLjMuNzI0LS40NDgsMS4wNzctLjMuNy0uNDQ4LDEuMDUzLS4zLjcwNi0uNDY1LDEuMDY2LS4zMjkuNzI5LS41MDYsMS4xMTEtLjM2Mi43NzgtLjU2MSwxLjE5M2MtLjAyOC4wNTctLjA2MS4xMjMtLjA4OS4xODFBMjEuODcyLDIxLjg3MiwwLDAsMCwxNi4yLDEzLjE1NmExNC44NzksMTQuODc5LDAsMCwxLTMuOTg5LTIuMjc2bC0uMTQuMjg3Yy0uMDY1LjEzMy0uMTQ0LjI4My0uMjEyLjQybC0uMTA2LjIxOWMtLjg3OCwxLjc5My0yLjAwNiwzLjk4NC0zLjUyNCw2LjgyMiwzLjU1MS0yLDcuMzgxLTQuODg3LDE0LjMzOC0yLjQtLjM0OS0uNjYxLS42Ny0xLjI4LS45NzEtMS44NjNzLS41ODEtMS4xMjgtLjg0MS0xLjY0NC0uNS0xLS43MjUtMS40NjMtLjQzMy0uOS0uNjI5LTEuMzEzLS4zOC0uODE4LS41NTQtMS4yLS4zMzktLjc1NC0uNS0xLjExOFMxOC4wNDcsNi45LDE3LjksNi41NDZzLS4yOTEtLjcwOS0uNDM0LTEuMDY2Yy0uMDM2LS4wOTEtLjA3My0uMTg2LS4xMDktLjI3N0MxNi45NDksNC4yNDcsMTYuNTM2LDMuMjU4LDE2LjA1MSwyLjEyWlwiIHN0eWxlPVwiZmlsbDp1cmwoI2EpXCIvPmAsXG5cdFwiQWN0aW9uU2NyaXB0XCI6IGA8cGF0aCBkPVwiTTIsMTUuMjgxYzEuOTE4LDAsMi4xMS0xLjA1NSwyLjExLTEuOTE4YTE3LjExOSwxNy4xMTksMCwwLDAtLjE5Mi0yLjIwNSwxOC43MjMsMTguNzIzLDAsMCwxLS4xOTItMi4yMDVjMC0yLjQsMS42My0zLjQ1MiwzLjgzNi0zLjQ1MmguNTc1VjYuOTM4SDcuNjU4Yy0xLjUzNCwwLTIuMTEuNzY3LTIuMTEsMi4yMDVhMTQuNDEyLDE0LjQxMiwwLDAsMCwuMTkyLDEuOTE4LDE0LjMwNiwxNC4zMDYsMCwwLDEsLjE5MiwyLjAxNGMwLDEuNzI2LS42NzEsMi40OTMtMS45MTgsMi44Nzd2LjFjMS4xNTEuMjg4LDEuOTE4LDEuMTUxLDEuOTE4LDIuODc3YTE0LjMwNiwxNC4zMDYsMCwwLDEtLjE5MiwyLjAxNCwxMywxMywwLDAsMC0uMTkyLDEuOTE4YzAsMS40MzguNTc1LDIuMywyLjExLDIuM2guNDc5VjI2LjZINy41NjJjLTIuMjA1LDAtMy44MzYtLjk1OS0zLjgzNi0zLjY0NGExOC43MjMsMTguNzIzLDAsMCwxLC4xOTItMi4yMDUsMTUuNjgsMTUuNjgsMCwwLDAsLjE5Mi0yLjExYzAtLjg2My0uMjg4LTEuOTE4LTIuMTEtMS45MThaXCIgc3R5bGU9XCJmaWxsOiNjNDE3MThcIi8+PHBhdGggZD1cIk05LjQ3OSwxOC4wNjIsOC4yMzMsMjEuOEg2LjZMMTAuNjMsOS45MTFoMS44MjJMMTYuNDc5LDIxLjhIMTQuOTQ1TDEzLjcsMTguMDYyWm0zLjkzMi0xLjE1MUwxMi4yNiwxMy40NTlhOS4zNjQsOS4zNjQsMCwwLDEtLjU3NS0yLjIwNWgwYy0uMTkyLjY3MS0uMzg0LDEuNDM4LS41NzUsMi4xMUw5Ljk1OSwxNi44MTVoMy40NTJaXCIgc3R5bGU9XCJmaWxsOiNjNDE3MThcIi8+PHBhdGggZD1cIk0xNy45MTgsMTkuOTc5YTUuOTQxLDUuOTQxLDAsMCwwLDIuNzgxLjc2N2MxLjUzNCwwLDIuNDkzLS44NjMsMi40OTMtMi4wMTRzLS42NzEtMS43MjYtMi4yMDUtMi40Yy0xLjkxOC0uNjcxLTMuMTY0LTEuNzI2LTMuMTY0LTMuMzU2LDAtMS44MjIsMS41MzQtMy4yNiwzLjgzNi0zLjI2YTUuMTM1LDUuMTM1LDAsMCwxLDIuNTg5LjU3NWwtLjM4NCwxLjI0N2E1LjUxOSw1LjUxOSwwLDAsMC0yLjMtLjQ3OWMtMS42MywwLTIuMjA1Ljk1OS0yLjIwNSwxLjgyMiwwLDEuMTUxLjc2NywxLjYzLDIuNCwyLjMsMi4wMTQuNzY3LDMuMDY4LDEuNzI2LDMuMDY4LDMuNDUyLDAsMS44MjItMS4zNDIsMy40NTItNC4xMjMsMy40NTJhNS44MDcsNS44MDcsMCwwLDEtMy4wNjgtLjc2N1pcIiBzdHlsZT1cImZpbGw6I2M0MTcxOFwiLz48cGF0aCBkPVwiTTMwLDE2LjYyM2MtMS45MTgsMC0yLjExLDEuMTUxLTIuMTEsMS45MThhMTUuNjgsMTUuNjgsMCwwLDAsLjE5MiwyLjExLDE1LjczOCwxNS43MzgsMCwwLDEsLjE5MiwyLjIwNWMwLDIuNjg1LTEuNjMsMy42NDQtMy44MzYsMy42NDRoLS41NzVWMjUuMDYyaC40NzljMS40MzgsMCwyLjExLS44NjMsMi4xMS0yLjNhMTMsMTMsMCwwLDAtLjE5Mi0xLjkxOCwxNC4zMDYsMTQuMzA2LDAsMCwxLS4xOTItMi4wMTRjMC0xLjcyNi43NjctMi41ODksMS45MTgtMi44Nzd2LS4xYy0xLjE1MS0uMjg4LTEuOTE4LTEuMTUxLTEuOTE4LTIuODc3YTE0LjMwNiwxNC4zMDYsMCwwLDEsLjE5Mi0yLjAxNCwxMywxMywwLDAsMCwuMTkyLTEuOTE4YzAtMS40MzgtLjU3NS0yLjIwNS0yLjExLTIuM2gtLjQ3OVY1LjRoLjU3NWMyLjIwNSwwLDMuODM2LDEuMDU1LDMuODM2LDMuNDUyYTE3LjExOSwxNy4xMTksMCwwLDEtLjE5MiwyLjIwNSwxNy4xMTksMTcuMTE5LDAsMCwwLS4xOTIsMi4yMDVjMCwuOTU5LjI4OCwxLjkxOCwyLjExLDEuOTE4WlwiIHN0eWxlPVwiZmlsbDojYzQxNzE4XCIvPmAsXG5cdFwiQWRhXCI6IGA8cGF0aCBkPVwiTTI0LjU1NCwyMC4wNzVjLjIwOS4yNywxLjM1Ni45NjEsMS4zNywxLjI0NmE2LjkyMSw2LjkyMSwwLDAsMC0xLjQtLjMyNGMtLjQ2OC0uMTQyLS45NTEtLjI5My0xLjQxMi0uNDhhOS4yLDkuMiwwLDAsMS0yLjM3NS0xLjNBMy4xNDYsMy4xNDYsMCwwLDEsMTkuMywxNi43NWExLjcyMiwxLjcyMiwwLDAsMSwxLjc2Ny0xLjgyMiwzLjU4NCwzLjU4NCwwLDAsMSwxLjU5My4zMjFjLjE0Ni4wNjYsMS4zMS42MDYsMS4yNTYuODA5YTUuNSw1LjUsMCwwLDAtMS40MS0uMTEyYy0uNjQ5LjI0NC0uNC44MjgtLjE2OCwxLjMxMWE3Ljg3Nyw3Ljg3NywwLDAsMCwxLjA3OCwxLjU1NEMyMy41OCwxOS4wMDUsMjQuMywyMC4wODIsMjQuNTU0LDIwLjA3NVpcIiBzdHlsZT1cImZpbGw6IzBmMjNjM1wiLz48cGF0aCBkPVwiTTI0LjE0MSwxNi4yNzZjLjEyOC0uNTkuODE5LTEuMzg0LDEuMzQ0LS43NzNhNC4yLDQuMiwwLDAsMSwuNTc4LDEuOTE4Yy4xMi42NTYuMiwxLjMyNy4yNjEsMS45ODIuMDM4LjM3OS4zNCwxLjc5NC4xMjMsMi4wNzVhMjMuMjQsMjMuMjQsMCwwLDEtMi45MjItMi44MzgsMy43NjMsMy43NjMsMCwwLDEtLjkyNS0xLjdDMjIuNSwxNS44NjcsMjMuNDc5LDE2LjIxLDI0LjE0MSwxNi4yNzZaXCIgc3R5bGU9XCJmaWxsOiMxYTE5NzhcIi8+PHBhdGggZD1cIk0yNi4zLDE3Ljc4MWMuMTQxLS43MzItLjQwNi0yLjU5Mi0xLjA2Ny0yLjk0OWEuMDYuMDYsMCwwLDAsLjA0NC0uMDA3Yy0uMTU2LS40NDQtMS4zNTksMS4xMTYtMS4yMjgsMS4xNzQtLjMxNi0uMTM4Ljc3NC0xLjk4NC45ODgtMi4xNi43LS41NzgsMS4zNzItLjA4NiwxLjg0NS41NDNhNi4wMzYsNi4wMzYsMCwwLDEsLjczMyw0LjQzNCw0LjUsNC41LDAsMCwxLS40MjEsMS4zMTJjLS4xLjIyLS40NSwxLjEtLjY4MiwxLjE3NEExNC43NTQsMTQuNzU0LDAsMCwwLDI2LjMsMTcuNzgxWlwiIHN0eWxlPVwiZmlsbDojMGYyM2MzXCIvPjxwYXRoIGQ9XCJNMy42ODcsOC40Yy4xNzktLjE4OC0uMDQxLTEuNTI3LjMyNC0xLjU0OC4yNjItLjAxNS41NTMsMS43NDEuNjI3LDEuOTY4YTkuMiw5LjIsMCwwLDAsMS4xMjcsMi4zMjksNy41MjksNy41MjksMCwwLDAsNC4wMTYsMi45NzgsNC41NSw0LjU1LDAsMCwwLDIuMzY2LjJjLjkzMS0uMjA4LDEuODItLjU3NywyLjc1Ny0uNzY1LDEuMzUtLjI3LDMuMzQyLS4zNTIsNC40MzguNjQ3LjcuNjQxLjM3Ni43Ni4wNDMsMS40MjFhMi40NDUsMi40NDUsMCwwLDAsLjE3OCwyLjU2MmMuMjM1LjM0MiwxLjAzMy44MjcuNjc1LDEuMDk0LS41NjcuNDI0LTEuMjc3LS40NTItMS42MzYtLjc3Ni0xLjQtMS4yNjQtMi43MTEtMS4zMTMtNC40OTItMS4wNzRhOC45ODcsOC45ODcsMCwwLDEtNC44ODMtLjcwOEE5LjQ2OSw5LjQ2OSwwLDAsMSwzLjY4Nyw4LjRaXCIgc3R5bGU9XCJmaWxsOiNkMmQyZDJcIi8+PHBhdGggZD1cIk0xOS45NDEsMzBhMy42MTUsMy42MTUsMCwwLDEtMi4zMjUtLjgxN2MuNDY5LS4wOTIsMS4wMjEuMDI1LDEuNTA4LS4wNDRhOS43LDkuNywwLDAsMCwxLjc1NC0uNDNBMTAuNTM3LDEwLjUzNywwLDAsMCwyMy45LDI3LjE1NWE2LjU1LDYuNTUsMCwwLDAsMi43NTctNS4yMTRjLjE0OS0uMDg4LjMxNiwxLjAzNC4zMTksMS4wOTFhNS43ODksNS43ODksMCwwLDEtLjE5LDEuNzI3LDYuODY3LDYuODY3LDAsMCwxLTEuNDIzLDIuNzc0QTcuMjg2LDcuMjg2LDAsMCwxLDE5Ljk0MSwzMFpcIiBzdHlsZT1cImZpbGw6I2QyZDJkMlwiLz48cGF0aCBkPVwiTTE4Ljk2MiwxOS4xMDlhNS43Niw1Ljc2LDAsMCwxLTIuMDUuODU5LDEzLjM4LDEzLjM4LDAsMCwxLTIuMjI0LjU0OSw4Ljg2MSw4Ljg2MSwwLDAsMS00LjQzNS0uNTEsOS45MzksOS45MzksMCwwLDEtMy44NDktMi40QzYuMDUyLDE3LjI0LDQuMywxNS4xOSw0Ljg1NiwxNC41NTdjLjI0OC0uMjgyLjg3NS44NDYsMSwuOTkyYTUsNSwwLDAsMCwxLjM1NywxLjExLDEwLjkxNywxMC45MTcsMCwwLDAsNC4wMzUsMS40NTYsNi42OTMsNi42OTMsMCwwLDAsMi4zNC0uMDk0LDEyLjc0MywxMi43NDMsMCwwLDEsMS42OTQtLjQ4NSw0LDQsMCwwLDEsMi4xMTMuNDU3QzE3LjczOSwxOC4xNjMsMTguOTE4LDE4LjczNiwxOC45NjIsMTkuMTA5WlwiIHN0eWxlPVwiZmlsbDojZDJkMmQyXCIvPjxwYXRoIGQ9XCJNMjguMzEzLDE1LjA3OGExOS4yNzcsMTkuMjc3LDAsMCwxLS40NTMsMy43NzRjLS4xNzYtLjI0Mi4wMTYtMS40NywwLTEuNzkyYTYuMDMyLDYuMDMyLDAsMCwwLS4zODQtMi4wODdBNC45MjUsNC45MjUsMCwwLDAsMjYuMSwxMy4zMTJhMTQuNzI4LDE0LjcyOCwwLDAsMS0xLjI3LTEuNTM2Yy0xLjgzNy0yLjM4Mi0zLjI0NS01LjIxMS0yLjktOC4zLjAzNC0uMzA4LjA2OS0xLjQ0OC40MTEtMS40NDUuMTUyLDAsLjI2NiwxLjU2MS4yOSwxLjcxOGExMi41MjcsMTIuNTI3LDAsMCwwLDEuMjI0LDQuMTE2Yy42NywxLjIyMiwxLjk0NywyLjAyMywyLjgyNSwzLjFBNi41NzksNi41NzksMCwwLDEsMjguMzEzLDE1LjA3OFpcIiBzdHlsZT1cImZpbGw6I2QyZDJkMlwiLz48cGF0aCBkPVwiTTE1LjcsMjYuOTM1YTEwLjg0NSwxMC44NDUsMCwwLDAsNi40MzYtLjY4Nyw2Ljk0MSw2Ljk0MSwwLDAsMCw0LjI3OC00LjQxOGMuMzE5LjItLjA0OCwxLjUyOS0uMTI4LDEuNzgxYTUuNzI2LDUuNzI2LDAsMCwxLTEuMDEsMS44MTMsOC45MzMsOC45MzMsMCwwLDEtMy4yNTcsMi41MTRDMjAuMzE2LDI4LjcxLDE2LjM1NywyOS41OSwxNS43LDI2LjkzNVpcIiBzdHlsZT1cImZpbGw6I2QyZDJkMlwiLz48cGF0aCBkPVwiTTE5LjE1MSwxOS4zNzZjLjM2NywyLjEwNy0yLjk1NywzLjEyNC00LjQ3OCwzLjIxMy0xLjg1OS4xMS00LjkyOS0uMjkyLTYuMDYtMi4wMzEtLjY3My0xLjAzNS43ODEtLjA5LDEuMTg4LjA1OGE4LjY2Myw4LjY2MywwLDAsMCwzLjA2LjUsMTEuNiwxMS42LDAsMCwwLDMuMzA1LS41LDEzLjcyNSwxMy43MjUsMCwwLDAsMS41MzMtLjU3NkMxOCwxOS45MDgsMTguODIzLDE5LjM0OSwxOS4xNTEsMTkuMzc2WlwiIHN0eWxlPVwiZmlsbDojZDJkMmQyXCIvPjxwYXRoIGQ9XCJNMjQuMTQyLDIzLjQ2Yy40LS45NDUtMS44ODMtMS41NzgtMi40NDUtMS44NThhNC44NTcsNC44NTcsMCwwLDEtMS4zMTUtLjg2N2MtLjE4MS0uMTgxLS44NzItLjkyLS44MDctMS4yMTlhNC45MTIsNC45MTIsMCwwLDEsMS4wODctLjE3NSw1LjkzLDUuOTMsMCwwLDEsLjg1NS41ODgsMTAuMzIzLDEwLjMyMywwLDAsMCwuOTY0LjVBMTUuNjE1LDE1LjYxNSwwLDAsMCwyNC42LDIxLjJjLjMwOC4wOSwxLjU0OS4yMDgsMS43MjcuNDI4QzI2LjI4NywyMS45MjQsMjQuMzU3LDIzLjY0OSwyNC4xNDIsMjMuNDZaXCIgc3R5bGU9XCJmaWxsOiNkMmQyZDJcIi8+PHBhdGggZD1cIk0yNi4xLDIyLjE3MmMuMjY1LjQzLTEuMDgsMS44MzEtMS4zNjMsMi4xMDVhOS4zNCw5LjM0LDAsMCwxLTIuNTY2LDEuNzI4LDcuNzQ4LDcuNzQ4LDAsMCwxLTIuNTYuNzUzYy0uNjc5LjA1OC0xLjk2Ni0uMTI0LTIuMTQxLS45NzlhNi45NTEsNi45NTEsMCwwLDEsMS4xNzctLjA4NmMuNDYyLS4wNTkuOTIxLS4xNDksMS4zNzYtLjI0NmExMy4wNjUsMTMuMDY1LDAsMCwwLDIuMTg0LS42NDUsMTEuNTA2LDExLjUwNiwwLDAsMCwyLjA4NC0xLjExLDEwLjg3MiwxMC44NzIsMCwwLDAsMS4wNzgtLjgyMkMyNS40NzQsMjIuNzgxLDI1Ljk4NiwyMi4xNjgsMjYuMSwyMi4xNzJaXCIgc3R5bGU9XCJmaWxsOiNkMmQyZDJcIi8+PHBhdGggZD1cIk0xOC43NTgsMTEuOTY1Yy0uMS0xLjMwOCwyLjYxMi0xLjMsMy4yNzEtMS4wOTJhNS45NzYsNS45NzYsMCwwLDEsMi45ODIsMi40NzVjLTEuMDgyLjgtMi40NDkuMDk0LTMuMy0uNjU0YTQuMzI0LDQuMzI0LDAsMCwwLTEuNDgxLTEuMDI5QzE5LjQyMSwxMS40LDE5LjQxMiwxMS43NTksMTguNzU4LDExLjk2NVpcIiBzdHlsZT1cImZpbGw6I2QyZDJkMlwiLz48cGF0aCBkPVwiTTI1Ljc4MywxMy4zNDFjLS40NDQtLjAyOS0uMzE2LjA3MS0uNjQ3LS4yMTItLjM1OC0uMzA3LS42MTQtLjc5NS0uOTQ1LTEuMTQxLS41MzQtLjU1OC0xLjI0Mi0uODk1LTEuNzIzLTEuNDg1YTcuMjY5LDcuMjY5LDAsMCwxLTEuNjI0LTQuODQ4Yy4wMTgtMS40ODkuNDA3LjE4Ny41NTEuNjc1YTEyLjI3NiwxMi4yNzYsMCwwLDAsMS4xMjYsMi43MDgsNDYuMDU1LDQ2LjA1NSwwLDAsMCwzLjQsNC4zMjFDMjUuODgyLDEzLjM2MSwyNS44MjQsMTMuMzM4LDI1Ljc4MywxMy4zNDFaXCIgc3R5bGU9XCJmaWxsOiNkMmQyZDJcIi8+PHBhdGggZD1cIk0yMC4wNjgsMTQuNzU2Yy4wMzMtLjYyNS0uOTExLS43OTItMS4yMTEtMS40Mi0uMTY0LS4zNDMtLjIxMS0uNTY5LjAyOS0uNy4wODItLjA0NS4zODMuMDEyLjUtLjAyLjI3MS0uMDc2LjMzNS0uMjczLjU4MS0uNEExLjE5MywxLjE5MywwLDAsMSwyMS42LDEzLjIzNywxLjgyMSwxLjgyMSwwLDAsMSwyMC4wNjgsMTQuNzU2WlwiIHN0eWxlPVwiZmlsbDojZDJkMmQyXCIvPjxwYXRoIGQ9XCJNMjAuNSwxNC43NDVhMS45MzEsMS45MzEsMCwwLDAsMS4zMjMtMS43Yy41MjQuMTM5LjkyOC42NTgsMS41MjEuNzcxYTIuNTg0LDIuNTg0LDAsMCwwLDEuMDI5LS4wMTdjLjIwNy0uMDQ1LjU0LS4yNzQuNzIxLS4yNTktLjAzMy4xNjMtLjQ2NC41NDYtLjU2NS43MTdhNC4yNDIsNC4yNDIsMCwwLDAtLjM4OC45Yy0uMjI5Ljc0MS0uMDYxLjczOS0uNzA5LjMxMWE0LjI4NCw0LjI4NCwwLDAsMC0xLjk1Ny0uNzJDMjEuMjA5LDE0LjcyMiwyMC41OTQsMTQuNzY3LDIwLjUsMTQuNzQ1WlwiIHN0eWxlPVwiZmlsbDojZDJkMmQyXCIvPjxwYXRoIGQ9XCJNMTkuOTA1LDIwLjczNGEyLjAwOCwyLjAwOCwwLDAsMS0xLjQsMS43MTJjLS4yMDUuMDkxLTIuMDE4LjczMy0yLjAzMi4zNDgtLjAwNy0uMiwxLjYyNC0uOTU0LDEuODA5LTEuMTFhMy4zNTUsMy4zNTUsMCwwLDAsLjg2Ny0xLjA3MWMuMDU1LS4xMTIuMjMyLS45MjUuMjcxLS45NDNDMTkuNjQ0LDE5LjU2NCwxOS45MDgsMjAuNiwxOS45MDUsMjAuNzM0WlwiIHN0eWxlPVwiZmlsbDojZDJkMmQyXCIvPjxwYXRoIGQ9XCJNMTEuMzczLDEyLjUzMmExMC42MjUsMTAuNjI1LDAsMCwxLDMuNzEtLjkxNCwxMC4yODIsMTAuMjgyLDAsMCwxLDEuODY1LjAyNGMuMzY2LjAzOSwxLjQ2OS4wNTQsMS43NC4zNDNhLjI1NS4yNTUsMCwwLDEtLjI3My4xNzNjLS4wMzcuMDc3LjI1MS4zNzEuMy40MjUtLjAzNC4wMzQtMS40NDUtLjQtMS41NzItLjQyNGExMC42MzIsMTAuNjMyLDAsMCwwLTIuMjgyLS4xMzQsMTYsMTYsMCwwLDAtMS44NDEuMTk0QTYuMjI0LDYuMjI0LDAsMCwxLDExLjM3MywxMi41MzJaXCIgc3R5bGU9XCJmaWxsOiNkMmQyZDJcIi8+PHBhdGggZD1cIk0yMi41MTIsMTAuNzMxYTEuODg4LDEuODg4LDAsMCwxLTEuNTE3LS42Yy0uMjQ3LS4zNDktLjczNy0xLjY5Mi0uMzg1LTIuMDIxLjIwOS0uMi4zODQuNjYyLjQ4NC44NDZBMTAuODIyLDEwLjgyMiwwLDAsMCwyMi41MTIsMTAuNzMxWlwiIHN0eWxlPVwiZmlsbDojZDJkMmQyXCIvPjxwYXRoIGQ9XCJNMjcuNzg4LDE5LjJhMTkuMjEyLDE5LjIxMiwwLDAsMS0uNzQ5LDMuMzEzYy0uMTczLS4wNzctLjI3NS0uNzc4LS41NjItLjk1YTQuMDcsNC4wNywwLDAsMCwuNzYtMS4xNTRDMjcuMzg5LDIwLjEwNywyNy41NCwxOS4zNjMsMjcuNzg4LDE5LjJaXCIgc3R5bGU9XCJmaWxsOiNkMmQyZDJcIi8+PHBhdGggZD1cIk0xOS45ODEsMTEuODQzYy0uMTMyLjI2OC0uOTMyLDEuMS0xLjExOC40ODFDMTguNzU2LDExLjk2OCwxOS43MzksMTEuNDgzLDE5Ljk4MSwxMS44NDNabS0uNzQ3LjQ1Yy4yMjguMDA2LjAxMi0uMjQ4LjAxMi0uMjY2QzE5LjI0NSwxMS45ODQsMTguODc4LDEyLjI5MywxOS4yMzQsMTIuMjkzWlwiIHN0eWxlPVwiZmlsbDojZDJkMmQyXCIvPmAsXG5cdFwiQUxcIjogYDxwYXRoIGQ9XCJNMTEuNjE2LDcuOTg2QTEuNTU5LDEuNTU5LDAsMCwwLDEwLjE2LDdIMTAuMWExLjU1OCwxLjU1OCwwLDAsMC0xLjQ1Ni45ODZMMiwyNUg1LjgwNmwxLjAxNS0yLjgzNGg2LjYyMUwxNC40NTcsMjVoMy44Wk03Ljk0NCwxOC45NTZsMi4xODgtNi4xMTEsMi4xODgsNi4xMTZaXCIgc3R5bGU9XCJmaWxsOiMyZWE5OGVcIi8+PHBhdGggZD1cIk0yMy44MjksMjEuNjcxVjcuMTI5SDIwLjNWMjIuNzQ3QTIuMzQ2LDIuMzQ2LDAsMCwwLDIyLjU3LDI1SDMwVjIxLjY3MlpcIiBzdHlsZT1cImZpbGw6IzJlYTk4ZVwiLz5gLFxuXHRcIkFOVExSNFwiOiBgPHBhdGggZD1cIk0xNC4xNzcsNy4yNzhhMi4wOCwyLjA4LDAsMCwxLDMuMDQxLS44QTMuNTcxLDMuNTcxLDAsMCwxLDE4LjIsOC4wMjJjMS4zNTYsMy4xMjIsMi45LDYuMTY1LDQuMTE5LDkuMzQ1LjY0NSwxLjUsMS40MjksMi45MzgsMS45OTQsNC40NjhhMS40NTUsMS40NTUsMCwwLDEtMi4yNTgsMS4zNzZjLTIuOC0xLjU3Mi01LjYyOC0zLjA5NC04LjM4NS00LjczMSwyLjAwOS4wMDgsNC4wMTgtLjAwOCw2LjAyNS4wMTNhMTkuNzA3LDE5LjcwNywwLDAsMC0xLjI4OC0yLjkxOGMtLjc4MS0xLjg1OC0xLjYtMy43LTIuMzU4LTUuNTY1YTkuNzgzLDkuNzgzLDAsMCwwLTEuMDMyLDIuMTI1Yy0xLjMsMy4xODItMi44Nyw2LjI0MS00LjEzNiw5LjQzNS0uMjgxLjU5LS40MjQsMS4zNDQtMS4wMzUsMS42OWExLjQ0NywxLjQ0NywwLDAsMS0yLjA5NC0uNzM4Yy0uMjQxLS42MS4xNTEtMS4yLjM4Mi0xLjc0My43NzktMS43MjUsMS42NDUtMy40MTMsMi4yODMtNS4yQzExLjY1LDEyLjgsMTIuOTE2LDEwLjA0MSwxNC4xNzcsNy4yNzhaXCIgc3R5bGU9XCJmaWxsOiNmZWZlZmVcIi8+PHBhdGggZD1cIk0xMy44MTcsMi4yQTEzLjkyMywxMy45MjMsMCwwLDEsMjkuNTI2LDEyLjU0OWExMy43MzMsMTMuNzMzLDAsMCwxLTIuMDgyLDExLjUxOUExNC4wNzQsMTQuMDc0LDAsMCwxLDcuNzM4LDI3LjI5M2ExMy44NTIsMTMuODUyLDAsMCwxLTUuNjE1LTkuNDgzQTE0LjE1MiwxNC4xNTIsMCwwLDEsMy40NTEsOS44NSwxMy45NjEsMTMuOTYxLDAsMCwxLDEzLjgxNywyLjJtLjM1OSw1LjA4Yy0xLjI2MSwyLjc2Mi0yLjUyNiw1LjUyNS0zLjc2Miw4LjMtLjYzOCwxLjc4Ni0xLjUsMy40NzMtMi4yODMsNS4yLS4yMzEuNTQyLS42MjMsMS4xMzMtLjM4MiwxLjc0M2ExLjQ0NywxLjQ0NywwLDAsMCwyLjA5NC43MzhjLjYxLS4zNDcuNzUzLTEuMSwxLjAzNS0xLjY5LDEuMjY2LTMuMTk0LDIuODMzLTYuMjUzLDQuMTM2LTkuNDM1YTkuNzgzLDkuNzgzLDAsMCwxLDEuMDMyLTIuMTI1Yy43NTYsMS44NjgsMS41NzcsMy43MDcsMi4zNTgsNS41NjVhMTkuNzA3LDE5LjcwNywwLDAsMSwxLjI4OCwyLjkxOGMtMi4wMDctLjAyLTQuMDE2LS4wMDUtNi4wMjUtLjAxMywyLjc1NywxLjYzNyw1LjU4OCwzLjE1OSw4LjM4NSw0LjczMWExLjQ1NSwxLjQ1NSwwLDAsMCwyLjI1OC0xLjM3NmMtLjU2NS0xLjUyOS0xLjM0OS0yLjk3MS0xLjk5NC00LjQ2OC0xLjIyLTMuMTc5LTIuNzYyLTYuMjIzLTQuMTE5LTkuMzQ1YTMuNTcxLDMuNTcxLDAsMCwwLS45ODItMS41NDRBMi4wOCwyLjA4LDAsMCwwLDE0LjE3Nyw3LjI3OFpcIiBzdHlsZT1cImZpbGw6I2U0NGEzMlwiLz5gLFxuXHRcIkFwYWNoZSBDb25maWd1cmF0aW9uXCI6IGA8ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9XCJhXCIgeDE9XCItNTYwMi42ODJcIiB5MT1cIjc2OC41NDFcIiB4Mj1cIi01NTk4LjcyN1wiIHkyPVwiNzYzLjkxN1wiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDAuNDIzLCAtMC45MDYsIC0wLjkwNiwgLTAuNDIzLCAzMDgyLjg1MywgLTQ3NDguNTUxKVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2Y2OTkyM1wiLz48c3RvcCBvZmZzZXQ9XCIwLjMxMlwiIHN0b3AtY29sb3I9XCIjZjc5YTIzXCIvPjxzdG9wIG9mZnNldD1cIjAuODM4XCIgc3RvcC1jb2xvcj1cIiNlOTc4MjZcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJiXCIgeDE9XCItNTYzMS45NTJcIiB5MT1cIjc2OS4wNTJcIiB4Mj1cIi01NjAzLjczN1wiIHkyPVwiNzY5LjA1MlwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDAuNDIzLCAtMC45MDYsIC0wLjkwNiwgLTAuNDIzLCAzMDgyLjg1MywgLTQ3NDguNTUxKVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjAuMzIzXCIgc3RvcC1jb2xvcj1cIiM5ZTIwNjRcIi8+PHN0b3Agb2Zmc2V0PVwiMC42M1wiIHN0b3AtY29sb3I9XCIjYzkyMDM3XCIvPjxzdG9wIG9mZnNldD1cIjAuNzUxXCIgc3RvcC1jb2xvcj1cIiNjZDIzMzVcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZTk3ODI2XCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiY1wiIHgxPVwiLTU2MjguNTQ2XCIgeTE9XCI3NjYuMjIxXCIgeDI9XCItNTYxMS43MzNcIiB5Mj1cIjc2Ni4yMjFcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgwLjQyMywgLTAuOTA2LCAtMC45MDYsIC0wLjQyMywgMzA4Mi44NTMsIC00NzQ4LjU1MSlcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiMyODI2NjJcIi8+PHN0b3Agb2Zmc2V0PVwiMC4wOTVcIiBzdG9wLWNvbG9yPVwiIzY2MmU4ZFwiLz48c3RvcCBvZmZzZXQ9XCIwLjc4OFwiIHN0b3AtY29sb3I9XCIjOWYyMDY0XCIvPjxzdG9wIG9mZnNldD1cIjAuOTQ5XCIgc3RvcC1jb2xvcj1cIiNjZDIwMzJcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJkXCIgeDE9XCItNTYzMC4zNjdcIiB5MT1cIjc2OS4zMTZcIiB4Mj1cIi01NjAyLjE1MlwiIHkyPVwiNzY5LjMxNlwiIHhsaW5rOmhyZWY9XCIjYlwiLz48bGluZWFyR3JhZGllbnQgaWQ9XCJlXCIgeDE9XCItNTYyOC4zMVwiIHkxPVwiNzY4LjkzM1wiIHgyPVwiLTU2MTMuNDgyXCIgeTI9XCI3NjguOTMzXCIgeGxpbms6aHJlZj1cIiNjXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cImZcIiB4MT1cIi01NjMwLjM2N1wiIHkxPVwiNzY2LjM5NFwiIHgyPVwiLTU2MDIuMTUyXCIgeTI9XCI3NjYuMzk0XCIgeGxpbms6aHJlZj1cIiNiXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cImdcIiB4MT1cIi01NjMyLjExOFwiIHkxPVwiNzY2LjUzOVwiIHgyPVwiLTU2MDMuOTAyXCIgeTI9XCI3NjYuNTM5XCIgeGxpbms6aHJlZj1cIiNiXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cImhcIiB4MT1cIi01NjMwLjM2N1wiIHkxPVwiNzY1LjUyNlwiIHgyPVwiLTU2MDIuMTUyXCIgeTI9XCI3NjUuNTI2XCIgeGxpbms6aHJlZj1cIiNiXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cImlcIiB4MT1cIi01NjMwLjM2N1wiIHkxPVwiNzY1LjYyNVwiIHgyPVwiLTU2MDIuMTUyXCIgeTI9XCI3NjUuNjI1XCIgeGxpbms6aHJlZj1cIiNiXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cImpcIiB4MT1cIi01NjE0LjUxNlwiIHkxPVwiNzY1LjY0NVwiIHgyPVwiLTU2MDguMjhcIiB5Mj1cIjc2NS42NDVcIiB4bGluazpocmVmPVwiI2JcIi8+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfYXBhY2hlPC90aXRsZT48cGF0aCBkPVwiTTE5Ljk5MywyLjEzM2ExMC4yNjcsMTAuMjY3LDAsMCwwLTIuMDQsMi4wNTZsLjgsMS41MWExOS43MzMsMTkuNzMzLDAsMCwxLDEuNzA4LTIuMTQ0Yy4wNDQtLjA0OS4wNjgtLjA3Mi4wNjgtLjA3MmwtLjA2OC4wNzJhMTcuODY1LDE3Ljg2NSwwLDAsMC0xLjYsMi4xNzQsMzAuMSwzMC4xLDAsMCwwLDMuMTExLS4zODUsMy4yODgsMy4yODgsMCwwLDAtLjMtMi41UzIwLjksMS42LDE5Ljk5MywyLjEzM1pcIiBzdHlsZT1cImZpbGw6dXJsKCNhKVwiLz48cGF0aCBkPVwiTTE4LjYzOCwxMC43NDlsLjAxOCwwLS4xMTUuMDEzLS4wMjEuMDA5WlwiIHN0eWxlPVwiZmlsbDpub25lXCIvPjxwYXRoIGQ9XCJNMTcuODIxLDEzLjQ1NWMtLjA2Ni4wMTUtLjEzMi4wMjYtLjIuMDM2QzE3LjY4OSwxMy40ODEsMTcuNzU2LDEzLjQ2OSwxNy44MjEsMTMuNDU1WlwiIHN0eWxlPVwiZmlsbDpub25lXCIvPjxwYXRoIGQ9XCJNMTIuMjcsMTkuNTI0Yy4wMDktLjAyMy4wMTctLjA0NS4wMjUtLjA2OHEuMjY0LS43LjUyMy0xLjM1Ny4yOTEtLjc0MS41NzUtMS40MzYuMy0uNzMzLjU5LTEuNDE4LjMwNS0uNzE4LjYtMS4zODQuMjQtLjU0Mi40NzQtMS4wNDkuMDc4LS4xNjkuMTU1LS4zMzUuMTUzLS4zMjkuMy0uNjQ1LjEzOC0uMjkxLjI3NC0uNTdjLjAzLS4wNjIuMDYtLjEyMy4wOS0uMTg1bC4wMTUtLjAzLS4xLjAxMS0uMDc4LS4xNTRjLS4wMDcuMDE1LS4wMTUuMDMtLjAyMy4wNDVxLS4yMTEuNDE4LS40MTcuODQ1LS4xMTkuMjQ2LS4yMzguNDk1LS4zMjguNjg5LS42NDUsMS4zODlUMTMuNzY2LDE1LjFxLS4zLjctLjU5NCwxLjR0LS41NjcsMS4zODdxLS4yODkuNzItLjU2MiwxLjQyNi0uMDYyLjE1OS0uMTIzLjMxOC0uMjE5LjU2OS0uNDI2LDEuMTI0bC4xMjMuMjQzLjExLS4wMTIuMDEyLS4wMzNRMTIuMDA4LDIwLjIxNiwxMi4yNywxOS41MjRaXCIgc3R5bGU9XCJmaWxsOm5vbmVcIi8+PHBhdGggZD1cIk0xNy41NywxMy41WlwiIHN0eWxlPVwiZmlsbDpub25lXCIvPjxwYXRoIGQ9XCJNMTcuMzA1LDE0LjgxOGwtLjMxNS4wNTVoMGwuMTYxLS4wMjVDMTcuMiwxNC44MzksMTcuMjUzLDE0LjgyOSwxNy4zMDUsMTQuODE4WlwiIHN0eWxlPVwiZmlsbDojYmUyMDJlXCIvPjxwYXRoIGQ9XCJNMTcuMzA1LDE0LjgxOGwtLjMxNS4wNTVoMGwuMTYxLS4wMjVDMTcuMiwxNC44MzksMTcuMjUzLDE0LjgyOSwxNy4zMDUsMTQuODE4WlwiIHN0eWxlPVwiZmlsbDojYmUyMDJlO29wYWNpdHk6MC4zNDk5OTk5OTQwMzk1MzU1O2lzb2xhdGlvbjppc29sYXRlXCIvPjxwYXRoIGQ9XCJNMTcuNTczLDEzLjVoMGwuMDUtLjAwN2MuMDY4LS4wMS4xMzUtLjAyMi4yLS4wMzZsLS4yNDguMDQyWlwiIHN0eWxlPVwiZmlsbDojYmUyMDJlXCIvPjxwYXRoIGQ9XCJNMTcuNTczLDEzLjVoMGwuMDUtLjAwN2MuMDY4LS4wMS4xMzUtLjAyMi4yLS4wMzZsLS4yNDguMDQyWlwiIHN0eWxlPVwiZmlsbDojYmUyMDJlO29wYWNpdHk6MC4zNDk5OTk5OTQwMzk1MzU1O2lzb2xhdGlvbjppc29sYXRlXCIvPjxwYXRoIGQ9XCJNMTYuMzk0LDkuNnEuMzY1LS42ODIuNzM5LTEuMzMyLjM4OC0uNjc0Ljc4NC0xLjMwNWwuMDQ2LS4wNzVxLjM5Mi0uNjIuNzktMS4xOTFsLS44LTEuNTEtLjE4Mi4yMjVjLS4yMzEuMjg4LS40Ny42LS43MTYuOTI1LS4yNzcuMzctLjU2Mi43NjQtLjg1MSwxLjE3OS0uMjY3LjM4My0uNTM4Ljc4NC0uODA5LDEuMi0uMjMxLjM1My0uNDYyLjcxNy0uNjkyLDEuMDlsLS4wMjYuMDQyTDE1LjcxOCwxMC45UTE2LjA1MiwxMC4yNDQsMTYuMzk0LDkuNlpcIiBzdHlsZT1cImZpbGw6dXJsKCNiKVwiLz48cGF0aCBkPVwiTTExLjY1MSwyMS4xOTJxLS4yMDcuNTY4LS40MTUsMS4xNTlsLS4wMDYuMDE3LS4wNTkuMTY3Yy0uMDkzLjI2Ni0uMTc1LjUtLjM2MSwxLjA0OWEyLjEwNywyLjEwNywwLDAsMSwuNzg2LjkyNiwxLjY4LDEuNjgsMCwwLDAtLjU0NC0xLjE1NCwzLjYyMSwzLjYyMSwwLDAsMCwzLjQ4OS0xLjQyLDIuNzkxLDIuNzkxLDAsMCwwLC4xNjUtLjMxMywxLjQ1MSwxLjQ1MSwwLDAsMS0xLjQuNTEzbDAsMCwwLDBhNC4wNTksNC4wNTksMCwwLDAsMi4wNDYtMS42NzJjLjExMS0uMTc4LjIxOC0uMzcyLjMyOC0uNTg3YTMuMywzLjMsMCwwLDEtMy4xMDksMS4wMWwtLjg0Mi4wOTJDMTEuNywyMS4wNSwxMS42NzcsMjEuMTIxLDExLjY1MSwyMS4xOTJaXCIgc3R5bGU9XCJmaWxsOnVybCgjYylcIi8+PHBhdGggZD1cIk0xMi4wNDQsMTkuMzA2cS4yNzMtLjcwNi41NjItMS40MjYuMjc2LS42OS41NjctMS4zODd0LjU5NC0xLjRxLjMwOC0uNzExLjYyOS0xLjQxOXQuNjQ1LTEuMzg5cS4xMTgtLjI0OC4yMzgtLjQ5NS4yMDctLjQyNi40MTctLjg0NWMuMDA3LS4wMTUuMDE1LS4wMy4wMjMtLjA0NUwxNC42NzcsOC44NDdsLS4wNTEuMDgzYy0uMjQyLjQtLjQ4NC44LS43MjEsMS4yMTZzLS40NzUuODQ0LS43LDEuMjc2cS0uMjkxLjU0Ny0uNTY4LDEuMWwtLjExLjIyNWMtLjIyNy40NjctLjQzMi45MTgtLjYxNywxLjM1MnEtLjMxNS43MzctLjU1NiwxLjQwNmMtLjEwNy4yOTMtLjIuNTc2LS4yOTIuODQ3LS4wNzMuMjMyLS4xNDIuNDY0LS4yMDguN3EtLjIzNC44MTgtLjQsMS42MzFMMTEuNSwyMC43NDhxLjIwOC0uNTU0LjQyNi0xLjEyNFpcIiBzdHlsZT1cImZpbGw6dXJsKCNkKVwiLz48cGF0aCBkPVwiTTEwLjQzNSwxOC43NTVhMTYuMDcsMTYuMDcsMCwwLDAtLjI3MiwxLjk3NGMwLC4wMjMsMCwuMDQ2LS4wMDUuMDY5YTQuMTUsNC4xNSwwLDAsMC0xLjItMS4wMjksNS44MjUsNS44MjUsMCwwLDEsMS4xNzIsMi42OTMsMi42NDIsMi42NDIsMCwwLDEtMS4zMjUtLjIyNiwyLjY2MiwyLjY2MiwwLDAsMCwxLjEzLjY4NiwzLjI0NywzLjI0NywwLDAsMC0xLjU3MS43ODMsMy4zNTksMy4zNTksMCwwLDEsMS44NjEtLjM0MkM5LjUxLDI1LjM4OSw4Ljc5MywyNy42MjYsOC4wNzYsMzBhLjYyNS42MjUsMCwwLDAsLjQyNS0uNDEzYy4xMjgtLjQzLjk3Ni0zLjI1MSwyLjMwNi02Ljk1OWwuMTE1LS4zMTguMDMyLS4wODlxLjIxMS0uNTgzLjQzNy0xLjE5bC4xLS4yNzcsMC0uMDA1TDEwLjQ1LDE4LjY4NEMxMC40NDUsMTguNzA3LDEwLjQzOSwxOC43MzEsMTAuNDM1LDE4Ljc1NVpcIiBzdHlsZT1cImZpbGw6dXJsKCNlKVwiLz48cGF0aCBkPVwiTTE1Ljg4LDExLjA3OGwtLjA5LjE4NXEtLjEzNS4yNzktLjI3NC41Ny0uMTUuMzE1LS4zLjY0NWMtLjA1Mi4xMTEtLjEuMjIyLS4xNTUuMzM1cS0uMjM0LjUwOC0uNDc0LDEuMDQ5LS4zLjY2Ni0uNiwxLjM4NC0uMjkxLjY4NS0uNTksMS40MTgtLjI4NC43LS41NzUsMS40MzYtLjI1OS42NjEtLjUyMywxLjM1N2MtLjAwOS4wMjMtLjAxNy4wNDUtLjAyNS4wNjhxLS4yNjIuNjkzLS41MjksMS40MjJsLS4wMTIuMDMzLjg0Mi0uMDkyLS4wNS0uMDA5YTYsNiwwLDAsMCwzLjIxLTEuODA3LDcuOTg0LDcuOTg0LDAsMCwwLDEuMS0xLjUyNCwxMy4xMzksMTMuMTM5LDAsMCwwLC43MDYtMS40NjdjLjE5NS0uNDcyLjM4Mi0uOTgyLjU2Mi0xLjUzNmEzLjA1MywzLjA1MywwLDAsMS0uNzg4LjI3NGMtLjA1MS4wMTEtLjEuMDIxLS4xNTYuMDNzLS4xMDcuMDE4LS4xNjEuMDI1aDBhMy42NjgsMy42NjgsMCwwLDAsMS45NjItMS45MTMsMy4zNDQsMy4zNDQsMCwwLDEtMS4xMy40OTVjLS4wNjYuMDE1LS4xMzIuMDI2LS4yLjAzNmwtLjA1LjAwN2gwYTMuODIxLDMuODIxLDAsMCwwLC44MzktLjQ2OWMuMDUxLS4wMzguMS0uMDc4LjE0OC0uMTIuMDczLS4wNjMuMTQyLS4xMjkuMjA4LS4yLjA0Mi0uMDQ0LjA4My0uMDkuMTIzLS4xMzhhMy4yNywzLjI3LDAsMCwwLC4yNjMtLjM2MmMuMDI1LS4wNC4wNS0uMDguMDc0LS4xMjIuMDMxLS4wNi4wNjEtLjExOS4wOS0uMTc4LjEzMS0uMjY0LjIzNi0uNS4zMTktLjcwNi4wNDItLjEuMDc4LS4yLjEwOS0uMjg4LjAxMy0uMDM1LjAyNS0uMDcuMDM2LS4xLjAzMy0uMS4wNi0uMTg3LjA4MS0uMjY1YTIuNjA1LDIuNjA1LDAsMCwwLC4wNjItLjI3NWgwYTEuMDEsMS4wMSwwLDAsMS0uMTA5LjA3NSwzLjk2NSwzLjk2NSwwLDAsMS0xLjE2Mi40bC43NzMtLjA4NS0uNzczLjA4NS0uMDE4LDAtLjExOS4wMTkuMDIxLS4wMDktMi42NDUuMjlaXCIgc3R5bGU9XCJmaWxsOnVybCgjZilcIi8+PHBhdGggZD1cIk0xOC44NTgsNS43M2MtLjIzNS4zNjEtLjQ5Mi43NzEtLjc2OCwxLjIzNmwtLjA0NC4wNzRxLS4zNTguNi0uNzU5LDEuMzI3LS4zNDYuNjI2LS43MTksMS4zNDctLjMyNi42MjktLjY3MiwxLjMzNmwyLjY0NS0uMjlBMy4yMTYsMy4yMTYsMCwwLDAsMTkuOTksOS42MmMuMDg5LS4xMjguMTc4LS4yNjIuMjY3LS40LjI3Mi0uNDI0LjUzOC0uODkxLjc3Ni0xLjM1NWExNC4wNzQsMTQuMDc0LDAsMCwwLC41ODgtMS4yOTQsNi44LDYuOCwwLDAsMCwuMjMzLS43Yy4wNDgtLjE4NC4wODYtLjM1OC4xMTUtLjUyNEEzMC4xNTIsMzAuMTUyLDAsMCwxLDE4Ljg1OCw1LjczWlwiIHN0eWxlPVwiZmlsbDp1cmwoI2cpXCIvPjxwYXRoIGQ9XCJNMTcuMTQ5LDE0Ljg0OGMtLjA1My4wMDktLjEwNy4wMTgtLjE2MS4wMjVoMEMxNy4wNDIsMTQuODY2LDE3LjEsMTQuODU3LDE3LjE0OSwxNC44NDhaXCIgc3R5bGU9XCJmaWxsOiNiZTIwMmVcIi8+PHBhdGggZD1cIk0xNy4xNDksMTQuODQ4Yy0uMDUzLjAwOS0uMTA3LjAxOC0uMTYxLjAyNWgwQzE3LjA0MiwxNC44NjYsMTcuMSwxNC44NTcsMTcuMTQ5LDE0Ljg0OFpcIiBzdHlsZT1cImZpbGw6I2JlMjAyZTtvcGFjaXR5OjAuMzQ5OTk5OTk0MDM5NTM1NTtpc29sYXRpb246aXNvbGF0ZVwiLz48cGF0aCBkPVwiTTE3LjE0OSwxNC44NDhjLS4wNTMuMDA5LS4xMDcuMDE4LS4xNjEuMDI1aDBDMTcuMDQyLDE0Ljg2NiwxNy4xLDE0Ljg1NywxNy4xNDksMTQuODQ4WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2gpXCIvPjxwYXRoIGQ9XCJNMTcuNTcsMTMuNWwuMDUtLjAwNy0uMDUuMDA3WlwiIHN0eWxlPVwiZmlsbDojYmUyMDJlXCIvPjxwYXRoIGQ9XCJNMTcuNTcsMTMuNWwuMDUtLjAwNy0uMDUuMDA3WlwiIHN0eWxlPVwiZmlsbDojYmUyMDJlO29wYWNpdHk6MC4zNDk5OTk5OTQwMzk1MzU1O2lzb2xhdGlvbjppc29sYXRlXCIvPjxwYXRoIGQ9XCJNMTcuNTcsMTMuNWwuMDUtLjAwNy0uMDUuMDA3WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2kpXCIvPjxwYXRoIGQ9XCJNMTcuNTcyLDEzLjVoMFpcIiBzdHlsZT1cImZpbGw6I2JlMjAyZVwiLz48cGF0aCBkPVwiTTE3LjU3MiwxMy41aDBaXCIgc3R5bGU9XCJmaWxsOiNiZTIwMmU7b3BhY2l0eTowLjM0OTk5OTk5NDAzOTUzNTU7aXNvbGF0aW9uOmlzb2xhdGVcIi8+PHBhdGggZD1cIk0xNy41NzIsMTMuNWgwWlwiIHN0eWxlPVwiZmlsbDp1cmwoI2opXCIvPmAsXG5cdFwiQXBleFwiOiBgPHBhdGggZD1cIk0xMy42NTIsOC4zMzhBNC45MDYsNC45MDYsMCwwLDEsMTcuMiw2LjgxNGE0Ljk1Nyw0Ljk1NywwLDAsMSw0LjMyLDIuNTYsNS45NzIsNS45NzIsMCwwLDEsMi40NDItLjUxOSw2LjA4OSw2LjA4OSwwLDEsMS0xLjE4OSwxMi4wNiw0LjQxMiw0LjQxMiwwLDAsMS01Ljc4MiwxLjgxNkE1LjAzNCw1LjAzNCwwLDAsMSw3LjYzNCwyMi41YTQuNjQ2LDQuNjQ2LDAsMCwxLS45Ni4xLDQuNzMyLDQuNzMyLDAsMCwxLTIuMzM3LTguODEyLDUuNDM4LDUuNDM4LDAsMCwxLDkuMzE1LTUuNDUzXCIgc3R5bGU9XCJmaWxsOiMwZjliZDdcIi8+PHBhdGggZD1cIk0yNS4zNzYsMzAuOTY2aC0uNTYxYTQuNjU4LDQuNjU4LDAsMCwxLTEuMjg0LS4xMzcsMS45LDEuOSwwLDAsMS0uODE4LS40ODIsMS43MjYsMS43MjYsMCwwLDEtLjQ1NS0uODQzLDYuNzcsNi43NywwLDAsMS0uMTA2LTEuNDEzLDUuODg5LDUuODg5LDAsMCwwLS4wODQtMS4zMywxLDEsMCwwLDAtLjMtLjU0NCwxLjIyMywxLjIyMywwLDAsMC0uNjYtLjE3OWwtLjIzNi0uMDE0VjI0LjE0NWwuMjM2LS4wMTRhMS40ODIsMS40ODIsMCwwLDAsLjU0OS0uMS43MDYuNzA2LDAsMCwwLC4yNzMtLjI2NCwxLjM5NCwxLjM5NCwwLDAsMCwuMTgxLS41MjksNi42ODMsNi42ODMsMCwwLDAsLjA0NC0uOTM5LDguMTMyLDguMTMyLDAsMCwxLC4xMTItMS42NDMsMS43LDEuNywwLDAsMSwuNDQ4LS44NDEsMi4xNDQsMi4xNDQsMCwwLDEsLjkwNi0uNDkyLDQuNTE0LDQuNTE0LDAsMCwxLDEuMi0uMTE2aC41NjF2MS45aC0uMjVhMi41ODksMi41ODksMCwwLDAtLjc0My4wNTYuMjg0LjI4NCwwLDAsMC0uMTQ4LjExNy44MzkuODM5LDAsMCwwLS4wNTQuMzg2cTAsLjM3Mi0uMDUzLDEuNDEzYTMuNzQsMy43NCwwLDAsMS0uMTY2LDEuMDA5LDEuOTQ1LDEuOTQ1LDAsMCwxLS42OTMsMSwyLjAxLDIuMDEsMCwwLDEsLjcsMS4wNDQsNC42MjcsNC42MjcsMCwwLDEsLjE2MywxLjA3OWMuMDI3LjY1Ny4wNDEsMS4wNzQuMDQxLDEuMjU2YS44NzEuODcxLDAsMCwwLC4wNTcuNDA4QS4zNDMuMzQzLDAsMCwwLDI0LjQsMjlhMi4zODIsMi4zODIsMCwwLDAsLjcyOC4wNmguMjVaXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHBhdGggZD1cIk0yMS4xMTgsMjUuNzg4VjI0LjM4MmExLjc1MiwxLjc1MiwwLDAsMCwuNjQ1LS4xMjkuOTM2LjkzNiwwLDAsMCwuMzc1LS4zNTQsMS42MjEsMS42MjEsMCwwLDAsLjIxNy0uNjI0QTYuODgsNi44OCwwLDAsMCwyMi40LDIyLjNhOCw4LDAsMCwxLC4xMDUtMS41ODUsMS40NTYsMS40NTYsMCwwLDEsLjM4MS0uNzIxLDEuOSwxLjksMCwwLDEsLjgtLjQzMSw0LjMzNiw0LjMzNiwwLDAsMSwxLjEyNS0uMTA1aC4zMTF2MS40YTIuODc2LDIuODc2LDAsMCwwLS44MzUuMDczLjUzLjUzLDAsMCwwLS4yNzIuMjIzLDEuMDc5LDEuMDc5LDAsMCwwLS4wODguNTEzcTAsLjM2OS0uMDUzLDEuNGEzLjUzMSwzLjUzMSwwLDAsMS0uMTUyLjk0LDEuOTE4LDEuOTE4LDAsMCwxLS4zMTMuNTk1LDIuNDcsMi40NywwLDAsMS0uNTgzLjQ4NiwyLjA0NSwyLjA0NSwwLDAsMSwuNTY1LjQ2NiwxLjg2OSwxLjg2OSwwLDAsMSwuMzM3LjY0Nyw0LjQxLDQuNDEsMCwwLDEsLjE1MiwxLjAycS4wNDEuOTczLjA0MSwxLjI0MmExLjEsMS4xLDAsMCwwLC4wOTQuNTM5LjU4NC41ODQsMCwwLDAsLjI4NC4yMzEsMi42NDksMi42NDksMCwwLDAsLjgyMy4wNzl2MS40MDZoLS4zMTFBNC40NzQsNC40NzQsMCwwLDEsMjMuNiwzMC41OWExLjY0NCwxLjY0NCwwLDAsMS0uNzEyLS40MTksMS40NzgsMS40NzgsMCwwLDEtLjM5LS43MjQsNi42MjEsNi42MjEsMCwwLDEtLjEtMS4zNTYsNi4zNzQsNi4zNzQsMCwwLDAtLjA5NC0xLjQsMS4yMzIsMS4yMzIsMCwwLDAtLjM5LS42NzFBMS40MzEsMS40MzEsMCwwLDAsMjEuMTE4LDI1Ljc4OFpcIiBzdHlsZT1cImZpbGw6IzAwNzJhMFwiLz48cGF0aCBkPVwiTTI3LjAxMSwzMC45NjZIMjYuNDVWMjkuMDU5aC4yNUEyLjMyOSwyLjMyOSwwLDAsMCwyNy40MjYsMjlhLjMyMy4zMjMsMCwwLDAsLjE2NS0uMTI3LjgxMi44MTIsMCwwLDAsLjA1OC0uMzc5cTAtLjM2LjA1LTEuMzc1YTMuNzI1LDMuNzI1LDAsMCwxLC4xNzMtMS4wNDcsMi4yMjMsMi4yMjMsMCwwLDEsLjM4Ny0uNywyLjE0NSwyLjE0NSwwLDAsMSwuMy0uMjkyLDIuMTQxLDIuMTQxLDAsMCwxLS40LS40LDIuNjEyLDIuNjEyLDAsMCwxLS40MjEtMS4wOTIsMTcuNTI1LDE3LjUyNSwwLDAsMS0uMS0xLjg0MSwxLjM1NywxLjM1NywwLDAsMC0uMDUzLS40NzljLS4wMDgtLjAxNi0uMDMxLS4wNjItLjEzNi0uMTA2YTIuNTI0LDIuNTI0LDAsMCwwLS43NTctLjA2aC0uMjVWMTkuMmguNTYxYTQuNzkzLDQuNzkzLDAsMCwxLDEuMjgzLjEzMywxLjg0MSwxLjg0MSwwLDAsMSwuODE4LjQ4NSwxLjc4MSwxLjc4MSwwLDAsMSwuNDUzLjg0Myw2LjYsNi42LDAsMCwxLC4xMDksMS40MTQsNi4zNTksNi4zNTksMCwwLDAsLjA3OSwxLjMzNi45OTIuOTkyLDAsMCwwLC4zLjUzNywxLjIyNiwxLjIyNiwwLDAsMCwuNjY0LjE4bC4yMzYuMDE0djEuODc5bC0uMjM2LjAxNGExLjQ4MiwxLjQ4MiwwLDAsMC0uNTQ5LjEuNjg2LjY4NiwwLDAsMC0uMjcuMjYyLDEuNDg0LDEuNDg0LDAsMCwwLS4xODYuNTM0LDYuNzQzLDYuNzQzLDAsMCwwLS4wNDMuOTMxLDguMzgzLDguMzgzLDAsMCwxLS4xMDgsMS42NDQsMS42OTQsMS42OTQsMCwwLDEtLjQ0Ni44NDYsMi4xNDMsMi4xNDMsMCwwLDEtLjkxMy40OTJBNC41LDQuNSwwLDAsMSwyNy4wMTEsMzAuOTY2WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwYXRoIGQ9XCJNMzAuNzA4LDI1Ljc4OGExLjc1MiwxLjc1MiwwLDAsMC0uNjQ1LjEyOS45MTguOTE4LDAsMCwwLS4zNzIuMzU0LDEuNzI1LDEuNzI1LDAsMCwwLS4yMi42MjQsNi44Miw2LjgyLDAsMCwwLS4wNDcuOTczLDguMjcsOC4yNywwLDAsMS0uMSwxLjU4OCwxLjQzOSwxLjQzOSwwLDAsMS0uMzc4LjcyNCwxLjksMS45LDAsMCwxLS44MDkuNDMxLDQuMzM2LDQuMzM2LDAsMCwxLTEuMTI1LjEwNUgyNi43VjI5LjMxYTIuNjUyLDIuNjUyLDAsMCwwLC44Mi0uMDc5QS41NzIuNTcyLDAsMCwwLDI3LjgsMjksMS4wNSwxLjA1LDAsMCwwLDI3LjksMjguNXEwLS4zNTcuMDUtMS4zNjVhMy41MywzLjUzLDAsMCwxLC4xNTgtLjk3NiwxLjk3NiwxLjk3NiwwLDAsMSwuMzQzLS42MjFBMi4wMzgsMi4wMzgsMCwwLDEsMjksMjUuMDg1YTIuNDE2LDIuNDE2LDAsMCwxLS42MzMtLjU1MSwyLjMzOSwyLjMzOSwwLDAsMS0uMzc1LS45ODQsMTcuNTY0LDE3LjU2NCwwLDAsMS0uMDk0LTEuOCwxLjU3MSwxLjU3MSwwLDAsMC0uMDc5LS41ODYuNDg3LjQ4NywwLDAsMC0uMjY0LS4yMjYsMi44LDIuOCwwLDAsMC0uODUzLS4wNzl2LTEuNGguMzExYTQuNTc2LDQuNTc2LDAsMCwxLDEuMjEzLjEyMywxLjU4NywxLjU4NywwLDAsMSwuNzA5LjQxOSwxLjUyOSwxLjUyOSwwLDAsMSwuMzkuNzI3LDYuNDM2LDYuNDM2LDAsMCwxLC4xLDEuMzU2LDYuODQyLDYuODQyLDAsMCwwLC4wODgsMS40LDEuMjIzLDEuMjIzLDAsMCwwLC4zOTMuNjcxLDEuNDQ3LDEuNDQ3LDAsMCwwLC44LjIzMVpcIiBzdHlsZT1cImZpbGw6IzAwNzJhMFwiLz5gLFxuXHRcIkFQTFwiOiBgPHBhdGggZD1cIk0zMCwyOC4yNzUsMTYsMiwyLDI4LjI3NUgxNC4xNjJWMzBoMy42NzZWMjguMjc1Wk0xNy44MzgsMjQuODI2VjEzLjE2MWw2LjIxNSwxMS42NjVabS05Ljg5MSwwLDYuMjE1LTExLjY2NVYyNC44MjZaXCIgc3R5bGU9XCJmaWxsOiNkMmQyZDJcIi8+YCxcblx0XCJBcHBsZVNjcmlwdFwiOiBgPHBhdGggZD1cIk0xNy4xODEsNC40MzdBNS45OTMsNS45OTMsMCwwLDEsMjEuNTc5LDJhNS45NzksNS45NzksMCwwLDEtMS40NDcsNC40NzYsNC43MjksNC43MjksMCwwLDEtNC4xNywxLjk2MUE1LjIsNS4yLDAsMCwxLDE3LjE4MSw0LjQzN1pcIiBzdHlsZT1cImZpbGw6I2E4YzJhYlwiLz48cGF0aCBkPVwiTTE2LjIsMTAuMDM0Yy45NDYsMCwyLjctMS4zLDQuOTg5LTEuM2E2LjI0OSw2LjI0OSwwLDAsMSw1LjQ4NCwyLjgsNi4wOCw2LjA4LDAsMCwwLTMuMDI4LDUuMyw2LjIzNSw2LjIzNSwwLDAsMCwzLjc3Miw1LjdzLTIuNjM3LDcuNDIyLTYuMiw3LjQyMmMtMS42MzYsMC0yLjkwOC0xLjEtNC42MzEtMS4xLTEuNzU3LDAtMy41LDEuMTQ0LTQuNjM1LDEuMTQ0QzguNywzMCw0LjU4NywyMi45NTksNC41ODcsMTcuM2MwLTUuNTY4LDMuNDc4LTguNDg5LDYuNzQtOC40ODlDMTMuNDQ4LDguODExLDE1LjA5MywxMC4wMzQsMTYuMiwxMC4wMzRaXCIgc3R5bGU9XCJmaWxsOiNhOGMyYWJcIi8+YCxcblx0XCJBcmR1aW5vXCI6IGA8ZGVmcz48cmFkaWFsR3JhZGllbnQgaWQ9XCJhXCIgY3g9XCI3NjcuMTc5XCIgY3k9XCI1MTY5LjU0M1wiIHI9XCIxNC45ODlcIiBncmFkaWVudFRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNzE4LjExMiAtNDk1My45MTcpIHNjYWxlKDAuOTU1IDAuOTYyKVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzM2YmFjMFwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiMyZDkwOTRcIi8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PHRpdGxlPmZpbGVfdHlwZV9hcmR1aW5vPC90aXRsZT48cGF0aCBkPVwiTTI5LjY0NSwxNS45MjVBMTMuNzcsMTMuNzcsMCwxLDEsMTUuODc2LDIuMDU2LDEzLjgxOSwxMy44MTksMCwwLDEsMjkuNjQ1LDE1LjkyNVpcIiBzdHlsZT1cInN0cm9rZTojMDI3OTdlO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6MS4xMzY3MjI4NDU0OTY5MjY3cHg7ZmlsbDp1cmwoI2EpXCIvPjxwYXRoIGQ9XCJNMTAuNTgxLDExLjY0OGMyLjQxLS4wNzYsMy4zNTkuODM0LDQuNjA1LDIuMDY5LjI4NS4yODIuNTc5LjU5LjkuOTIxbC45MjItLjk5MWE2LjIyMyw2LjIyMywwLDAsMSwzLjI1Ni0xLjkzYzEuOTM5LS4yMTEsMy4xMTktLjEyMiw0LjMxMS44MTRhNS4wMjMsNS4wMjMsMCwwLDEsMi4yNDUsMy45LDUuNjUzLDUuNjUzLDAsMCwxLTMuMjUsNS4xNTYsNS45NzUsNS45NzUsMCwwLDEtMy45MTMuMTM1LDcuNjU2LDcuNjU2LDAsMCwxLTMuNTQxLTIuOTg3Yy0xLjY3OCwyLjE0Mi0zLjE4NywzLjI1My01LjIzNSwzLjE1NS03LjQ1Mi0uMzU0LTYuODQyLTEwLjA3NS0uMy0xMC4yNDdabTEuNjU3LDcuOTk0YTkuMTkzLDkuMTkzLDAsMCwwLDIuODU2LTIuOWMtLjc0LTEuMjQzLTIuMjA5LTIuODI0LTMuNDU1LTMuMTM0YTQuMzI4LDQuMzI4LDAsMCwwLTMuMjI0Ljc3NywzLjM4NCwzLjM4NCwwLDAsMC0uNzYyLDMuNjg2LDMuNjc0LDMuNjc0LDAsMCwwLDQuNTg1LDEuNTdabS0yLjk4LTMuNDg3LDMuMjc4LjAwNXYxLjIxbC0zLjI4My4wMDVabTEzLjQ0OCwzLjZBMy44NDMsMy44NDMsMCwwLDAsMjQuOTM3LDE3YTMuNDU4LDMuNDU4LDAsMCwwLTEuODYzLTMuMTA5LDMuNjQ4LDMuNjQ4LDAsMCwwLTQuMi43MjgsNy4zNjQsNy4zNjQsMCwwLDAtMS42NDksMi4xNTFBOC45MzYsOC45MzYsMCwwLDAsMTkuMiwxOS4yNTIsNC4wMjIsNC4wMjIsMCwwLDAsMjIuNzA2LDE5Ljc1NFptLTEuOTU1LTIuMzc2LTEuMDg4LS4wMDgsMC0xLjIxNywxLjA5MSwwVjE1LjA3NWwxLjEwNy0uMDA4LS4wMDcsMS4wOTMsMS4wODUsMHYxLjE2NWwtMS4wMjEtLjAwOHYxLjEySDIwLjc1M1pcIiBzdHlsZT1cInN0cm9rZTojMDAwO3N0cm9rZS13aWR0aDowLjEyMTAzMDk2NDgwOTI3NDgycHg7b3BhY2l0eTowLjE2ODA5OTk5OTQyNzc5NTQ7aXNvbGF0aW9uOmlzb2xhdGVcIi8+PHBhdGggZD1cIk00LjkxNywxNi4zMzdjMCw1LjM0OCw3LjM1NCw3LjM0LDEwLjk4NywxLjg5NCwzLjc2NSw1LjY0NywxMC44MjQsMy4yOCwxMC44MjQtMS45UzE5LjcsOC42NTYsMTUuOSwxNC40NDFjLTMuNi01LjcxOS0xMC45ODctMy40NTMtMTAuOTg3LDEuOVptMS45MzEsMGMwLTMuODYsNS40NTUtNS4wNzgsNy45OTIsMC0yLjU4OCw0Ljg4OS03Ljk5MiwzLjg1OS03Ljk5MiwwWm0xMC4xMTksMGMyLjI4Ni01LjE3OCw3Ljg4OS0zLjc1MSw3Ljg3Mi4wMDhTMTkuMTg2LDIxLjI3NywxNi45NjcsMTYuMzM3WlwiIHN0eWxlPVwiZmlsbDojZmZmO3N0cm9rZTojMDAwO3N0cm9rZS13aWR0aDowLjI0MjA2MTkyOTYxODU0OTY0cHhcIi8+PHJlY3QgeD1cIjguODk4XCIgeT1cIjE1Ljc5NVwiIHdpZHRoPVwiMy4yMzdcIiBoZWlnaHQ9XCIxLjA2N1wiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwb2x5Z29uIHBvaW50cz1cIjIwLjY0NCAxNi44NDYgMTkuNTc2IDE2Ljg0NiAxOS41NzYgMTUuNzEyIDIwLjY0NCAxNS43MTIgMjAuNjQ0IDE0LjY0NCAyMS43NzkgMTQuNjQ0IDIxLjc3OSAxNS43MTIgMjIuODQ3IDE1LjcxMiAyMi44NDcgMTYuODQ2IDIxLjc3OSAxNi44NDYgMjEuNzc5IDE3LjkxNCAyMC42NDQgMTcuOTE0IDIwLjY0NCAxNi44NDZcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz5gLFxuXHRcIkFSTSBBc3NlbWJseVwiOiBgPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiODM2LjYzXCIgeTE9XCIzNi4yMDVcIiB4Mj1cIjg0My44MDJcIiB5Mj1cIjE0LjQ4XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTI1LjkyMiAzMC4yNDkpIHJvdGF0ZSgxODApIHNjYWxlKDAuNjA3IDAuNjA3KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2ZmZlwiIHN0b3Atb3BhY2l0eT1cIjBcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZmZmXCIgc3RvcC1vcGFjaXR5PVwiMC4yNzVcIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHRpdGxlPmZpbGVfdHlwZV9hc3NlbWJseTwvdGl0bGU+PHBhdGggZD1cIk0xNiwyYy0xLjI0NiwzLjA1Ni0yLDUuMDU3LTMuMzkxLDguMDIyQTIxLjg4NCwyMS44ODQsMCwwLDAsMTYuMiwxMy4xNTZhMTQuODU4LDE0Ljg1OCwwLDAsMS00LTIuMjgzQzEwLjQzLDE0LjU3OSw3LjY0NiwxOS44NTUsMiwzMGM1LjE4Ni0yLjk5NCw5LjAxMi00LjY0OCwxMi42OTEtNC45NjZWMjQuMmgtLjgzNHYtLjgzN2guODM0VjI0LjJoMS42NzVWMjIuNTIxSDE0LjY5MXYtLjgzNGgtLjgzNFYyMC4wMTNoLjgzNHYtLjgzNGgxLjY3NXYuODM0SDE3LjJ2LjgzN2gtLjgzN3YtLjgzN0gxNC42OTF2MS42NzVoMS42NzV2LjgzNEgxNy4yVjI0LjJoLS44Mzd2Ljc4M2MzLjk4LjEsOC4wMDYsMS43NzIsMTMuNjM0LDUuMDIxLS44NjMtMS41ODktMS42MzYtMy4wMjEtMi4zNzItNC4zODVhMjUuNTI2LDI1LjUyNiwwLDAsMC00LjgzMy0zLjMzM0ExNC40MzYsMTQuNDM2LDAsMCwxLDI2LjY1LDIzLjhDMTkuMTcsOS44NzIsMTguNTY1LDguMDIsMTYsMlpNMTAuNTExLDE5LjE3OWgxLjY3MXYuODM0aC44Mzd2NS4wMjFoLS44MzdWMjIuNTIxSDEwLjUxMXYyLjUxMkg5LjY3M1YyMC4wMTNoLjgzN1ptMCwuODM0djEuNjc1aDEuNjcxVjIwLjAxM1ptNy41MjYtLjgzNGguODM3di44MzRoLjgzN3YuODM3aC44MzR2LS44MzdoLjgzN3YtLjgzNGguODM3djUuODU1aC0uODM3VjIwLjg1aC0uODM3di44MzdoLS44MzRWMjAuODVoLS44Mzd2NC4xODRoLS44MzdaXCIgc3R5bGU9XCJmaWxsOiMwMDAwYmZcIi8+PHBhdGggZD1cIk0yMy44ODEsMTguNjQyYy02LjA2OS04LjIzNy03LjQ3Ni0xNC44NzYtNy44MzItMTYuNDYxQTE3NS4yMTcsMTc1LjIxNywwLDAsMCwyMy44ODEsMTguNjQyWlwiIHN0eWxlPVwiZmlsbDojZmZmO2ZpbGwtb3BhY2l0eTowLjE2NTY4MDQ2ODA4MjQyOFwiLz48cGF0aCBkPVwiTTE2LjA1MSwyLjEyLDE1LjYsMy4yMjdjLS4xNTkuMzkxLS4zMTEuNzY1LS40NjEsMS4xMzFzLS4zLjcyNC0uNDQ4LDEuMDc3LS4zLjctLjQ0OCwxLjA1My0uMy43MDYtLjQ2NSwxLjA2Ni0uMzI5LjcyOS0uNTA2LDEuMTExLS4zNjIuNzc4LS41NjEsMS4xOTNjLS4wMjguMDU3LS4wNjEuMTIzLS4wODkuMTgxQTIxLjg3MiwyMS44NzIsMCwwLDAsMTYuMiwxMy4xNTZhMTQuODc5LDE0Ljg3OSwwLDAsMS0zLjk4OS0yLjI3NmwtLjE0LjI4N2MtLjA2NS4xMzMtLjE0NC4yODMtLjIxMi40MmwtLjEwNi4yMTljLS44NzgsMS43OTMtMi4wMDYsMy45ODQtMy41MjQsNi44MjIsMy41NTEtMiw3LjM4MS00Ljg4NywxNC4zMzgtMi40LS4zNDktLjY2MS0uNjctMS4yOC0uOTcxLTEuODYzcy0uNTgxLTEuMTI4LS44NDEtMS42NDQtLjUtMS0uNzI1LTEuNDYzLS40MzMtLjktLjYyOS0xLjMxMy0uMzgtLjgxOC0uNTU0LTEuMi0uMzM5LS43NTQtLjUtMS4xMThTMTguMDQ3LDYuOSwxNy45LDYuNTQ2cy0uMjkxLS43MDktLjQzNC0xLjA2NmMtLjAzNi0uMDkxLS4wNzMtLjE4Ni0uMTA5LS4yNzdDMTYuOTQ5LDQuMjQ3LDE2LjUzNiwzLjI1OCwxNi4wNTEsMi4xMlpcIiBzdHlsZT1cImZpbGw6dXJsKCNhKVwiLz5gLFxuXHRcIkFzY2lpRG9jXCI6IGA8cGF0aCBkPVwiTTMwLDMwSDJWMkgzMFpcIiBzdHlsZT1cImZpbGw6I2U0MDA0NlwiLz48cGF0aCBkPVwiTTIzLjczMSwyNC44M2EuNTg5LjU4OSwwLDAsMS0uNzYzLS4zMzdMMTYuNzI0LDkuMjY5LDEzLjkzLDE1Ljk5aDEuODMzYS41OS41OSwwLDAsMS0uMDI0LDEuMThIOC45YS41OS41OSwwLDAsMSwuMDI0LTEuMThoMy43MjdsMC0uMDEzTDE2LjE4NCw3LjVhLjU5MS41OTEsMCwwLDEsLjUzMy0uMzYzaDBhLjU5Mi41OTIsMCwwLDEsLjU1Ny4zNjZsNi43ODUsMTYuNTQ2LjAwOS4wMjFBLjU5LjU5LDAsMCwxLDIzLjczMSwyNC44M1pcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cGF0aCBkPVwiTTE0LjUxNiwxOC43OTFINy42NzlhLjU5LjU5LDAsMCwwLS4wMjQsMS4xOEgxMUw5LjMwOSwyNC4wNDNhLjU5LjU5LDAsMCwwLDEuMDg1LjQ2NGwwLS4wMTEsMS44NzUtNC41MDkuMDA1LS4wMTZoMi4yMTVhLjU5LjU5LDAsMCwwLC4wMjMtMS4xOFpcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz5gLFxuXHRcIkFTUC5ORVQgKEMjKVwiOiBgPHRpdGxlPmZpbGVfdHlwZV9hc3B4PC90aXRsZT48cG9seWdvbiBwb2ludHM9XCIyMi43NSAyIDYuMzUgMiA2LjM1IDMwIDI5LjY1IDMwIDI5LjY1IDkgMjIuNzUgMlwiIHN0eWxlPVwiZmlsbDojYzVjNWM1XCIvPjxwb2x5Z29uIHBvaW50cz1cIjI3LjM1IDI3LjcgOC43NSAyNy43IDguNzUgNC4zIDIwLjQ1IDQuMyAyMC40NSAxMS4zIDI3LjQ1IDExLjMgMjcuNDUgMjcuNyAyNy4zNSAyNy43XCIgc3R5bGU9XCJmaWxsOiNmNWY1ZjVcIi8+PHBhdGggZD1cIk0xMi4xLDMwLjk5NEExMS4wOTQsMTEuMDk0LDAsMSwxLDIzLjE5NCwxOS45LDExLjEwNiwxMS4xMDYsMCwwLDEsMTIuMSwzMC45OTRabTAtMjAuM0E5LjIsOS4yLDAsMSwwLDIxLjMsMTkuOSw5LjIxNiw5LjIxNiwwLDAsMCwxMi4xLDEwLjdaXCIgc3R5bGU9XCJmaWxsOiMzM2E5ZGNcIi8+PHJlY3QgeD1cIjIuMDk5XCIgeT1cIjE5LjQ1NVwiIHdpZHRoPVwiMjAuMDAzXCIgaGVpZ2h0PVwiMC44OVwiIHN0eWxlPVwiZmlsbDojMzNhOWRjO3N0cm9rZTojMzNhOWRjO3N0cm9rZS1taXRlcmxpbWl0OjEwXCIvPjxwYXRoIGQ9XCJNMTIuMzI1LDE1Ljc2M2EzMS45MywzMS45MywwLDAsMS04LjQ4NC0xLjExbC4yNDItLjgwN2EzMS4zNzQsMzEuMzc0LDAsMCwwLDE1Ljk5MiwwbC4yMzkuODA3QTI4LjA3NiwyOC4wNzYsMCwwLDEsMTIuMzI1LDE1Ljc2M1pcIiBzdHlsZT1cImZpbGw6IzMzYTlkYztzdHJva2U6IzMzYTlkYztzdHJva2UtbWl0ZXJsaW1pdDoxMFwiLz48cGF0aCBkPVwiTTQuMSwyNS43MjRsLS4yMzktLjgwN2EzMS42NTIsMzEuNjUyLDAsMCwxLDE2LjQ3MiwwbC0uMjQyLjgwN0EzMS4zOCwzMS4zOCwwLDAsMCw0LjEsMjUuNzI0WlwiIHN0eWxlPVwiZmlsbDojMzNhOWRjO3N0cm9rZTojMzNhOWRjO3N0cm9rZS1taXRlcmxpbWl0OjEwXCIvPjxwYXRoIGQ9XCJNOC41MzYsMjkuMDU1QTI1LjQzOCwyNS40MzgsMCwwLDEsOCwxMC42MDhsLjc3Ni4zMzFhMjQuNTU4LDI0LjU1OCwwLDAsMCwuNTMzLDE3Ljc4M1pcIiBzdHlsZT1cImZpbGw6IzMzYTlkYztzdHJva2U6IzMzYTlkYztzdHJva2UtbWl0ZXJsaW1pdDoxMFwiLz48cGF0aCBkPVwiTTE1LjYsMjkuMDU1bC0uNzc2LS4zMzNhMjQuNTU5LDI0LjU1OSwwLDAsMCwuNTMxLTE3Ljc4M2wuNzc2LS4zMzFBMjUuNDQzLDI1LjQ0MywwLDAsMSwxNS42LDI5LjA1NVpcIiBzdHlsZT1cImZpbGw6IzMzYTlkYztzdHJva2U6IzMzYTlkYztzdHJva2UtbWl0ZXJsaW1pdDoxMFwiLz48cmVjdCB4PVwiMTEuNjU1XCIgeT1cIjkuODk4XCIgd2lkdGg9XCIwLjg4OVwiIGhlaWdodD1cIjIwLjM3MVwiIHN0eWxlPVwiZmlsbDojMzNhOWRjO3N0cm9rZTojMzNhOWRjO3N0cm9rZS1taXRlcmxpbWl0OjEwXCIvPmAsXG5cdFwiQXV0b0hvdGtleVwiOiBgPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiNTQuNjA0XCIgeTE9XCIxNjguMzg4XCIgeDI9XCI1NC42MDRcIiB5Mj1cIjE5NC44ODVcIiBncmFkaWVudFRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMzguNjA0IC0xNjUuNjM2KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2Q4ZDhkOFwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNhM2EzYTNcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJiXCIgeDE9XCI2OC43NTZcIiB5MT1cIjIwOS4xNTJcIiB4Mj1cIjkxLjYzOFwiIHkyPVwiMjA5LjE1MlwiIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKC01MC42MDEgLTE1OS40NDkpIHNjYWxlKDAuODMyIDAuODM3KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2Q3ZDdkN1wiLz48c3RvcCBvZmZzZXQ9XCIwLjVcIiBzdG9wLWNvbG9yPVwiI2U3ZTdlN1wiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNkN2Q3ZDdcIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHRpdGxlPmZpbGVfdHlwZV9hdXRvaG90a2V5PC90aXRsZT48cmVjdCB4PVwiMlwiIHk9XCIyLjgyNFwiIHdpZHRoPVwiMjhcIiBoZWlnaHQ9XCIyNi4zNTNcIiByeD1cIjMuMDg4XCIgcnk9XCIzLjA4OFwiIHN0eWxlPVwiZmlsbDp1cmwoI2EpXCIvPjxwYXRoIGQ9XCJNMjYuODU2LDI5LjE4MUg1LjE0NEEzLjE0OCwzLjE0OCwwLDAsMSwyLDI2LjAzN1Y1Ljk2M0EzLjE0OCwzLjE0OCwwLDAsMSw1LjE0NCwyLjgxOUgyNi44NTZBMy4xNDgsMy4xNDgsMCwwLDEsMzAsNS45NjNWMjYuMDM3QTMuMTQ4LDMuMTQ4LDAsMCwxLDI2Ljg1NiwyOS4xODFaTTUuMTQ0LDIuOTYzYTMsMywwLDAsMC0zLDNoMFYyNi4wMzdhMywzLDAsMCwwLDMsM0gyNi44NTZhMywzLDAsMCwwLDMtM1Y1Ljk2M2EzLDMsMCwwLDAtMy0zWlwiIHN0eWxlPVwiZmlsbDojOGQ4ZDhkXCIvPjxyZWN0IHg9XCI0LjMxM1wiIHk9XCI0LjY0MVwiIHdpZHRoPVwiMjMuMTY5XCIgaGVpZ2h0PVwiMjEuOTRcIiByeD1cIjIuNTcxXCIgcnk9XCIyLjU3MVwiIHN0eWxlPVwiZmlsbDp1cmwoI2IpXCIvPjxwYXRoIGQ9XCJNMjQuOTExLDI2LjY0MUg2Ljg4NEEyLjYzNCwyLjYzNCwwLDAsMSw0LjI1MywyNC4wMVY3LjIxMkEyLjYzNCwyLjYzNCwwLDAsMSw2Ljg4NCw0LjU4MUgyNC45MTFhMi42MzQsMi42MzQsMCwwLDEsMi42MzEsMi42MzF2MTYuOEEyLjYzNCwyLjYzNCwwLDAsMSwyNC45MTEsMjYuNjQxWk02Ljg4NCw0LjdBMi41MTQsMi41MTQsMCwwLDAsNC4zNzMsNy4yMTJ2MTYuOGEyLjUxNCwyLjUxNCwwLDAsMCwyLjUxMSwyLjUxMUgyNC45MTFhMi41MTQsMi41MTQsMCwwLDAsMi41MTEtMi41MTFWNy4yMTJBMi41MTQsMi41MTQsMCwwLDAsMjQuOTExLDQuN1pcIiBzdHlsZT1cImZpbGw6I2Y4ZjhmOFwiLz48cGF0aCBkPVwiTTYuMTQ1LDIzLjlsMi4zNDMtNi4xaC44N2wyLjUsNi4xaC0uOTJsLS43MTItMS44NDhINy42NzNMNywyMy45Wk03LjksMjEuNEg5Ljk3NGwtLjYzNy0xLjdxLS4yOTEtLjc3LS40MzMtMS4yNjVBNy43NzYsNy43NzYsMCwwLDEsOC41NzYsMTkuNlpcIi8+PHBhdGggZD1cIk0xMy42MDcsMjMuOVYxNy44aC44MDd2Mi41aDMuMTcxVjE3LjhoLjgwN3Y2LjFoLS44MDdWMjEuMDIxaC0zLjE3VjIzLjlaXCIvPjxwYXRoIGQ9XCJNMjAuNDc4LDIzLjlWMTcuOGguODA3djMuMDI1bDMuMDMtMy4wMjVoMS4wOTRMMjIuODUsMjAuMjY3LDI1LjUyMiwyMy45SDI0LjQ1NmwtMi4xNzItMy4wODgtMSwuOTc0VjIzLjlaXCIvPmAsXG5cdFwiQXV0b0l0XCI6IGA8Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjEyLjU1MVwiIHN0eWxlPVwiZmlsbDojNWQ4M2FjXCIvPjxwYXRoIGQ9XCJNMiwxNkExNCwxNCwwLDEsMSwxNiwzMCwxNCwxNCwwLDAsMSwyLDE2Wk0xNiw0Ljc4OUExMS4yMTEsMTEuMjExLDAsMSwwLDI3LjIxMSwxNiwxMS4yMTEsMTEuMjExLDAsMCwwLDE2LDQuNzg5WlwiIHN0eWxlPVwiZmlsbDojZjBmMGYwXCIvPjxwYXRoIGQ9XCJNMjQuNTc2LDIwLjE1NmwtNi40LTkuMjY0YTMuMTMxLDMuMTMxLDAsMCwwLS44MTktLjgxOSwyLjM2LDIuMzYsMCwwLDAtMi40NDIuMDIzLDMuNTQzLDMuNTQzLDAsMCwwLS44MTIuOEw3LjUzMywyMC4xNTZoMy43NTJsNC44MDgtNi44LDEuODM4LDIuNzFxLjI2LjM2OC41NDQuNzg5dC41LjdxLS4zNjgtLjAzMS0uODY1LS4wMzFoLTMuNTNsLTEuOTE0LDIuNjM0WlwiIHN0eWxlPVwiZmlsbDojZjBmMGYwXCIvPmAsXG5cdFwiQXZybyBJRExcIjogYDxwYXRoIGQ9XCJNMiwxMS42NDloLjAyNWE0Ljc4NSw0Ljc4NSwwLDAsMCwyLjkxMSwxLjMzNmMyLjMwOC4yMjEsNC41OS0uNDg1LDYuOS0uMzI2YTcuMDMsNy4wMywwLDAsMSwyLjY4LjY2NGMuNS0uMzE5Ljk4OS0uNjYyLDEuNDg2LS45ODkuNS4zMjcuOTg0LjY3NCwxLjQ4OC45ODlhNi44MzQsNi44MzQsMCwwLDEsMi40ODctLjY1YzEuOTk1LS4xNjcsMy45NjcuMzA4LDUuOTU3LjM1OWE1LjIsNS4yLDAsMCwwLDQuMDI2LTEuMzgzSDMwdi4yMzZjLS4xNzguNzQ3LS44ODIsMS4xNzYtMS4yODQsMS43OWE0Ljk0OCw0Ljk0OCwwLDAsMS0uNzMxLjc5MSwzLjgsMy44LDAsMCwxLS41NjUuNzQ4LDIuNTUxLDIuNTUxLDAsMCwwLS41OTQuNTQxLDIuMTgxLDIuMTgxLDAsMCwxLS45Ni43NDksMS4xNDksMS4xNDksMCwwLDEtLjU2NS41Niw2LjY5LDYuNjksMCwwLDEtMS45NC4xODRjLjcyMy41NDgsMS41LDEuMDIsMi4yNDYsMS41MzUuNzgyLjUxMywxLjU0LDEuMDYxLDIuMzI2LDEuNTY4SDQuMDg5YzEuNS0xLjA1OCwzLjA1Ny0yLjAzNSw0LjU1LTMuMUE2LjgsNi44LDAsMCwxLDYuNywxNy4wNjVhMS4xNTUsMS4xNTUsMCwwLDEtLjU2OS0uNTYyLDIuMjgsMi4yOCwwLDAsMS0xLjA0My0uODZjLS4yNjgtLjMtLjY3LS40NjYtLjg1My0uODQzLS4yLS40MzYtLjY1OC0uNjY0LS45MDktMS4wNjctLjQtLjY0Mi0xLjEzNy0xLjA3Ni0xLjMyNy0xLjg0NnYtLjIzOW0yLjkzOSw4LjUyOHExMS4wNTkuMDA5LDIyLjEyLDBjLTMuNjY4LTIuNTEtNy4zNzYtNC45NjEtMTEuMDU5LTcuNDQ4LTMuNjg0LDIuNDg3LTcuMzkyLDQuOTQxLTExLjA2MSw3LjQ0OU00LjE2NywxMy4yYTcuODQyLDcuODQyLDAsMCwwLDIuODQuNzMxYzEuMTYzLjEyMywyLjM0MS4wNDYsMy41LjIzNmEyLjcsMi43LDAsMCwxLDEuNjA3Ljc4MWMuNjU5LS40NTIsMS4zMzItLjg4NSwxLjk4Ny0xLjM0MmwuMDEyLS4wNjRhNS4yOTQsNS4yOTQsMCwwLDAtMS44NzctLjVjLTIuNjkzLS4zMTYtNS4zODcuNzEyLTguMDY3LjE2bTEzLjY1Mi4zNTZjLjY4OC40NjYsMS4zODIuOTI1LDIuMDcsMS4zOTJhMi40ODgsMi40ODgsMCwwLDEsMS4zLS43MTksMTkuODU5LDE5Ljg1OSwwLDAsMSwzLjEzNy0uMjQ4LDkuMTA1LDkuMTA1LDAsMCwwLDMuNS0uNzY4Yy0yLjU4Mi41LTUuMTY4LS40MDktNy43NjEtLjJhNi4yNTYsNi4yNTYsMCwwLDAtMi4yNDUuNTQ1TTMuMzM5LDEzLjE2NmE3LjI2NCw3LjI2NCwwLDAsMCwyLjcyMywxLjNjLS4yMTktLjE1My0uMzc2LS40MTYtLjY1Ny0uNDU3YTcuOTU1LDcuOTU1LDAsMCwxLTIuMDY2LS44NDRtMjMuMzMzLjgyNWMtLjMxNy4wMjMtLjUuMy0uNzMzLjQ3M2E3LjIzMiw3LjIzMiwwLDAsMCwyLjcyNC0xLjMsOC4xMDYsOC4xMDYsMCwwLDEtMS45OTEuODI0bS0yMi41LjEyNmE1LjEyMSw1LjEyMSwwLDAsMCwyLjU4OSwxLjFjLS4xMTUtLjEyOC0uMjA5LS4zMTItLjQtLjMzNGExMC40NTksMTAuNDU5LDAsMCwxLTIuMTktLjc3MW0yMS40NjcuNzY4Yy0uMTg5LjAyMi0uMjg0LjItLjM5NC4zMzZhNS4xODcsNS4xODcsMCwwLDAsMi42LTEuMTA5LDEwLjQ3NywxMC40NzcsMCwwLDEtMi4yLjc3M002LjMsMTQuMjA2YTMuMjQzLDMuMjQzLDAsMCwwLDIuNDQ1LjM1MmMtLjEtLjA4LS4xODEtLjIxNS0uMzI1LS4yMDZxLTEuMDYzLS4wNC0yLjEyLS4xNDZtMTcuMzUxLjEzOWMtLjE3MS0uMDE5LS4yOTEuMS0uNDA2LjIxMWEzLjEwOCwzLjEwOCwwLDAsMCwyLjQyLS4zNTJxLTEsLjExMi0yLjAxNC4xNDFtLTE2Ljc0MS41MzhhMy42NjksMy42NjksMCwwLDAsMi40ODIuMzE5LDEuMTA3LDEuMTA3LDAsMCwwLS4yODEtLjM3Niw1LjE1OCw1LjE1OCwwLDAsMS0yLjIuMDU3bTE1LjcuMzE4YTMuNjc4LDMuNjc4LDAsMCwwLDIuNDg3LS4zMTksNS4xMjcsNS4xMjcsMCwwLDEtMi4yLS4wNTcsMS4xLDEuMSwwLDAsMC0uMjgzLjM3Nk00LjgzOCwxNC45NzdhNC4xMSw0LjExLDAsMCwwLDIuMTMzLjg0MWMtLjA1Ny0uMDg0LS4xMTQtLjE2OC0uMTcxLS4yNTRhNi45NDgsNi45NDgsMCwwLDEtMS45NjItLjU4N20yMC4zNjEuNTg5LS4xNjkuMjUzYTQuMTQxLDQuMTQxLDAsMCwwLDIuMTM2LS44NDMsNy4wMTUsNy4wMTUsMCwwLDEtMS45NjcuNTltLTE4LjEtLjEzYS44LjgsMCwwLDAsLjUzNC4zMSw3LjU3OSw3LjU3OSwwLDAsMCwyLjAzNy0uMDczYy0uMDA5LS4wMy0uMDI3LS4wOS0uMDM2LS4xMi0uNDU3LS4wNTEtLjkyMy4wNzQtMS4zODUuMDQ3QTcuMDU0LDcuMDU0LDAsMCwxLDcuMSwxNS40MzdtMTYuMTkxLjE1MWE2LjI4LDYuMjgsMCwwLDAtLjkxMy0uMDQxbC0uMDQyLjEyNmE3LjQxNiw3LjQxNiwwLDAsMCwyLjA0NS4wNzIuNy43LDAsMCwwLC41MjItLjMzMSw0LjM0OSw0LjM0OSwwLDAsMS0xLjYxMy4xNzRtLTE3LjUyLjMyN2EzLjEyLDMuMTIsMCwwLDAsMS43NTQuNDgxYy0uMDY1LS4yNC0uMzM0LS4yLS41MjMtLjIzNi0uNDE5LS4wNDEtLjgxNi0uMTg2LTEuMjMxLS4yNDZNMjUsMTYuMTYzYy0uMTg4LjA0MS0uNDUyLS4wMDYtLjUyMS4yMzJhMi44NzQsMi44NzQsMCwwLDAsMS43MzItLjQ4MmMtLjQuMDc5LS44LjIwNy0xLjIxMS4yNTFNNy43MzUsMTYuMTE5YTEsMSwwLDAsMCwuNzg5LjI3NSw5LjMzMSw5LjMzMSwwLDAsMCwxLjMyNS0uMTU4Yy0uMDIxLS4wOTMtLjAwOS0uMjc4LS4xNjMtLjIyOGE5Ljk4Myw5Ljk4MywwLDAsMS0xLjk1MS4xMTFtMTQuNDE1LjExOGE4LjE1Nyw4LjE1NywwLDAsMCwxLjQxMi4xNTQuOS45LDAsMCwwLC43LS4yNzQsOS4zODcsOS4zODcsMCwwLDEtMS45MzQtLjExYy0uMTYtLjA2LS4xNTUuMTMyLS4xNzYuMjNtLTE1LjQzOC40NGExLjk2MiwxLjk2MiwwLDAsMCwxLjMuMTgxbC0uMDkxLS4xMjZjLS40LjAwNi0uODA3LS4wMjItMS4yMDktLjA1NW0xLjYxNS4wNDNhMS4wMywxLjAzLDAsMCwwLC43MTYuMjk0Yy4xNzktLjEyNS4zNTgtLjI1Mi41MzEtLjM4NmE1Ljc0Nyw1Ljc0NywwLDAsMS0xLjI0Ny4wOTJtMTQuMS0uMDkzYy4yMzcuMTQ0LjQ2Ny40NzcuNzgyLjM0NS4xNjYtLjA1LjM2OS0uMDg5LjQ2MS0uMjU3YTUuMjcxLDUuMjcxLDAsMCwxLTEuMjQzLS4wODhtMS43MTMuMjYzYTIuMDA3LDIuMDA3LDAsMCwwLDEuMTQ1LS4yMTMsMTAuMjY5LDEwLjI2OSwwLDAsMS0xLjE0NC4wNDlDMjMuOTkzLDE2LjY2NywyMy45ODQsMTYuOTYxLDI0LjEzOCwxNi44OVpcIiBzdHlsZT1cImZpbGw6IzAwNDBmZlwiLz48cGF0aCBkPVwiTTcuNDM1LDE4Ljg4NlExMS43MTksMTYuMDEzLDE2LDEzLjEzN2w5LjMsNi4yNDRjLjIyMS4xNDcuNDM5LjMuNjQ4LjQ2NHEtOS45NDctLjAxLTE5Ljg5NCwwYy40NDMtLjM0NC45Mi0uNjQsMS4zODMtLjk1OG04LjI1NS01LjA2NmMtLjQ1NywxLjg1OS0uOTA3LDMuNzE5LTEuMzc1LDUuNTc2LjUyLjAxNSwxLjA0MS4wMTIsMS41NjIsMHEtLjAxMy0yLjg0MSwwLTUuNjhsLS4xODQuMW0tMi41LDEuNjg0Yy4yNTUuODU5LjQ4LDEuNzI4Ljc2MywyLjU3OS4yODktMS4yMzguNi0yLjQ3MS45LTMuNzA3LS41NS4zODYtMS4xMTQuNzUtMS42NjgsMS4xMjltMy4zNTctLjg3M2MtLjAwNi42ODIsMCwxLjM2NCwwLDIuMDQ2YTIuMSwyLjEsMCwwLDAsMS4wMTQtLjI1NGMuMTkzLS4xNDUuMS0uNDA5LjAxMS0uNTg2YTQuMjc2LDQuMjc2LDAsMCwwLTEuMDI0LTEuMjA3TTE4LjMyNywxNi40Yy0uMS41NDQtLjY2Ni43OTItMS4xNTEuOS40NzQuNy45NiwxLjM4OSwxLjQxNiwyLjEuNDY5LjAyNC45NC4wMTEsMS40MTEuMDA5YTEuNjMxLDEuNjMxLDAsMCwxLC4xNi0yLjk3NmMtLjgzNC0uNi0xLjctMS4xNC0yLjU0NC0xLjcyNy4zNDkuNS44MzEsMS4wMzcuNzA4LDEuN20tNi44MjIuMjQyYy4yNjcuOTIxLjUyOSwxLjg0NS43OTQsMi43NjcuNDQsMCwuODguMDA4LDEuMzIxLS4wMDctLjMzOS0xLjE2MS0uNjg1LTIuMzE5LTEuMDA5LTMuNDg0LS4zODUuMjE1LS43MzcuNDgyLTEuMS43MjRtOC44LjQ1MmEuOTQ2Ljk0NiwwLDAsMCwuMDU3LDEuN2MuNTMzLjA5Ljg1NS0uNTMzLjc3OS0uOTktLjAyNi0uNC0uNC0uODYxLS44MzYtLjcxNE03LjQsMTkuNHExLjMyNC4wMTgsMi42NSwwYy4yNTYtLjcuNDEzLTEuNDY4LjYyOS0yLjItMS4xLjcxNS0yLjE4NywxLjQ2MS0zLjI3OSwyLjE5NG0xNC4zNzctMS45YTEuNjE2LDEuNjE2LDAsMCwxLS44NzYsMS45YzEuMjMzLjAxOCwyLjQ2NS4wMTUsMy43LDAtLjkzNC0uNjQ0LTEuODgzLTEuMjY2LTIuODIyLTEuOW0tNS4yMjMuMTE1Yy0uMDEuNiwwLDEuMiwwLDEuOC40MTUsMCwuODMxLDAsMS4yNDgsMC0uNDE5LS42LS44LTEuMjE5LTEuMjQzLTEuNzk0bS01LjU0Ni45NDFoLjM0NmMtLjA1NS0uMTg3LS4xMDgtLjM3Ni0uMTY2LS41NjJhMy43NTEsMy43NTEsMCwwLDAtLjE4MS41NjNtLS4xOC42OTNjLS4wMTUuMDQtLjA0NS4xMTktLjA2MS4xNTkuMjc1LS4wMjYuNTkuMDcxLjg0Mi0uMDVDMTEuNDUzLDE5LjExMiwxMS4wNzQsMTkuMjc1LDEwLjgyNiwxOS4yNDRaXCIgc3R5bGU9XCJmaWxsOiMwMDQwZmZcIi8+YCxcblx0XCJBV0tcIjogYDxwYXRoIGQ9XCJNMjYuOTI1LDI3LjczN0MyMy40MzEsMjYuMSwyNC42MDYsMTQuNTg4LDEzLjgxLDguMzE5LDE0LjA4OSw1Ljc5MiwxNC43NTgtLjUsNy45NjEsMyw2Ljg0NSwzLjEyOCw0LjkwNywyLjMzMSw0LDQuODMxdi4xMTRDMTYuOTE4LDMuOS4wODgsMTAuNTMsMTYuNzUsMjUuODQ0Yy0uMzczLjE3Ni0uNjc0LS4zMjUtMS45Ny4xbC0uMDE0LjAxNmMtMS43MjIsMS4xMzUsMS45MzMuNzY4LDQuMTU0LDEuMjc0LTEuNjExLjQxNy01LjU5NC0xLjEzNy02LjMsMS42NDUuODc3LS4zNywxLC4zMjksMS4wNzYsMS4wNzdBMjYuMjc3LDI2LjI3NywwLDAsMSwyMi4zNzksMjcuNWMxLjEuMjg1LDQuMTE4LDIuMDQ5LDUuMTIyLjU1MUMyNy41MTksMjcuOTMsMjcuMjIxLDI3Ljg3NiwyNi45MjUsMjcuNzM3WlwiLz48cGF0aCBkPVwiTTEwLjQ0NiwyLjk3bC0uMTIxLjA4OGEuMjY2LjI2NiwwLDAsMC0uMDExLjM3Ny4yMTEuMjExLDAsMCwwLC4wNDUuMDM5LjQxNi40MTYsMCwwLDAsLjUyMS0uMDYzLjI2My4yNjMsMCwwLDAsLjA3OC0uMzY0bC0uMDEtLjAxNGMtLjA3Ni0uMTQzLS4xNjMtLjE3Ny0uMzQtLjEyN0MxMC41NTMsMi45MjUsMTAuNSwyLjk0NiwxMC40NDYsMi45N1pcIiBzdHlsZT1cImZpbGw6I2QyZDJkMlwiLz48cGF0aCBkPVwiTTE4LDI2LjM2OGMuMTUxLS4wNDEuMzE4LS44MjguMTc0LS45NDlBNi4yOSw2LjI5LDAsMCwwLDE5LjQsMjYuNDg1YzEuMDIzLDEuMDA3LDIuNjY1LS4wMzIsMy40ODIuNzU5YTEwLjczNiwxMC43MzYsMCwwLDAsMS45NTcsMS4wMjdjLS4xMzktLjE1MS0uMDI5LS4xNDQuMTc5LS4wMTEtLjEzLS4zMzgtNC40MjEtNS4xNTYtNS4yMjYtNy4xOC4wOTUuMjkzLTEuNjA4LS44MjQtMi4wNzYtMS40MTktLjAyOC4wNTYtLjA5Mi0uMjUxLS4yMjgtLjQzNC0uMDQxLjA1LS4yLS40MzMtLjMtLjcyOC4wMzcuMTg3LS40NjItLjUtLjY1LS44MTgtLjA1Ni4wOS0uNzE5LjM3Mi0uODA5LjI4Ni0uNzI5LS40LDIuNTI5LDQuMDY2LjEyMiwyLjU1OS42NzYuNjgzLjYxNC40LTEuMDk1LS44NTIuMzY0LjQ1Mi0uMzE3LjMxMi0xLjU1My0xLjUyMy4xODYuMi0uMjE4LS41NzYtLjIxOC0uNTc2YTIuNjkyLDIuNjkyLDAsMCwwLS4xMzMtLjQ4M2MtLjA1Ni0uMzItLjI0MS0uNzIzLS4xMi0uNjUtMS40NDQtMS41NTYsMS4zMTQtMy4zLjcxOS0zLjY3MS0uMTExLDAtLjAyNy4wMTctLjE1MS0uMTA2LS4wOSwwLS40NjguMjg1LS41ODctLjIzNC4wMDYuMTMyLS4wMzQuNDA2LS4xNTMtLjEtLjAyMy4wNTIuMDE1LjEtLjAzLjE0NS0uMjI1LS41NzYtLjc3Mi0xLjYtMS4yMTctMi41MzktLjE1OC4xNTUtLjEzOC0uMDc2LS4xOTMtMS4wOTIuMDUzLjE0NC0uMjI1LDEuOTIxLS4yLjEzLS4xMjguMDA3LjEwOCwxLjI1OC0uMzQzLjIxLS4xNDEuMDUtLjMwNS0uMzYzLS4zNDEtMS4xNzgtLjA0OC42MjMtLjI5LjE4Ny0uNS0uOTIzLS4yNjkuNTA4LTEuNiwxLjc0My0uMzMzLDcuNjIyLS4wNTMtLjMxMy4xODYuMzQxLjc1NSwyLjQyNy4wMjEtLjAzOS0uMDIyLS4wODMuMDM4LS4xMzFhNi4zMjQsNi4zMjQsMCwwLDAsLjY3NywxLjM2NWMuNTQ0LjY1OC45OTUsMi4wNzQuOCwxLjI3N2ExMS44NjcsMTEuODY3LDAsMCwwLDIuNTU0LDMuMjQ5QTM0LjQyMywzNC40MjMsMCwwLDAsMTgsMjYuMzY4WlwiIHN0eWxlPVwiZmlsbDojZDJkMmQyXCIvPjxwYXRoIGQ9XCJNMTAuODIzLDIuNTU3YS4yOTEuMjkxLDAsMCwwLS4wNTEtLjAyMmMtLjIyMS0uMDQtLjQyOS4xNTMtLjY1NC4wMzItLjE0NS4wODUtLjI1Ny0uMDM2LS4zNzUtLjA3M2EuMjI0LjIyNCwwLDAsMC0uMi4wMTQsNS44MjMsNS44MjMsMCwwLDAtLjgxNC41ODIsMS4wMzcsMS4wMzcsMCwwLDAtLjI3My40NDljLS4wMjEuMDQ4LS4wMzcuMTI2LjA1LjEzN2EyLjMsMi4zLDAsMCwwLC42ODIuMDQ1Yy4xNzctLjAyOC4yNzctLjE1Mi40MTgtLjIyMWExLjIsMS4yLDAsMCwwLC41OTItLjY4Yy4wNjQtLjE3NS4xNjEtLjE2Ny4yOC0uMlMxMC43LDIuNjIsMTAuODIzLDIuNTU3WlwiIHN0eWxlPVwiZmlsbDojZDJkMmQyXCIvPjxwYXRoIGQ9XCJNMTAuMzI1LDMuMDU4bC4xMjEtLjA4OGEuMTE3LjExNywwLDAsMSwuMTIuMDY0Yy4wNDQuMS4xMDYuMTEyLjE5My4wNDcuMDMzLS4wMjUuMDcxLS4wNTguMTE4LS4wMjdhLjExOS4xMTksMCwwLDEsLjA0MS4xMjguMjc2LjI3NiwwLDAsMS0uMTg3LjI0OC4yNjYuMjY2LDAsMCwxLS4zLS4wM0MxMC4zNDEsMy4zMDgsMTAuMjYsMy4yLDEwLjMyNSwzLjA1OFpcIi8+YCxcblx0XCJCYXRjaFwiOiBgPHBhdGggZD1cIk0yOS40LDI3LjZIMi41VjQuNUgyOS40Wm0tMjUuOS0xSDI4LjRWNS41SDMuNVpcIiBzdHlsZT1cImZpbGw6I2Q5YjQwMFwiLz48cG9seWdvbiBwb2ludHM9XCI2LjA3NyAxOS4zMTYgNS41MjIgMTguNDg0IDEwLjM2NiAxNS4yNTUgNS40NzkgMTEuMTg0IDYuMTIgMTAuNDE2IDEyLjAzNSAxNS4zNDQgNi4wNzcgMTkuMzE2XCIgc3R5bGU9XCJmaWxsOiNkOWI0MDBcIi8+PHJlY3QgeD1cIjEyLjdcIiB5PVwiMTguMlwiIHdpZHRoPVwiNy44XCIgaGVpZ2h0PVwiMVwiIHN0eWxlPVwiZmlsbDojZDliNDAwXCIvPjxyZWN0IHg9XCIyLjVcIiB5PVwiNS41XCIgd2lkdGg9XCIyNi45XCIgaGVpZ2h0PVwiMS45XCIgc3R5bGU9XCJmaWxsOiNkOWI0MDBcIi8+YCxcblx0XCJDI1wiOiBgPHRpdGxlPmZpbGVfdHlwZV9jc2hhcnA8L3RpdGxlPjxwYXRoIGQ9XCJNMTkuNzkyLDcuMDcxaDIuNTUzVjkuNjI0SDI0LjlWNy4wNzFoMi41NTJWOS42MjRIMzB2Mi41NTJoLTIuNTV2Mi41NTFIMzBWMTcuMjhIMjcuNDQ5djIuNTUySDI0Ljl2LTIuNTVsLTIuNTUsMCwwLDIuNTUySDE5Ljc5M3YtMi41NWwtMi41NTMsMFYxNC43MjVoMi41NTNWMTIuMTc5SDE3LjI0VjkuNjIyaDIuNTU0Wm0yLjU1Myw3LjY1OEgyNC45VjEyLjE3NkgyMi4zNDVaXCIgc3R5bGU9XCJmaWxsOiMzNjg4MzJcIi8+PHBhdGggZD1cIk0xNC42ODksMjQuMDEzYTEwLjIsMTAuMiwwLDAsMS00LjY1My45MTUsNy42LDcuNiwwLDAsMS01Ljg5LTIuMzM2QTguODM5LDguODM5LDAsMCwxLDIsMTYuMzY3LDkuNDM2LDkuNDM2LDAsMCwxLDQuNDEyLDkuNjQ4YTguMTgxLDguMTgxLDAsMCwxLDYuMjU5LTIuNTc3LDExLjEsMTEuMSwwLDAsMSw0LjAxOC42Mzh2My43NDVhNi44MSw2LjgxLDAsMCwwLTMuNzIzLTEuMDM2LDQuNzkzLDQuNzkzLDAsMCwwLTMuNywxLjUyOSw1Ljg3OSw1Ljg3OSwwLDAsMC0xLjQwNyw0LjE0Miw1Ljc3NCw1Ljc3NCwwLDAsMCwxLjMyOCwzLjk5Miw0LjU1MSw0LjU1MSwwLDAsMCwzLjU3NSwxLjQ4Nyw3LjI4OCw3LjI4OCwwLDAsMCwzLjkyNy0xLjEwOFpcIiBzdHlsZT1cImZpbGw6IzM2ODgzMlwiLz5gLFxuXHRcIkNcIjogYDx0aXRsZT5maWxlX3R5cGVfYzwvdGl0bGU+PHBhdGggZD1cIk0xMC42NzYsMTUuOTczYTEwLjA1MiwxMC4wNTIsMCwwLDAsMS4xNzUsNS4xNTEsNS40NDYsNS40NDYsMCwwLDAsNi4zMDYsMi40MDgsNC4yODQsNC4yODQsMCwwLDAsMy4wOS0zLjZjLjEwNy0uNi4xMDktLjYxLjEwOS0uNjEsMS43MzcuMjUxLDQuNTM3LjY1OCw2LjI3NC45MDZsLS4xMS40NGExMS4yNTYsMTEuMjU2LDAsMCwxLTIuNyw1LjM5LDkuNDM5LDkuNDM5LDAsMCwxLTUuMzY2LDIuNjg4LDE0LjYxLDE0LjYxLDAsMCwxLTguMjc3LS44MTlBMTAuMTUxLDEwLjE1MSwwLDAsMSw1LjQsMjEuNjg3YTE2LjIyNSwxNi4yMjUsMCwwLDEsLjAxOS0xMS40NSwxMC41MzgsMTAuNTM4LDAsMCwxLDguOTYzLTcuMDU0LDEzLjM1MywxMy4zNTMsMCwwLDEsNi42NjYuNTU1LDkuNTcxLDkuNTcxLDAsMCwxLDYuMTY3LDYuOWMuMDk0LjM1Mi4xMTQuNDE3LjExNC40MTctMS45MzIuMzUxLTQuMzE5LjgtNi4yMzgsMS4yMTUtLjM2Mi0xLjkxNS0xLjI2NS0zLjQyOC0zLjItMy45YTUuMjYzLDUuMjYzLDAsMCwwLTYuNjE2LDMuNTcsMTAuNDksMTAuNDksMCwwLDAtLjM4NSwxLjQzOUExMi4zMSwxMi4zMSwwLDAsMCwxMC42NzYsMTUuOTczWlwiIHN0eWxlPVwiZmlsbDojMDA1ZjkxXCIvPmAsXG5cdFwiQysrXCI6IGA8dGl0bGU+ZmlsZV90eXBlX2NwcDwvdGl0bGU+PHBhdGggZD1cIk0xNC43NDIsMjQuMDQ3YTEwLjI0MiwxMC4yNDIsMCwwLDEtNC42NzMuOTE5QTcuNjI4LDcuNjI4LDAsMCwxLDQuMTU1LDIyLjYyLDguODc2LDguODc2LDAsMCwxLDIsMTYuMzY5LDkuNDc2LDkuNDc2LDAsMCwxLDQuNDIyLDkuNjIxYTguMjE2LDguMjE2LDAsMCwxLDYuMjg1LTIuNTg4LDExLjE1MSwxMS4xNTEsMCwwLDEsNC4wMzUuNjQxdjMuNzYxQTYuODM5LDYuODM5LDAsMCwwLDExLDEwLjM5NSw0LjgxMyw0LjgxMywwLDAsMCw3LjI4OCwxMS45M2E1LjksNS45LDAsMCwwLTEuNDEzLDQuMTU5QTUuOCw1LjgsMCwwLDAsNy4yMDksMjAuMWE0LjU3LDQuNTcsMCwwLDAsMy41OSwxLjQ5Myw3LjMxOSw3LjMxOSwwLDAsMCwzLjk0My0xLjExM1pcIiBzdHlsZT1cImZpbGw6Izk4NGM5M1wiLz48cG9seWdvbiBwb2ludHM9XCIxNy4xMTIgMTQuODI5IDE3LjExMiAxMi40ODUgMTkuNDU2IDEyLjQ4NSAxOS40NTYgMTQuODI5IDIxLjggMTQuODI5IDIxLjggMTcuMTcyIDE5LjQ1NiAxNy4xNzIgMTkuNDU2IDE5LjUxNSAxNy4xMTIgMTkuNTE1IDE3LjExMiAxNy4xNzIgMTQuNzcgMTcuMTcyIDE0Ljc3IDE0LjgyOCAxNy4xMTIgMTQuODI5XCIgc3R5bGU9XCJmaWxsOiM5ODRjOTNcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjUuMzEzIDE0LjgyOSAyNS4zMTMgMTIuNDg1IDI3LjY1NyAxMi40ODUgMjcuNjU3IDE0LjgyOSAzMCAxNC44MjkgMzAgMTcuMTcyIDI3LjY1NyAxNy4xNzIgMjcuNjU3IDE5LjUxNSAyNS4zMTMgMTkuNTE1IDI1LjMxMyAxNy4xNzIgMjIuOTcxIDE3LjE3MiAyMi45NzEgMTQuODI4IDI1LjMxMyAxNC44MjlcIiBzdHlsZT1cImZpbGw6Izk4NGM5M1wiLz5gLFxuXHRcIkNsb2p1cmVcIjogYDxwYXRoIGQ9XCJNMTYsMkExNCwxNCwwLDEsMCwzMCwxNiwxNC4wMTYsMTQuMDE2LDAsMCwwLDE2LDJcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cGF0aCBkPVwiTTE1LjQ4OCwxNi4yNTJjLS4xMjYuMjczLS4yNjUuNTc5LS40MDguOUEyMi45NjMsMjIuOTYzLDAsMCwwLDEzLjgsMjAuNjA1YTUuMTgxLDUuMTgxLDAsMCwwLS4xMTksMS4xNTVjMCwuMTc0LjAwOS4zNTYuMDI0LjU0MmE2LjY1OCw2LjY1OCwwLDAsMCw0LjQxMy4wNjcsMy45NjYsMy45NjYsMCwwLDEtLjQ0LS40NjZjLS45LTEuMTQ2LTEuNC0yLjgyNy0yLjE5NC01LjY1MlwiIHN0eWxlPVwiZmlsbDojOTFkYzQ3XCIvPjxwYXRoIGQ9XCJNMTIuMTY5LDEwLjU1NmE2LjY3Nyw2LjY3NywwLDAsMC0uMDc3LDEwLjg4MWMuNDExLTEuNzEsMS40NC0zLjI3NiwyLjk4My02LjQxNS0uMDkyLS4yNTItLjItLjUyNy0uMzEzLS44MTdhMTAuMjA3LDEwLjIwNywwLDAsMC0xLjYtMi44ODIsNC40MzksNC40MzksMCwwLDAtMS0uNzY3XCIgc3R5bGU9XCJmaWxsOiM5MWRjNDdcIi8+PHBhdGggZD1cIk0yMS44NCwyMy43YTEwLjg3NywxMC44NzcsMCwwLDEtMi4yNTctLjQ3MUE4LjAzNiw4LjAzNiwwLDAsMSwxMC43MTYsOS45ODJhNS45LDUuOSwwLDAsMC0xLjQtLjE3MWMtMi4zNTguMDIyLTQuODQ4LDEuMzI3LTUuODg0LDQuODUyYTYuNjA2LDYuNjA2LDAsMCwwLS4wNzQsMS4zNjEsMTIuNjQ5LDEyLjY0OSwwLDAsMCwyMyw3LjI3NCwxNC43MzcsMTQuNzM3LDAsMCwxLTMuNDQ4LjQ1OUE4Ljg4MSw4Ljg4MSwwLDAsMSwyMS44NCwyMy43XCIgc3R5bGU9XCJmaWxsOiM2M2IxMzJcIi8+PHBhdGggZD1cIk0xOS40NjMsMjEuMjQ0YTMuNTMsMy41MywwLDAsMCwuNS4xNzJBNi42OSw2LjY5LDAsMCwwLDIyLjcsMTYuMDIzaDBhNi42ODEsNi42ODEsMCwwLDAtOC43OS02LjM0OGMxLjM1OCwxLjU0OCwyLjAxMSwzLjc2MSwyLjY0Myw2LjE4MXYwcy4yLjY3My41NDcsMS41NjJhMTUuNDM0LDE1LjQzNCwwLDAsMCwxLjM2MywyLjc4OCwyLjkyNCwyLjkyNCwwLDAsMCwxLDEuMDM2XCIgc3R5bGU9XCJmaWxsOiM5MGI0ZmVcIi8+PHBhdGggZD1cIk0xNi4wMTMsMy4zNzJBMTIuNjMyLDEyLjYzMiwwLDAsMCw1LjczMSw4LjY1NmE2LjQyNSw2LjQyNSwwLDAsMSwzLjQ4LTEuMDA5LDYuOCw2LjgsMCwwLDEsMy4xODIuNzcyYy4xMzQuMDc3LjI2MS4xNi4zODYuMjQ2YTguMDM4LDguMDM4LDAsMCwxLDExLjI3Myw3LjM1OGgwYTguMDEzLDguMDEzLDAsMCwxLTIuMzkxLDUuNzE5LDkuODcxLDkuODcxLDAsMCwwLDEuMTQzLjA2NCw2LjI0LDYuMjQsMCwwLDAsNC4wNTEtMS4yNjMsNS4zNDgsNS4zNDgsMCwwLDAsMS43LTIuOTA2QTEyLjYzMiwxMi42MzIsMCwwLDAsMTYuMDEzLDMuMzcyXCIgc3R5bGU9XCJmaWxsOiM1ODgxZDhcIi8+YCxcblx0XCJDTWFrZVwiOiBgPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiOS45NTVcIiB5MT1cIjkuMDk2XCIgeDI9XCIxNi42OFwiIHkyPVwiMjMuMzI0XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMSwgMCwgMCwgLTEsIDAsIDMyKVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzEwMTFhMVwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM2OTY5ZTFcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJiXCIgeDE9XCIxNi4yMzFcIiB5MT1cIjE5LjY1NVwiIHgyPVwiMjUuNjE4XCIgeTI9XCIzLjc4MlwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDEsIDAsIDAsIC0xLCAwLCAzMilcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNiNDBlMGVcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZmY1OTU5XCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiY1wiIHgxPVwiMjEuNjYzXCIgeTE9XCI0LjgyM1wiIHgyPVwiOC4zODFcIiB5Mj1cIjUuOTM4XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMSwgMCwgMCwgLTEsIDAsIDMyKVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzAxYTMwMFwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiMwMWRmMDBcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJkXCIgeDE9XCIxNC42NDNcIiB5MT1cIjguMzY4XCIgeDI9XCIxNC40NzJcIiB5Mj1cIjE0LjE0NVwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDEsIDAsIDAsIC0xLCAwLCAzMilcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiM4NDg0ODRcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZDJkMmQyXCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfY21ha2U8L3RpdGxlPjxwYXRoIGQ9XCJNMTcuMjU3LDE2LjkxOSwyLjI0NiwyOS43NDksMTUuOTk0LDIuMjgzWlwiIHN0eWxlPVwiZmlsbDp1cmwoI2EpXCIvPjxwYXRoIGQ9XCJNMi4yNjIsMjkuNzY4bC0uMDM4LS4wM0wxNi4wMTIsMi4xOTNsLjAwOC4wODhMMTcuMjgzLDE2LjkzbC0uMDEuMDA4Wk0xNS45NzcsMi4zNzQsMi4zMjQsMjkuNjQ5LDE3LjIzLDE2LjkwOFpcIi8+PHBhdGggZD1cIk0xNy45NTIsMjQuOTMxLDE2LDIuMjgsMjkuNzY3LDI5Ljc1MVpcIiBzdHlsZT1cImZpbGw6dXJsKCNiKVwiLz48cGF0aCBkPVwiTTI5LjgxOCwyOS44bC0uMDYxLS4wMjVMMTcuOTI5LDI0Ljk0OGwwLS4wMTVMMTUuOTc1LDIuMjgybC4wNDctLjAxM1pNMTcuOTc2LDI0LjkxMywyOS43MTUsMjkuNywxNi4wMzYsMi40MDhaXCIvPjxwYXRoIGQ9XCJNMTEuMTYsMjIuMDk0bDE4LjYyMSw3LjY1NEgyLjI1WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2MpXCIvPjxwYXRoIGQ9XCJNMjkuNzgxLDI5Ljc3M0gyLjE4M2wuMDUxLS4wNDQsOC45MjEtNy42NjUuMDE0LjAwNiwxOC42MjIsNy42NTVabS0yNy40NjQtLjA1SDI5LjY1NGwtMTguNDg5LTcuNlpcIi8+PHBhdGggZD1cIk0xMS4xODksMjIuMTEybDYuMDU5LTUuMTY4Ljg0Myw3Ljk4WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2QpXCIvPjxwYXRoIGQ9XCJNMTguMTQ5LDI1bC0uMDc3LS4wMzItNi45NzgtMi44NDIsNi4xOTQtNS4yODMuMDEuMDk0Wm0tNi44NjUtMi45LDYuNzQ4LDIuNzQ5LS44MjQtNy44WlwiLz48cGF0aCBkPVwiTTI5LjcsMjkuOTExSDIuMjg1YS4yMjEuMjIxLDAsMCwxLS4xODItLjA4OC4yMjIuMjIyLDAsMCwxLC4wMjItLjJMMTUuODY0LDIuMTg3YS4xNjkuMTY5LDAsMCwxLC4xNC0uMWgwYS4xNTQuMTU0LDAsMCwxLC4xMy4wODVMMjkuODY3LDI5LjYwN2EuMjM4LjIzOCwwLDAsMSwuMDIuMjI2QS4yMTEuMjExLDAsMCwxLDI5LjcsMjkuOTExWm0tMjcuNDY4LS4xNmEuNDg0LjQ4NCwwLDAsMCwuMDU3LjAxMWgyNy40bC4wNzMtLjAwOWEuMjIxLjIyMSwwLDAsMC0uMDI4LS4wNzdMMTYsMi4yNDgsMTYsMi4yNiwyLjI2MSwyOS42ODRhLjI3OS4yNzksMCwwLDAtLjAyNS4wNjdaXCIvPmAsXG5cdFwiQ09CT0xcIjogYDxwYXRoIGQ9XCJNMjIuMjQsNi41NDZhNC40NDksNC40NDksMCwwLDAsMS43NjUtMi41MjIsNC42MzYsNC42MzYsMCwwLDEtLjAxOCwyLjE1N2MtLjIyMy41ODItLjU2NywxLjEwNy0uODM0LDEuNjY5YTIxLjc3MiwyMS43NzIsMCwwLDEsNC41NTktMi45MzhDMjcuMjMsNi40LDI1Ljg5MSw3LjMsMjQuOTA3LDguNDQyYy4xOS40MDkuMjguOTg5LjgsMS4xMDlhNS4wMzYsNS4wMzYsMCwwLDAsMi41LjE1NWMuOTEyLS4zMTMsMS4zNDUtMS4yNTgsMS44LTIuMDM1VjkuMTRhMTUuNzM4LDE1LjczOCwwLDAsMS0uNTgyLDEuNzQ4Yy4yLjU0Ny40MDksMS4wOTIuNTgyLDEuNjQ3di45NTJjLS4yMTQuMzY4LS40NDIuNzI2LS42NjMsMS4wODlhNS4yOTMsNS4yOTMsMCwwLDAtMS4wNjgtMS4xNjIsNC4wMyw0LjAzLDAsMCwwLTEuODUxLS4xMjUsMy4yMTIsMy4yMTIsMCwwLDAsMi40MTMsMS40N2MtLjM1OS4zNy0uNjYzLjkxMi0xLjIzLjk2OS0xLjY0MS4yNDctMy4yMDctLjUwNS00LjgzOS0uNS0uMjgyLjAyLS43MDcuMDI0LS43ODUuMzcyLDAsLjczNS4yMTcsMS40NTMuMTksMi4xODgtLjA1OSwxLjI1OC0uNTEyLDIuNDY2LS41MjksMy43MjZhMTMuNzg1LDEzLjc4NSwwLDAsMCwuODM4LDMuNDQ4Yy0uNTIzLS4wNzctMS4wNDQtLjE2Ni0xLjU2Mi0uMjYtLjEuMjA4LS4xODQuNDItLjI2LjYzNEE0LjUxNCw0LjUxNCwwLDAsMCwyMS44LDI2LjUzMWMtLjA2MS4xMjctLjE4Mi4zODEtLjI0MS41MDhsLS41NzMuMTM4Yy0uMTMxLjI0Ny0uMjYzLjQ5Mi0uNC43MzlhNC40MjEsNC40MjEsMCwwLDAtMi4yLjA2MWMtLjQ2Ni0uMTg2LS45MjgtLjM3Ni0xLjM4OS0uNTY3YTUuOTM5LDUuOTM5LDAsMCwwLC40MDctMi4zMTVjLS4yODItLjk4Mi0xLjYtLjk4NC0yLTEuODc3YTYuMjMzLDYuMjMzLDAsMCwxLTEuMDIyLTIuODUxYy0uODIzLS40MzMtMS40NTUtMS4yMjEtMi40LTEuNC0uMDQ4LjQwOS0uMDgzLjgyLS4xNTMsMS4yMjdBNi4wMTUsNi4wMTUsMCwwLDEsMTAuNDgxLDIyLjZjLjAzOS40MjIuMDc5Ljg0Mi4xMiwxLjI2NS4zNDYuMzI0LjY5MS42NDgsMS4wMzMuOTc0YTkuNzUyLDkuNzUyLDAsMCwxLTEuNDI2LjcxMywxMS4xMTQsMTEuMTE0LDAsMCwxLTEuNjg3LjA3N2MtLjI1OC0uMjU0LS41MTgtLjUwOC0uNzc3LS43NjRhNC44NzEsNC44NzEsMCwwLDAsLjExNC0yLjYwOGMuMTcxLS40LjMyNi0uODEyLjQ3NS0xLjIyMWE1LjU2NSw1LjU2NSwwLDAsMS0zLjAxLjIwNiw1LjEyLDUuMTIsMCwwLDEtMy4yOS00LjMzLDMuODU5LDMuODU5LDAsMCwxLDEuNDA3LTMuMjY4QTYuNDEsNi40MSwwLDAsMCwzLjIsMTYuMjU5YTMuMDM4LDMuMDM4LDAsMCwwLDIuNSwyLjQ2NiwzLjQ2MiwzLjQ2MiwwLDAsMCwxLjk2LS42NDMsNy40OCw3LjQ4LDAsMCwxLC4zNjMtNC4xMzMsNS41MjQsNS41MjQsMCwwLDEsMy41ODYtMi42Niw0LjIzNSw0LjIzNSwwLDAsMCwyLjAxMS0xLjU2NiwxMC42NywxMC42NywwLDAsMSwxLjUyOS0xLjMzYy0uMjI4LS4yMTktLjQ1My0uNDQtLjY4LS42NTlBMi4xNTQsMi4xNTQsMCwwLDAsMTUuOSw2LjAyM2MxLjI4NC0uMywyLjU1MS0uNjYxLDMuODItMS4wMTFhMy43OTMsMy43OTMsMCwwLDAsMS40MTUuNjA2Yy4zMTcuMzQ2LjQ5NCwxLjE1NywxLjEuOTI4TTE4LjQ1OCwxOS45MDhjLjA0Mi43NjgtLjA0OCwxLjY2NS42NzQsMi4xNTUsMC0uNzU1LS4wNDYtMS41MDctLjEtMi4yNlpcIiBzdHlsZT1cImZpbGw6IzAwNWNhNVwiLz5gLFxuXHRcIkNvZmZlZVNjcmlwdFwiOiBgPHBhdGggZD1cIk0xMy4xMTQsNS43MjhjLjAyNS4xNTMtLjA1MS4yOC0uMzA2LjQwOGEzLjQ1NywzLjQ1NywwLDAsMC0xLjYzLS4yMjljLS42MzcuMDUxLTEuMTcyLjI1NS0xLjEuNjg4LjEuNDMzLjcxMy42ODgsMS44MDguNTg2LDIuNjc0LS4yMjksMi42NDktMi4wMzgsNi41NzEtMi4zOTQsMy4wNTYtLjI4LDQuNzYzLjY2Miw0Ljk5MiwxLjgwOC4xNzguODkxLS41NiwxLjc1Ny0yLjc3NiwxLjkzNi0xLjk2MS4xNzgtMy4xMDctLjM1Ny0zLjIwOS0uODkxLS4wNTEtLjI4LjEtLjY4OCwxLjA0NC0uNzkuMS40MzMuNjM3Ljg5MSwxLjkxLjc2NEMyMS4zNDEsNy41MzYsMjIuMSw3LjIsMjIsNi43Yy0uMS0uNTM1LTEuMDctLjg0LTIuNi0uNzEzLTMuMTA3LjI4LTMuODcxLDEuOTg3LTYuNTIsMi4yMTZDMTEsOC4zNzYsOS40NzIsNy42ODksOS4yNjgsNi42N2MtLjA3Ni0uMzgyLS4wNzYtMS4yNzMsMS45MS0xLjQ1MiwxLjAxOS0uMDc2LDEuODM0LjEsMS45MzYuNTA5Wk0zLjE4MSwxNi4zNzRBNS4yNzksNS4yNzksMCwwLDAsMi4wMSwxOS45OWE0LjIwNiw0LjIwNiwwLDAsMCwxLjY1NSwzLjA1Niw0LDQsMCwwLDAsMy4zNjIuNzksMTEuNDM0LDExLjQzNCwwLDAsMCwxLjUtLjQ4NCw0LjIzOCw0LjIzOCwwLDAsMS0yLjc1MS0xLjAxOSw0LjEzLDQuMTMsMCwwLDEtMS43MzItMi44MjdBMy43OSwzLjc5LDAsMCwxLDQuNjU4LDE2LjUsMy45NzcsMy45NzcsMCwwLDEsNy40MDksMTVhNC44MDYsNC44MDYsMCwwLDEsMy4yMDkuOTQyLDYuOTUsNi45NSwwLDAsMC0uODY2LS44NjYsNC4xLDQuMSwwLDAsMC0zLjQ2NC0uNjg4LDUuMiw1LjIsMCwwLDAtMy4xMDcsMS45ODdaTTE2LjgzMywxMC40OUE0MC44MzcsNDAuODM3LDAsMCwxLDguNSw5LjdDNi4yMzcsOS4xNCw1LjA0LDguNTI5LDUuMDQsNy43NGMwLS4zMzEuMTUzLS42MTEuNjExLS45NDItMS40MjYuNTYtMi4xOSwxLjAxOS0yLjE5LDEuNzMyLjA3Ni43OSwxLjM1LDEuNTc5LDMuOTQ4LDIuMTlhMzkuNDQzLDM5LjQ0MywwLDAsMCw5LjM0Ny45NDJBMzguOTkzLDM4Ljk5MywwLDAsMCwyNi4xLDEwLjcyYzIuNi0uNjExLDMuODQ2LTEuNDI2LDMuODQ2LTIuMTksMC0uNTYtLjU2LTEuMS0xLjU3OS0xLjVhLjg2Mi44NjIsMCwwLDEsLjQwOC42ODhjMCwuNzktMS4xNzIsMS40MjYtMy41NCwxLjk2MUEzOS4zMjQsMzkuMzI0LDAsMCwxLDE2LjgzMywxMC40OVptOS4zNzMsMi4xOWE0Mi4zMTUsNDIuMzE1LDAsMCwxLTkuMzQ3Ljk0Miw0NC4xNDQsNDQuMTQ0LDAsMCwxLTkuNDI0LS45NDJjLTIuMTktLjU2LTMuMzYyLTEuMTcyLTMuNzY5LTEuODA4YTIzLjE4NiwyMy4xODYsMCwwLDAsMi42LDcuNjQxYy45NDIsMS40MjYsMS44ODUsMi42NzQsMi44MjcsNC4wMjRhOS44ODMsOS44ODMsMCwwLDEsLjg2NiwyLjM2OSw0LjU1OSw0LjU1OSwwLDAsMCwyLjYsMS43MzIsMTAuNjExLDEwLjYxMSwwLDAsMCw0LjE3Ny42MTFoLjE1M2ExMS44MzksMTEuODM5LDAsMCwwLDQuMy0uNjExLDQuODY5LDQuODY5LDAsMCwwLDIuNTIxLTEuNzMyaC4wNzZhOS41OTIsOS41OTIsMCwwLDEsLjc5LTIuMzY5Yy45NDItMS4zNSwxLjg4NS0yLjYsMi44MjctNC4wMjRBMjQuNjIsMjQuNjIsMCwwLDAsMzAsMTAuODcyQzI5LjQ5MSwxMS41ODUsMjguMzE5LDEyLjIsMjYuMjA1LDEyLjY4MVpcIiBzdHlsZT1cImZpbGw6IzZmNGUzN1wiLz5gLFxuXHRcIkNyeXN0YWxcIjogYDxwYXRoIGQ9XCJNMjkuOTQxLDE5LjgxNiwxOS44LDI5LjkyOGMtLjAyOC4wMjgtLjA4NS4wMjgtLjE2OS4wMjhMNS44LDI2LjI2N2MtLjAyOCwwLS4wODQtLjAyOC0uMTEzLS4xMTNMMiwxMi4zNTJhLjQxOS40MTksMCwwLDEsLjAyOC0uMTY5TDEyLjE2OCwyLjA3MmMuMDI4LS4wMjguMDg0LS4wMjguMTY5LS4wMjhsMTMuODMsMy43MThjLjAyOCwwLC4wODQuMDI4LjExMy4xMTNsMy42OSwxMy44QzMwLjAyNiwxOS43MzIsMzAsMTkuNzg4LDI5Ljk0MSwxOS44MTZaTTE2LjM5Myw4LjgzMiwyLjgxNywxMi40OTNxLS4wNDIsMCwwLC4wODRMMTIuNzYsMjIuNTJjLjAyOC4wMjguMDI4LDAsLjA4NCwwTDE2LjUwNiw4Ljk3MkMxNi40NDksOC44MzIsMTYuMzkzLDguODMyLDE2LjM5Myw4LjgzMlpcIiBzdHlsZT1cImZpbGw6I2M4YzhjOFwiLz5gLFxuXHRcIkNTU1wiOiBgPHBvbHlnb24gcG9pbnRzPVwiNS45MDIgMjcuMjAxIDMuNjU2IDIgMjguMzQ0IDIgMjYuMDk1IDI3LjE5NyAxNS45ODUgMzAgNS45MDIgMjcuMjAxXCIgc3R5bGU9XCJmaWxsOiMxNTcyYjZcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTYgMjcuODU4IDI0LjE3IDI1LjU5MyAyNi4wOTIgNC4wNjEgMTYgNC4wNjEgMTYgMjcuODU4XCIgc3R5bGU9XCJmaWxsOiMzM2E5ZGNcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTYgMTMuMTkxIDIwLjA5IDEzLjE5MSAyMC4zNzIgMTAuMDI2IDE2IDEwLjAyNiAxNiA2LjkzNSAxNi4wMTEgNi45MzUgMjMuNzUgNi45MzUgMjMuNjc2IDcuNzY0IDIyLjkxNyAxNi4yODIgMTYgMTYuMjgyIDE2IDEzLjE5MVwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwb2x5Z29uIHBvaW50cz1cIjE2LjAxOSAyMS4yMTggMTYuMDA1IDIxLjIyMiAxMi41NjMgMjAuMjkyIDEyLjM0MyAxNy44MjcgMTAuNjcgMTcuODI3IDkuMjQgMTcuODI3IDkuNjczIDIyLjY4IDE2LjAwNCAyNC40MzggMTYuMDE5IDI0LjQzNCAxNi4wMTkgMjEuMjE4XCIgc3R5bGU9XCJmaWxsOiNlYmViZWJcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTkuODI3IDE2LjE1MSAxOS40NTUgMjAuMjkgMTYuMDA4IDIxLjIyIDE2LjAwOCAyNC40MzYgMjIuMzQ0IDIyLjY4IDIyLjM5MSAyMi4xNTggMjIuOTI4IDE2LjE1MSAxOS44MjcgMTYuMTUxXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTYuMDExIDYuOTM1IDE2LjAxMSA4Ljg1NSAxNi4wMTEgMTAuMDE4IDE2LjAxMSAxMC4wMjYgOC41NTUgMTAuMDI2IDguNTU1IDEwLjAyNiA4LjU0NSAxMC4wMjYgOC40ODMgOS4zMzEgOC4zNDIgNy43NjQgOC4yNjggNi45MzUgMTYuMDExIDYuOTM1XCIgc3R5bGU9XCJmaWxsOiNlYmViZWJcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTYgMTMuMTkxIDE2IDE1LjExMSAxNiAxNi4yNzQgMTYgMTYuMjgyIDEyLjYxMSAxNi4yODIgMTIuNjExIDE2LjI4MiAxMi42MDEgMTYuMjgyIDEyLjUzOSAxNS41ODcgMTIuMzk5IDE0LjAyIDEyLjMyNSAxMy4xOTEgMTYgMTMuMTkxXCIgc3R5bGU9XCJmaWxsOiNlYmViZWJcIi8+YCxcblx0XCJDU1ZcIjogYDxwYXRoIGQ9XCJNMjIuMDM4LDJINi4zNzVhMS43NTUsMS43NTUsMCwwLDAtMS43NSwxLjc1djI0LjVBMS43NTUsMS43NTUsMCwwLDAsNi4zNzUsMzBoMTkuMjVhMS43NTUsMS43NTUsMCwwLDAsMS43NS0xLjc1VjYuODU2Wm0uNTI1LDIuODQ0LDEuNjYzLDEuNTMxSDIyLjU2M1pNNi4zNzUsMjguMjVWMy43NUgyMC44MTNWOC4xMjVoNC44MTNWMjguMjVaXCIgc3R5bGU9XCJmaWxsOiNjMmMyYzJcIi8+PHJlY3QgeD1cIjguMTI1XCIgeT1cIjE1LjA5N1wiIHdpZHRoPVwiMTMuMDc2XCIgaGVpZ2h0PVwiMS43NVwiIHN0eWxlPVwiZmlsbDojODI5ZWMyXCIvPjxyZWN0IHg9XCI4LjEyNVwiIHk9XCIyNC40MzlcIiB3aWR0aD1cIjkuNzYyXCIgaGVpZ2h0PVwiMS43NVwiIHN0eWxlPVwiZmlsbDojODI5ZWMyXCIvPjxyZWN0IHg9XCI4LjEyNVwiIHk9XCIxOS43NjNcIiB3aWR0aD1cIjE1Ljc1XCIgaGVpZ2h0PVwiMS43NVwiIHN0eWxlPVwiZmlsbDojODI5ZWMyXCIvPjxyZWN0IHg9XCI4LjEyNVwiIHk9XCIxMC4yM1wiIHdpZHRoPVwiMTUuNzVcIiBoZWlnaHQ9XCIxLjc1XCIgc3R5bGU9XCJmaWxsOiM4MjllYzJcIi8+YCxcblx0XCJEXCI6IGA8ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9XCJhXCIgeDE9XCIxODUuNDU1XCIgeTE9XCIxNjAxLjY0MVwiIHgyPVwiMTgxLjk1NVwiIHkyPVwiMTYzMC4yMjRcIiBncmFkaWVudFRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNjIuNTIzIC02NjYuNjQ2KSBzY2FsZSgwLjQyNylcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNmZmZcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZmZmXCIgc3RvcC1vcGFjaXR5PVwiMFwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImJcIiB4MT1cIjE3Ni4xMzZcIiB5MT1cIjE2MDAuNVwiIHgyPVwiMTcyLjYzNlwiIHkyPVwiMTYyOS4wODNcIiB4bGluazpocmVmPVwiI2FcIi8+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfZGxhbmc8L3RpdGxlPjxwYXRoIGQ9XCJNMy45NzgsMTUuNDYyLDMuOTY5LDguNTA5QS41ODguNTg4LDAsMCwxLDQuNSw3Ljk0N2EuNjU4LjY1OCwwLDAsMSwuMDc2LDBsNi4wNzQtLjAwOWExNS43LDE1LjcsMCwwLDEsNi4wNjcuOTUsOC45LDguOSwwLDAsMSwyLjI0NCwxLjM1OSw0LjQ2OSw0LjQ2OSwwLDAsMSwyLjk0Ni0xLjA4Myw0LjExLDQuMTEsMCwwLDEsNC4yNzYsMy45MkE0LjExLDQuMTEsMCwwLDEsMjEuOTA3LDE3Yy0uMDg5LDAtLjE3Ny0uMDA4LS4yNjUtLjAxMmE2LjYxNyw2LjYxNywwLDAsMS0uMjMyLjk1Myw4NS4zODMsODUuMzgzLDAsMCwxLDguNTksMi42VjJIMlYxNS40UTIuOTkyLDE1LjQyLDMuOTc4LDE1LjQ2MlptMjIuOC03Ljk0NGExLjMyLDEuMzIsMCwwLDEsMS4zNzQsMS4yNTksMS4zNzksMS4zNzksMCwwLDEtMi43NDcsMEExLjMyLDEuMzIsMCwwLDEsMjYuNzgsNy41MTdaXCIgc3R5bGU9XCJmaWxsOiNiMDM5MzFcIi8+PHBhdGggZD1cIk0xNy44NjEsMTUuNzg3YTQuMTE0LDQuMTE0LDAsMCwwLTEuNzQ4LTMuNDU4LDUuODE0LDUuODE0LDAsMCwwLTEuNTA4LS44MjIsNy4zNTQsNy4zNTQsMCwwLDAtMS42MjktLjQzOCwyMS42MjksMjEuNjI5LDAsMCwwLTIuNTg4LS4xbC0yLjYxOSwwLC4wMDYsNC43MzdhODguODI3LDg4LjgyNywwLDAsMSw5LjkxLDEuNDA4QTQuOTE5LDQuOTE5LDAsMCwwLDE3Ljg2MSwxNS43ODdaXCIgc3R5bGU9XCJmaWxsOiNiMDM5MzFcIi8+PHBhdGggZD1cIk0yMC45OTMsMTguOTc5YTcuOTA2LDcuOTA2LDAsMCwxLTIuMTI4LDIuNTgyLDkuNzM5LDkuNzM5LDAsMCwxLTMuMjU2LDEuNzEsMTEuNTU4LDExLjU1OCwwLDAsMS0xLjk3MS40NzJoLS4wMTVhMzEuODU3LDMxLjg1NywwLDAsMS0zLjMyNi4xMTFsLTUuNjI1LjAyMmEuNjE2LjYxNiwwLDAsMS0uNjg2LS42ODFsLS4wMS03LjczNFEyLjk5MiwxNS40MiwyLDE1LjRWMzBIMzBWMjAuNTQ0YTg1LjM4Myw4NS4zODMsMCwwLDAtOC41OS0yLjZBNi45ODUsNi45ODUsMCwwLDEsMjAuOTkzLDE4Ljk3OVpcIiBzdHlsZT1cImZpbGw6I2IwMzkzMVwiLz48cGF0aCBkPVwiTTIwLjk5MywxOC45NzlhNy45MDYsNy45MDYsMCwwLDEtMi4xMjgsMi41ODIsOS43MzksOS43MzksMCwwLDEtMy4yNTYsMS43MSwxMS41NTgsMTEuNTU4LDAsMCwxLTEuOTcxLjQ3MmgtLjAxNWEzMS44NTcsMzEuODU3LDAsMCwxLTMuMzI2LjExMWwtNS42MjUuMDIyYS42MTYuNjE2LDAsMCwxLS42ODYtLjY4MWwtLjAxLTcuNzM0UTIuOTkyLDE1LjQyLDIsMTUuNFYzMEgzMFYyMC41NDRhODUuMzgzLDg1LjM4MywwLDAsMC04LjU5LTIuNkE2Ljk4NSw2Ljk4NSwwLDAsMSwyMC45OTMsMTguOTc5WlwiIHN0eWxlPVwib3BhY2l0eTowLjMwMDAwMDAxMTkyMDkyOTtpc29sYXRpb246aXNvbGF0ZTtmaWxsOnVybCgjYSlcIi8+PHBhdGggZD1cIk0xMC40NzcsMjAuODM1YTE2LjAxNCwxNi4wMTQsMCwwLDAsMi44NzctLjIsNy42MzMsNy42MzMsMCwwLDAsMS42MjgtLjUsNS42MjgsNS42MjgsMCwwLDAsMS4xODctLjc0OCw0LjQ1Nyw0LjQ1NywwLDAsMCwxLjUxOC0yLjI3MSw4OC42OTEsODguNjkxLDAsMCwwLTkuOTEtMS40MDhsLjAwNiw1LjEzM1pcIiBzdHlsZT1cImZpbGw6I2IwMzkzMVwiLz48cGF0aCBkPVwiTTEwLjQ3NywyMC44MzVhMTYuMDE0LDE2LjAxNCwwLDAsMCwyLjg3Ny0uMiw3LjYzMyw3LjYzMywwLDAsMCwxLjYyOC0uNSw1LjYyOCw1LjYyOCwwLDAsMCwxLjE4Ny0uNzQ4LDQuNDU3LDQuNDU3LDAsMCwwLDEuNTE4LTIuMjcxLDg4LjY5MSw4OC42OTEsMCwwLDAtOS45MS0xLjQwOGwuMDA2LDUuMTMzWlwiIHN0eWxlPVwib3BhY2l0eTowLjMwMDAwMDAxMTkyMDkyOTtpc29sYXRpb246aXNvbGF0ZTtmaWxsOnVybCgjYilcIi8+PHBhdGggZD1cIk0yMC4zODMsMTEuNzQ2YTYuOTkzLDYuOTkzLDAsMCwxLDEuMzYsNC4xNDgsNi42MTgsNi42MTgsMCwwLDEtLjEsMS4xYy4wODgsMCwuMTc2LjAxMi4yNjUuMDEyYTQuMTEsNC4xMSwwLDAsMCw0LjI3Ni0zLjkyLDQuMTEsNC4xMSwwLDAsMC00LjI3Ni0zLjkyLDQuNDcsNC40NywwLDAsMC0yLjk0NiwxLjA4M0E4LjEyMyw4LjEyMywwLDAsMSwyMC4zODMsMTEuNzQ2WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxlbGxpcHNlIGN4PVwiMjYuNzhcIiBjeT1cIjguNzc3XCIgcng9XCIxLjM3NFwiIHJ5PVwiMS4yNTlcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cGF0aCBkPVwiTTQuNjczLDIzLjg3N2w1LjYyNS0uMDIyYTMxLjg3MSwzMS44NzEsMCwwLDAsMy4zMjYtLjExMWguMDE1YTExLjQ5LDExLjQ5LDAsMCwwLDEuOTcxLS40NzIsOS43MzksOS43MzksMCwwLDAsMy4yNTYtMS43MSw3LjkwNiw3LjkwNiwwLDAsMCwyLjEyOC0yLjU4Miw2Ljk4NSw2Ljk4NSwwLDAsMCwuNDE3LTEuMDM0LDcuMDU2LDcuMDU2LDAsMCwwLC4zMzItMi4wNTEsNi45OTIsNi45OTIsMCwwLDAtMS4zNi00LjE0OCw4LjEsOC4xLDAsMCwwLTEuNDIxLTEuNSw4Ljg3OCw4Ljg3OCwwLDAsMC0yLjI0NC0xLjM1OSwxNS42ODYsMTUuNjg2LDAsMCwwLTYuMDY3LS45NWwtNi4wNzQuMDA5YS42NTguNjU4LDAsMCwwLS4wNzYsMCwuNTg4LjU4OCwwLDAsMC0uNTMyLjU2MmwuMDA5LDYuOTUyLjAxLDcuNzM0QS42MTYuNjE2LDAsMCwwLDQuNjczLDIzLjg3N1ptMy4xLTEyLjkwOCwyLjYxOSwwYTIxLjYyMywyMS42MjMsMCwwLDEsMi41ODguMSw3LjM1NCw3LjM1NCwwLDAsMSwxLjYyOS40MzgsNS44MTQsNS44MTQsMCwwLDEsMS41MDguODIyLDQuMTE2LDQuMTE2LDAsMCwxLDEuNzQ4LDMuNDU4LDQuOTA1LDQuOTA1LDAsMCwxLS4xNzUsMS4zMjcsNC40NTcsNC40NTcsMCwwLDEtMS41MTgsMi4yNzEsNS42MTMsNS42MTMsMCwwLDEtMS4xODcuNzQ4LDcuNjY2LDcuNjY2LDAsMCwxLTEuNjI4LjUsMTYuMDA5LDE2LjAwOSwwLDAsMS0yLjg3Ny4ybC0yLjY5NCwwLS4wMDYtNS4xMzNaXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+YCxcblx0XCJEYXJ0XCI6IGA8cGF0aCBkPVwiTTE2LjczOSwyLjAzN2ExLjMxNCwxLjMxNCwwLDAsMC0uOTE2LjM3N2wtLjAxMy4wMUw3LjIyLDcuMzg5bDguNTY2LDguNTY2di4wMDZsMTAuMywxMC4zLDEuOTYzLTMuNTM2TDIwLjk2OCw1LjcyOGwtMy4zLTMuM2ExLjMwNywxLjMwNywwLDAsMC0uOTI3LS4zODhaXCIgc3R5bGU9XCJmaWxsOiM2NmMzZmFcIi8+PHBhdGggZD1cIk03LjI1LDcuMzUsMi4yODgsMTUuOTMxbC0uMDEuMDEzYTEuMzIyLDEuMzIyLDAsMCwwLS4zNzguOTE5LDEuMywxLjMsMCwwLDAsLjM4Ny45MjRMNi40LDIxLjlsMTYuMDg0LDYuMzI3LDMuNjM2LTIuMDItLjEtLjEtLjAyNSwwLTEwLjA4My0xMC4xSDE1LjlMNy4yNSw3LjM1WlwiIHN0eWxlPVwiZmlsbDojMjE1ODk2XCIvPjxwYXRoIGQ9XCJNNy4xOTIsNy4zNjJsOC43NjQsOC43NzNoLjAxM2wxMC4wODcsMTAuMSwzLjgzOS0uNzMyTDI5LjksMTQuMTRsLTQuMDU0LTMuOTczYTYuNTIxLDYuNTIxLDAsMCwwLTMuNjI0LTEuNjE2bDAtLjA0NEw3LjE5Miw3LjM2MlpcIiBzdHlsZT1cImZpbGw6IzIzNTk5N1wiLz48cGF0aCBkPVwiTTcuMjU2LDcuNDExbDguNzY4LDguNzY4di4wMTNMMjYuMTE2LDI2LjI4NGwtLjczNCwzLjgzOUgxNC4wMjJsLTMuOTcxLTQuMDU2YTYuNTIyLDYuNTIyLDAsMCwxLTEuNjE0LTMuNjI1bC0uMDQ0LDBMNy4yNTYsNy40MTFaXCIgc3R5bGU9XCJmaWxsOiM1OGI2ZjBcIi8+YCxcblx0XCJEaGFsbFwiOiBgPHBhdGggZD1cIk0xNiwyLjA3QTEzLjkzLDEzLjkzLDAsMSwxLDIsMTYsMTMuOTMsMTMuOTMsMCwwLDEsMTYsMi4wN1pNMTMuMjgsMjIuMzJhMS40OSwxLjQ5LDAsMSwxLTEsMS44M0ExLjQ5LDEuNDksMCwwLDEsMTMuMjgsMjIuMzJabTgtMTUuNjhhLjUzLjUzLDAsMCwxLC4zOC42Ni41Mi41MiwwLDAsMS0uNjUuMzhsLS41LS4xM2E0Mi42Nyw0Mi42NywwLDAsMC0uMzcsNy4wN0MxOC4wNiwxNi40NSwxNC4zOSwyMiwxNC4zOSwyMmwxLjkzLTcuMThhMSwxLDAsMCwwLC44OS0uNjUuOTEuOTEsMCwwLDAtMS43NS0uNDcsMSwxLDAsMCwwLC40NSwxTDE0LDIxLjg1YTY4LjM4LDY4LjM4LDAsMCwwLTEuMzQtOS4yNSwzNC4yOCwzNC4yOCwwLDAsMCwzLjIxLTYuMzFsLS41LS4xM0EuNTUuNTUsMCwwLDEsMTUsNS41YS41My41MywwLDAsMSwuNjYtLjM4bDUuNjgsMS41MlpcIiBzdHlsZT1cImZpbGw6I2I3YjdiNztmaWxsLXJ1bGU6ZXZlbm9kZFwiLz5gLFxuXHRcIkRpZmZcIjogYDxyZWN0IHg9XCI2Ljk3NVwiIHk9XCIzXCIgd2lkdGg9XCIxOC4wNVwiIGhlaWdodD1cIjYuMDE3XCIgc3R5bGU9XCJmaWxsOiNjMDAwMDBcIi8+PHBhdGggZD1cIk0xMi45OTIsMTAuOTV2Ni4wMTdINi45NzV2Ni4wMTdoNi4wMTdWMjloNi4wMTdWMjIuOTgzaDYuMDE3VjE2Ljk2N0gxOS4wMDhWMTAuOTVaXCIgc3R5bGU9XCJmaWxsOmdyZWVuXCIvPmAsXG5cdFwiRGphbmdvL0ppbmphMlwiOiBgPGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPVwiYVwiIGN4PVwiMTZcIiBjeT1cIi0xMTkuMjgzXCIgcj1cIjEzLjVcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgxLCAwLCAwLCAtMC45NDUsIDAsIC05Ni43MzUpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjNTc1NzU3XCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzJmMmYyZlwiLz48L3JhZGlhbEdyYWRpZW50PjwvZGVmcz48dGl0bGU+ZmlsZV90eXBlX2ppbmphPC90aXRsZT48cGF0aCBkPVwiTTI5LjM0LDMuMjQxYTM4LjI3MSwzOC4yNzEsMCwwLDEtOS40NTEsMy4wNGMtNC4yNDEuNTUtMTIuMzI5LDEuMS0xMy45MzUuNzEyQTIzLjMsMjMuMywwLDAsMSwzLjIsNi4xNTFsLjMzNCwxLjEzMkwyLjUsOC4xODhsLjE4My4zMjMuNDI0LjAzMiwxLjMuMTYyLjE4My41ODIuNzI3LjA2Ni4zNjQsMS4yMjhzMS41NDQuMTMsMiwuMTMsMS4zNjMtLjA2NCwxLjM2My0uMDY0bC4wMy40ODUuMzM0LjA2NHYuNTVsLS43MjguNjQ4LjE4My4wMzJ2LjIyNWExNS44MTYsMTUuODE2LDAsMCwxLTIuMy4wMzRjLS42NjYtLjEtLjc4OC0uMS0uNzg4LS4xbC0uMDYuMDY0LS4wMy4yOTFoLjE1MWwuMDYsMS4yNjIsMy4zNjMtLjEzLS4yNDMsNC4zNjUtLjAzLjU0OS0yLjg0OC0uMTYyLS4wMy0xLjE2NGguNjM1bC4wNjEtLjQ1My41NzUtLjEzLjA5MS0uMTI4LTIuMTUxLS41MTgtMS42MzYuNDg1LjI3My4yMjdoLjI3M2wuMDMuMzg5LjU3NS4wMzJWMTguN2wtLjYzNS4xNjIuMTIxLjI1Ny4xNTEuMXYuODczaC4zOTR2NC4wNDFsLS42MzcuMS4wOTEsMS4xNjQuMzkzLjA2Ni0uMDYsMi42NTEsMS43MjcuMDMyLS4zNjQtMi42MTksMi42MDUtLjA2NC0uMTgxLDEuNDIyLS4yNDMsMSwyLjYzNS4wMzIuMDMtMi41ODYsMS44MTctLjE2Mi0uMDksMS42NDktLjA2MS45NjloMS41NDZsLS4wNjEtMi42NTEuMjEzLjAzNC4wNi0xLjI2MmgtLjI0M2wtLjA5LS41MThMMTMuOCwyMS45bC4wNi0xLjcxM2guMzMzVjE5LjE0OWwtLjQyNC4wMzIuMDYxLTEuMjIuNDkzLS4wNDkuMDIzLS40LjI4LS4wNDEuMjg3LS4yMThMMTMuMTg3LDE2LjlsLTEuNzEyLjM3OS4xNjcuMjc0LjE4MS0uMDE1LjIxMS0uMDA4LjAzOS41LjQ3Ny0uMDIzLjAwOSwxLjA4Mi0yLjA1My0uMDQ3LjA2OS0xLjE1Ni4wNjctMS4wNTFWMTUuNDU1TDEwLjcsMTRsNC4xMTEtLjIxLDQuODkyLS4yODIuMDQ2LjkyOS0uMTc0LDIuMjMxTDE5LjUsMTguNzQ0bC0xLjgtLjAzMi0uMDA5LTEuNDU1LjY2Ny0uMDI0LjAzLS40MTEuMjczLS4wNDEtLjAxNC0uMDgxLjI3My0uMDE1LjE1MS0uMkwxNy4wMzQsMTYsMTUsMTYuNDRsLjE0NC4yNTEuMjI3LS4wMTd2LjExNGguMjh2LjQ2bC42LjAwOC0uMDA3LDEuMjc3aC0uNjA1bC0uMDA5LjI5MS4yMTMuMDI0LS4wMjMsMS4xMDguNDQ3LjAyNC0uMDUzLDQuMzktLjU5MS4xMi4wMDcuMjFoLjIwNnYxLjEyNGguMzRsLS4wOSwxLjUzNkwxNS45NzQsMjguN2wyLjE1MS4wNTYtLjA2OS0xLjE2NC0uMTU4LS45NjktLjAzMS0uODQxLDEuODI2LS4wMzItLjA1MywxLjMtLjAwOSwxLjM3NCwxLjAzMS4wODEsMS40LS4wNTYuNDQtLjEzLS4yNDMtLjczNi0uMDYtMS4xNTYtLjExNC0uODI0LDEuNzQyLS4wNjQtLjA3NiwxLjAxLS4wMDcsMS41ODUuNy4wNjQuNjktLjAxNS4zMzMtLjEwNS0uMi0xLjVMMjUuMiwyNS40NDVsLjMtLjAzMkwyNS41LDI0LjRsLjA4My0uMDE3LS4wMTQtLjIxOGgtLjM0MWwtLjA2OS0uNzQ0TDI1LjEzLDIwLjJsLjI1Ny0uMDA4VjE5LjEzM2wuMTA3LjAxN3YtLjIxbC0uMzgtLjAzNC4wMDktMS4yMjguNjM1LS4wNTYtLjAzNy0uNDEzLjI4LS4wMjQtLjAxNi0uMDgxLjM3MS0uMTg2LTEuODg2LS4zNzktMS45MTYuMzg5LjEyMS4yMjYuMy0uMDI0LjAxNi4xaC4yNWwuMDE0LjQ4NS42MjEtLjAwOC4wNTMsMS4xODgtMi4yLS4wMTctLjI1Ny0xLjc4Ni0uMjA2LS45NDYtLjE2Ni0xLjcuMS0uOTkzLDQuMzc3LS4zMzIuMDE0LTEuNDc5LjIyLS4wNTYtLjAxNC0uMjI1LS4xNjctLjFzLTIuMzkzLjM1NS0zLjE1MS40MzZsLS4zNzEuMDQtLjAyMy0uMjc0LS45MDUtLjQ3NC4wMTEtLjU1Mi4zMTEtLjAwOS4wMjMtLjc1OWEyNC44MDcsMjQuODA3LDAsMCwwLDIuNTQ0LS4yODNjLjY4OS0uMTYyLDEuNjY2LS4zMjMsMS42NjYtLjMyM0wyNi4yLDcuODA5bC45MTctLjI2Ny4wNzYtLjIxLDIuMDc0LS41NzQuMjM2LS4xOTQtLjc4OC0xLjcyMi4wNzYtLjM4OS40LS4yMS4yODgtLjg4MVpNMTkuMzc0LDkuOGwtLjAxMS42MjYuNDcuMDItLjAzLjU5NC0uOTIxLjYtLjA1Ny4xNzQuMzcxLDAsMCwuMTQ2LTIuODE0LjEzNy4wMTktLjQxNi4xMjgtLjIwNy4wMDktLjEzMywwLS4yODYuMDgtLjE5LjAzLS4xNTR2LS4xMWwuMTIxLS40ODVabS01Ljg4NS41MzMtLjA2OS40MjEuMjIuMjU5LS4wMTQuNDUzLjIuMzE1LS4wNTMuMzcyLjE1MS4yMTgtMi44NzEuMTEzLS4wMDctLjEuMzMzLS4wNDEuMDE2LS4xMjItLjcyNy0uMzk1LS4wMzktLjYzMS4zNDgtLjAxNy4wMy0uNjhabTQuMjQ5LDkuNywxLjc0Mi4xMTNMMTkuNDIsMjIuNWwuMjI3LDEuOTIzTDE3LjgsMjQuMzU0Wm0tMTEuNjYzLjEsMi43ODguMTQ1TDguNjIsMjEuOXYxLjM1OWwuMi43NTktMi43MjcuMTNabTE3Ljg0My4wMTV2NC4wMWwtMS43NzIuMTMtLjA2MS0yLjExOC0uMi0xLjk3M1pNMTAuNSwyMC4yNGwyLjA2LjAwOC4wMjEsMy43MThMMTAuNjU3LDI0bC0uMS0xLjIwNS0uMDA3LTEuMlpcIiBzdHlsZT1cInN0cm9rZTpyZWQ7c3Ryb2tlLXdpZHRoOjAuNXB4O2ZpbGw6dXJsKCNhKVwiLz5gLFxuXHRcIkRvY2tlclwiOiBgPHBhdGggZD1cIk0xNi41NCwxMi42NjNIMTkuNHYyLjkyNGgxLjQ0NmE2LjI3Miw2LjI3MiwwLDAsMCwxLjk4OC0uMzMzLDUuMDkxLDUuMDkxLDAsMCwwLC45NjYtLjQzNiwzLjU4NCwzLjU4NCwwLDAsMS0uNjctMS44NDksMy45MDcsMy45MDcsMCwwLDEsLjctMi43NTNsLjMtLjM0OC4zNTguMjg4YTQuNTU4LDQuNTU4LDAsMCwxLDEuNzk1LDIuODkyLDQuMzc1LDQuMzc1LDAsMCwxLDMuMzE5LjMwOWwuMzkzLjIyNi0uMjA3LjRhNC4xNDEsNC4xNDEsMCwwLDEtNC4xNTcsMS45ODNjLTIuNDgsNi4xNjgtNy44NzEsOS4wODgtMTQuNDA5LDkuMDg4LTMuMzc4LDAtNi40NzYtMS4yNjMtOC4yNDEtNC4yNTlsLS4wMjktLjA0OUwyLjcsMjAuMjI3YTguMzE2LDguMzE2LDAsMCwxLS42NTktNC4yMDhsLjA0LS40MzNINC41MjZWMTIuNjYzSDcuMzg3VjkuOGg1LjcyMVY2Ljk0MkgxNi41NHY1LjcyMVpcIiBzdHlsZT1cImZpbGw6IzAwOTZlNlwiLz48cGF0aCBkPVwiTTEyLjAwNiwyNC41NjdhNi4wMjIsNi4wMjIsMCwwLDEtMy4xNC0zLjA4OSwxMC4zMjksMTAuMzI5LDAsMCwxLTIuMjY0LjM0M3EtLjUuMDI4LTEuMDQ1LjAyOC0uNjMyLDAtMS4zMzEtLjAzN2E5LjA1MSw5LjA1MSwwLDAsMCw3LDIuNzY5UTExLjYxOCwyNC41ODEsMTIuMDA2LDI0LjU2N1pcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cGF0aCBkPVwiTTcuMDgsMTMuMzQ2aC4ydjIuMDY3aC0uMlptLS4zNzYsMGguMnYyLjA2N0g2LjdWMTMuMzQ2Wm0tLjM3NiwwaC4ydjIuMDY3aC0uMlptLS4zNzYsMGguMnYyLjA2N2gtLjJabS0uMzc2LDBoLjJ2Mi4wNjdoLS4yWm0tLjM2OCwwaC4ydjIuMDY3aC0uMlYxMy4zNDZaTTUsMTMuMTRINy40ODJ2Mi40NzlINVptMi44NTktMi44NjFoMi40OHYyLjQ3OUg3Ljg2M1ptMi4wNzcuMjA3aC4ydjIuMDY2aC0uMlptLS4zNzYsMGguMnYyLjA2NmgtLjJabS0uMzc2LDBoLjJ2Mi4wNjZoLS4yVjEwLjQ4NlptLS4zNzYsMGguMnYyLjA2NmgtLjJabS0uMzc2LDBoLjJ2Mi4wNjZoLS4yWm0tLjM2OCwwaC4ydjIuMDY2aC0uMlptLS4yMDcsMi42NTNoMi40OHYyLjQ4SDcuODYzVjEzLjE0Wm0yLjA3Ny4yMDdoLjJ2Mi4wNjdoLS4yWm0tLjM3NiwwaC4ydjIuMDY3aC0uMlptLS4zNzYsMGguMnYyLjA2N2gtLjJWMTMuMzQ2Wm0tLjM3NiwwaC4ydjIuMDY3aC0uMlptLS4zNzYsMGguMnYyLjA2N2gtLjJabS0uMzY4LDBoLjJ2Mi4wNjdoLS4yWm0yLjY1NC0uMjA3SDEzLjJ2Mi40OGgtMi40OFYxMy4xNFptMi4wNzYuMjA3SDEzdjIuMDY3aC0uMlptLS4zNzYsMGguMnYyLjA2N2gtLjJabS0uMzc2LDBoLjJ2Mi4wNjdoLS4yWm0tLjM3NiwwaC4ydjIuMDY3aC0uMlptLS4zNzYsMGguMnYyLjA2N2gtLjJabS0uMzY4LDBoLjJ2Mi4wNjdoLS4yWm0tLjIwNi0zLjA2N0gxMy4ydjIuNDc5aC0yLjQ4VjEwLjI3OVptMi4wNzYuMjA3SDEzdjIuMDY2aC0uMlptLS4zNzYsMGguMnYyLjA2NmgtLjJabS0uMzc2LDBoLjJ2Mi4wNjZoLS4yWm0tLjM3NiwwaC4ydjIuMDY2aC0uMlptLS4zNzYsMGguMnYyLjA2NmgtLjJabS0uMzY4LDBoLjJ2Mi4wNjZoLS4yWm0yLjY1NCwyLjY1M2gyLjQ3OXYyLjQ4aC0yLjQ4VjEzLjE0Wm0yLjA3Ni4yMDdoLjJ2Mi4wNjdoLS4yWm0tLjM3NiwwaC4ydjIuMDY3aC0uMlptLS4zNzYsMGguMnYyLjA2N2gtLjJabS0uMzc2LDBoLjJ2Mi4wNjdoLS4yWm0tLjM3NiwwaC4ydjIuMDY3aC0uMlptLS4zNjgsMGguMTkydjIuMDY3aC0uMlYxMy4zNDZabS0uMjA2LTMuMDY3aDIuNDc5djIuNDc5aC0yLjQ4VjEwLjI3OVptMi4wNzYuMjA3aC4ydjIuMDY2aC0uMlptLS4zNzYsMGguMnYyLjA2NmgtLjJabS0uMzc2LDBoLjJ2Mi4wNjZoLS4yWm0tLjM3NiwwaC4ydjIuMDY2aC0uMlptLS4zNzYsMGguMnYyLjA2NmgtLjJabS0uMzY4LDBoLjE5MnYyLjA2NmgtLjJWMTAuNDg2Wm0tLjIwNi0zLjA2N2gyLjQ3OVY5LjloLTIuNDhWNy40MTlabTIuMDc2LjIwNmguMlY5LjY5MWgtLjJabS0uMzc2LDBoLjJWOS42OTFoLS4yWm0tLjM3NiwwaC4yVjkuNjkxaC0uMlptLS4zNzYsMGguMlY5LjY5MWgtLjJabS0uMzc2LDBoLjJWOS42OTFoLS4yWm0tLjM2OCwwaC4xOTJWOS42OTFoLS4yVjcuNjI1Wm0yLjY1NCw1LjUxNGgyLjQ3OXYyLjQ4aC0yLjQ4VjEzLjE0Wm0yLjA3Ni4yMDdoLjE5NXYyLjA2N2gtLjJWMTMuMzQ2Wm0tLjM3NiwwaC4yMDZ2Mi4wNjdoLS4yMDZabS0uMzc2LDBoLjJ2Mi4wNjdoLS4yWm0tLjM3NiwwaC4ydjIuMDY3aC0uMlptLS4zNzYsMGguMnYyLjA2N2gtLjIwNVYxMy4zNDZabS0uMzY4LDBoLjJ2Mi4wNjdoLS4xOTRWMTMuMzQ2WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwYXRoIGQ9XCJNMTAuMTg4LDE5LjYzOGEuNjg0LjY4NCwwLDEsMS0uNjg0LjY4NEEuNjg0LjY4NCwwLDAsMSwxMC4xODgsMTkuNjM4Wm0wLC4xOTRhLjQ4OS40ODksMCwwLDEsLjE3Ny4wMzMuMi4yLDAsMSwwLC4yNzUuMjY5LjQ5LjQ5LDAsMSwxLS40NTMtLjNaXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+YCxcblx0XCJET1QgKEdyYXBodml6KVwiOiBgPHBvbHlnb24gcG9pbnRzPVwiMjMuOTQyIDMwIDEyLjY3OSAzMCAxLjQxNyAzMCAxLjQxNyAxNiAxLjQxNyAyIDEyLjY3OSAyIDIzLjk0MiAyIDIzLjk0MiAxNiAyMy45NDIgMzBcIiBzdHlsZT1cImZpbGw6I2U2ZTZlNlwiLz48cmVjdCB4PVwiMi4xMzJcIiB5PVwiMy4yMDJcIiB3aWR0aD1cIjIxLjEzNVwiIGhlaWdodD1cIjAuMjY0XCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjIuMTMyXCIgeT1cIjcuNDJcIiB3aWR0aD1cIjIxLjEzNVwiIGhlaWdodD1cIjAuMjY0XCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjIuMTMyXCIgeT1cIjExLjYzOFwiIHdpZHRoPVwiMjEuMTM1XCIgaGVpZ2h0PVwiMC4yNjRcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48cmVjdCB4PVwiMi4xMzJcIiB5PVwiMTUuODU2XCIgd2lkdGg9XCIyMS4xMzVcIiBoZWlnaHQ9XCIwLjI2NFwiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCIyLjEzMlwiIHk9XCIyMC4wNzRcIiB3aWR0aD1cIjIxLjEzNVwiIGhlaWdodD1cIjAuMjY0XCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjIuMTMyXCIgeT1cIjI0LjI5M1wiIHdpZHRoPVwiMjEuMTM1XCIgaGVpZ2h0PVwiMC4yNjRcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48cmVjdCB4PVwiMi4xMzJcIiB5PVwiMjguNTExXCIgd2lkdGg9XCIyMS4xMzVcIiBoZWlnaHQ9XCIwLjI2NFwiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCIyXCIgeT1cIjMuMjAyXCIgd2lkdGg9XCIwLjI2NFwiIGhlaWdodD1cIjI1LjU3M1wiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCI2LjIxOFwiIHk9XCIzLjMzM1wiIHdpZHRoPVwiMC4yNjRcIiBoZWlnaHQ9XCIyNS4zMzFcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48cmVjdCB4PVwiMTAuNDM2XCIgeT1cIjMuMzMzXCIgd2lkdGg9XCIwLjI2NFwiIGhlaWdodD1cIjI1LjMzMVwiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCIxNC42NTVcIiB5PVwiMy4zMzNcIiB3aWR0aD1cIjAuMjY0XCIgaGVpZ2h0PVwiMjUuMzMxXCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjE4Ljg3M1wiIHk9XCIzLjMzM1wiIHdpZHRoPVwiMC4yNjRcIiBoZWlnaHQ9XCIyNS4zMzFcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48cmVjdCB4PVwiMjMuMDkxXCIgeT1cIjMuMjAyXCIgd2lkdGg9XCIwLjI2NFwiIGhlaWdodD1cIjI1LjU3M1wiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxnIHN0eWxlPVwib3BhY2l0eTowLjVcIj48cmVjdCB4PVwiMi4xMzJcIiB5PVwiMjcuNDU2XCIgd2lkdGg9XCIyMS4xMzVcIiBoZWlnaHQ9XCIwLjI2NFwiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCIyLjEzMlwiIHk9XCIyNi40MDJcIiB3aWR0aD1cIjIxLjEzNVwiIGhlaWdodD1cIjAuMjY0XCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjIuMTMyXCIgeT1cIjI1LjM0N1wiIHdpZHRoPVwiMjEuMTM1XCIgaGVpZ2h0PVwiMC4yNjRcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48cmVjdCB4PVwiMi4xMzJcIiB5PVwiMjMuMjM4XCIgd2lkdGg9XCIyMS4xMzVcIiBoZWlnaHQ9XCIwLjI2NFwiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCIyLjEzMlwiIHk9XCIyMi4xODRcIiB3aWR0aD1cIjIxLjEzNVwiIGhlaWdodD1cIjAuMjY0XCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjIuMTMyXCIgeT1cIjIxLjEyOVwiIHdpZHRoPVwiMjEuMTM1XCIgaGVpZ2h0PVwiMC4yNjRcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48cmVjdCB4PVwiMi4xMzJcIiB5PVwiMTkuMDJcIiB3aWR0aD1cIjIxLjEzNVwiIGhlaWdodD1cIjAuMjY0XCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjIuMTMyXCIgeT1cIjE3Ljk2NVwiIHdpZHRoPVwiMjEuMTM1XCIgaGVpZ2h0PVwiMC4yNjRcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48cmVjdCB4PVwiMi4xMzJcIiB5PVwiMTYuOTExXCIgd2lkdGg9XCIyMS4xMzVcIiBoZWlnaHQ9XCIwLjI2NFwiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCIyLjEzMlwiIHk9XCIxNC44MDJcIiB3aWR0aD1cIjIxLjEzNVwiIGhlaWdodD1cIjAuMjY0XCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjIuMTMyXCIgeT1cIjEzLjc0N1wiIHdpZHRoPVwiMjEuMTM1XCIgaGVpZ2h0PVwiMC4yNjRcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48cmVjdCB4PVwiMi4xMzJcIiB5PVwiMTIuNjkzXCIgd2lkdGg9XCIyMS4xMzVcIiBoZWlnaHQ9XCIwLjI2NFwiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCIyLjEzMlwiIHk9XCIxMC41ODNcIiB3aWR0aD1cIjIxLjEzNVwiIGhlaWdodD1cIjAuMjY0XCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjIuMTMyXCIgeT1cIjkuNTI5XCIgd2lkdGg9XCIyMS4xMzVcIiBoZWlnaHQ9XCIwLjI2NFwiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCIyLjEzMlwiIHk9XCI4LjQ3NFwiIHdpZHRoPVwiMjEuMTM1XCIgaGVpZ2h0PVwiMC4yNjRcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48cmVjdCB4PVwiMi4xMzJcIiB5PVwiNi4zNjVcIiB3aWR0aD1cIjIxLjEzNVwiIGhlaWdodD1cIjAuMjY0XCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjIuMTMyXCIgeT1cIjUuMzExXCIgd2lkdGg9XCIyMS4xMzVcIiBoZWlnaHQ9XCIwLjI2NFwiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCIyLjEzMlwiIHk9XCI0LjI1NlwiIHdpZHRoPVwiMjEuMTM1XCIgaGVpZ2h0PVwiMC4yNjRcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48L2c+PGcgc3R5bGU9XCJvcGFjaXR5OjAuNVwiPjxyZWN0IHg9XCIyMi4wMzZcIiB5PVwiMy4zMzNcIiB3aWR0aD1cIjAuMjY0XCIgaGVpZ2h0PVwiMjUuMzMxXCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjIwLjk4MlwiIHk9XCIzLjMzM1wiIHdpZHRoPVwiMC4yNjRcIiBoZWlnaHQ9XCIyNS4zMzFcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48cmVjdCB4PVwiMTkuOTI3XCIgeT1cIjMuMzMzXCIgd2lkdGg9XCIwLjI2NFwiIGhlaWdodD1cIjI1LjMzMVwiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCIxNy44MThcIiB5PVwiMy4zMzNcIiB3aWR0aD1cIjAuMjY0XCIgaGVpZ2h0PVwiMjUuMzMxXCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjE2Ljc2NFwiIHk9XCIzLjMzM1wiIHdpZHRoPVwiMC4yNjRcIiBoZWlnaHQ9XCIyNS4zMzFcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48cmVjdCB4PVwiMTUuNzA5XCIgeT1cIjMuMzMzXCIgd2lkdGg9XCIwLjI2NFwiIGhlaWdodD1cIjI1LjMzMVwiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCIxMy42XCIgeT1cIjMuMzMzXCIgd2lkdGg9XCIwLjI2NFwiIGhlaWdodD1cIjI1LjMzMVwiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCIxMi41NDVcIiB5PVwiMy4zMzNcIiB3aWR0aD1cIjAuMjY0XCIgaGVpZ2h0PVwiMjUuMzMxXCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjExLjQ5MVwiIHk9XCIzLjMzM1wiIHdpZHRoPVwiMC4yNjRcIiBoZWlnaHQ9XCIyNS4zMzFcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48cmVjdCB4PVwiOS4zODJcIiB5PVwiMy4zMzNcIiB3aWR0aD1cIjAuMjY0XCIgaGVpZ2h0PVwiMjUuMzMxXCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjguMzI3XCIgeT1cIjMuMzMzXCIgd2lkdGg9XCIwLjI2NFwiIGhlaWdodD1cIjI1LjMzMVwiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCI3LjI3M1wiIHk9XCIzLjMzM1wiIHdpZHRoPVwiMC4yNjRcIiBoZWlnaHQ9XCIyNS4zMzFcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48cmVjdCB4PVwiNS4xNjRcIiB5PVwiMy4zMzNcIiB3aWR0aD1cIjAuMjY0XCIgaGVpZ2h0PVwiMjUuMzMxXCIgc3R5bGU9XCJmaWxsOiM0ZWQxZjhcIi8+PHJlY3QgeD1cIjQuMTA5XCIgeT1cIjMuMzMzXCIgd2lkdGg9XCIwLjI2NFwiIGhlaWdodD1cIjI1LjMzMVwiIHN0eWxlPVwiZmlsbDojNGVkMWY4XCIvPjxyZWN0IHg9XCIzLjA1NVwiIHk9XCIzLjMzM1wiIHdpZHRoPVwiMC4yNjRcIiBoZWlnaHQ9XCIyNS4zMzFcIiBzdHlsZT1cImZpbGw6IzRlZDFmOFwiLz48L2c+PHBhdGggZD1cIk0xMyw4Ljk3NmMtMi4zMDgsMC00LjEzMS0xLjI3NC00LjE5My0yLjk2OWgwYTIuNzc1LDIuNzc1LDAsMCwxLDEuMjUzLTIuMzIsNS4zLDUuMywwLDAsMSwyLjk0My0uOTYzLDUuMjk0LDUuMjk0LDAsMCwxLDMuMDA2Ljc0MywyLjc3NSwyLjc3NSwwLDAsMSwxLjQyMSwyLjIyMWMuMDY1LDEuNzUyLTEuNzc5LDMuMTk0LTQuMiwzLjI4M0MxMy4xNTgsOC45NzQsMTMuMDgsOC45NzYsMTMsOC45NzZabS4yMzItNS4ycS0uMDk1LDAtLjE5LDBhNC4yMzgsNC4yMzgsMCwwLDAtMi4zNTQuNzU2LDEuNzYxLDEuNzYxLDAsMCwwLS44MjgsMS40MzVDOS45LDcuMDksMTEuNDI4LDcuOTc4LDEzLjIsNy45MTdzMy4yMjMtMS4wNjksMy4xODEtMi4xOTFhMS43NjEsMS43NjEsMCwwLDAtLjkzMi0xLjM2OUE0LjE2NSw0LjE2NSwwLDAsMCwxMy4yMzQsMy43NzNaXCIgc3R5bGU9XCJmaWxsOiM2NTY1NjVcIi8+PHBhdGggZD1cIk02LjQsMjkuMjgxQTUuMjM4LDUuMjM4LDAsMCwxLDMuNiwyOC41MTlhMi43NzUsMi43NzUsMCwwLDEtMS40MS0yLjIyOWMtLjA1Ni0xLjc1MiwxLjgtMy4xODUsNC4yMTMtMy4yNjJzNC4zNTYsMS4yMzYsNC40MTIsMi45ODhBMi43NzUsMi43NzUsMCwwLDEsOS41NDgsMjguMzNhNS4zLDUuMywwLDAsMS0yLjk0OC45NDhRNi41LDI5LjI4MSw2LjQsMjkuMjgxWm0uMTg2LTUuMi0uMTU2LDBjLTEuNzY2LjA1Ni0zLjIyOSwxLjA1Mi0zLjE5MywyLjE3NGExLjc2MSwxLjc2MSwwLDAsMCwuOTI0LDEuMzc0LDQuMjM1LDQuMjM1LDAsMCwwLDIuNC41OTMsNC4yMzUsNC4yMzUsMCwwLDAsMi4zNTctLjc0NCwxLjc2MSwxLjc2MSwwLDAsMCwuODM1LTEuNDNDOS43MjQsMjQuOTYxLDguMjksMjQuMDgsNi41OTEsMjQuMDhaXCIgc3R5bGU9XCJmaWxsOiM2NTY1NjVcIi8+PHBhdGggZD1cIk0xOS4yNjEsMjkuMjZhNS4yMzgsNS4yMzgsMCwwLDEtMi44MDctLjc2MiwyLjc3NSwyLjc3NSwwLDAsMS0xLjQxLTIuMjI5aDBjLS4wNTUtMS43NTIsMS44LTMuMTg1LDQuMjEzLTMuMjYyYTUuMyw1LjMsMCwwLDEsMywuNzU5QTIuNiwyLjYsMCwwLDEsMjIuNCwyOC4zMWE1LjMsNS4zLDAsMCwxLTIuOTQ4Ljk0OFExOS4zNTgsMjkuMjYsMTkuMjYxLDI5LjI2Wk0xNi4xLDI2LjIzNmExLjc2MSwxLjc2MSwwLDAsMCwuOTI0LDEuMzc0LDQuNTcsNC41NywwLDAsMCw0Ljc1Ny0uMTUxLDEuNTU4LDEuNTU4LDAsMCwwLS4wODktMi44LDQuMjI2LDQuMjI2LDAsMCwwLTIuNC0uNTkzYy0xLjc2Ni4wNTYtMy4yMjgsMS4wNTItMy4xOTMsMi4xNzRaXCIgc3R5bGU9XCJmaWxsOiM2NTY1NjVcIi8+PHBhdGggZD1cIk02LjIsMjMuNDc3QTI3LjQsMjcuNCwwLDAsMSw5Ljc2OSw4Ljk4NmwuNjg3LjM5MUEyNi42MDksMjYuNjA5LDAsMCwwLDYuOTg2LDIzLjQ1WlwiIHN0eWxlPVwiZmlsbDojNjU2NTY1XCIvPjxwYXRoIGQ9XCJNMTAuODUzLDcuOTU3YTcuMTcxLDcuMTcxLDAsMCwwLS4wNzUsMi4zMmwtLjc1OC0uOTMtMS4xNzgtLjIzQTcuMTY1LDcuMTY1LDAsMCwwLDEwLjg1Myw3Ljk1N1pcIiBzdHlsZT1cImZpbGw6IzY1NjU2NVwiLz48cGF0aCBkPVwiTTE5Ljg1NCwyMy40NzdsLS43OS0uMDI3YTI2LjU5LDI2LjU5LDAsMCwwLS45MTUtNy44ODQsMjYuNjI0LDI2LjYyNCwwLDAsMC0yLjU1NC02LjE4OWwuNjg3LS4zOTFhMjcuNDIzLDI3LjQyMywwLDAsMSwyLjYzLDYuMzczQTI3LjM3MiwyNy4zNzIsMCwwLDEsMTkuODU0LDIzLjQ3N1pcIiBzdHlsZT1cImZpbGw6IzY1NjU2NVwiLz48cGF0aCBkPVwiTTE1LjIsNy45NTdhNy4xNzEsNy4xNzEsMCwwLDAsMi4wMTEsMS4xNTlsLTEuMTc4LjIzLS43NTguOTNBNy4xNjUsNy4xNjUsMCwwLDAsMTUuMiw3Ljk1N1pcIiBzdHlsZT1cImZpbGw6IzY1NjU2NVwiLz48cmVjdCB4PVwiMTEuMzQ4XCIgeT1cIjkuOTQ1XCIgd2lkdGg9XCIzLjUxNVwiIGhlaWdodD1cIjAuNzkxXCIgdHJhbnNmb3JtPVwibWF0cml4KDAuMDE2LCAtMSwgMSwgMC4wMTYsIDIuNTU3LCAyMy4yNzkpXCIgc3R5bGU9XCJmaWxsOiM2NTY1NjVcIi8+PHBhdGggZD1cIk0xMy4wNTQsMTMuNTI5YTcuMTcxLDcuMTcxLDAsMCwwLTEuMS0yLjA0NmwxLjEyMi40MjYsMS4xMzUtLjM5QTcuMTY1LDcuMTY1LDAsMCwwLDEzLjA1NCwxMy41MjlaXCIgc3R5bGU9XCJmaWxsOiM2NTY1NjVcIi8+PHJlY3QgeD1cIjcuODA5XCIgeT1cIjIwLjA4MVwiIHdpZHRoPVwiNC43NTdcIiBoZWlnaHQ9XCIwLjc5MVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTIuNTYgMTguMTA4KSByb3RhdGUoLTU3LjYwMylcIiBzdHlsZT1cImZpbGw6IzY1NjU2NVwiLz48cGF0aCBkPVwiTTguMTQ3LDIzLjY5NGE3LjE3MSw3LjE3MSwwLDAsMCwuMTMzLTIuMzE3bC43MzQuOTQ5LDEuMTcxLjI2QTcuMTY1LDcuMTY1LDAsMCwwLDguMTQ3LDIzLjY5NFpcIiBzdHlsZT1cImZpbGw6IzY1NjU2NVwiLz48cmVjdCB4PVwiMTUuNDE4XCIgeT1cIjE4LjA1MVwiIHdpZHRoPVwiMC43OTFcIiBoZWlnaHQ9XCI0LjkxOVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtOC4yNTcgMTAuOTUxKSByb3RhdGUoLTMwLjcwOClcIiBzdHlsZT1cImZpbGw6IzY1NjU2NVwiLz48cGF0aCBkPVwiTTE3LjgsMjMuODU2YTcuMTcxLDcuMTcxLDAsMCwwLTIuMDA2LTEuMTY4bDEuMTc5LS4yMjUuNzYyLS45MjdBNy4xNjUsNy4xNjUsMCwwLDAsMTcuOCwyMy44NTZaXCIgc3R5bGU9XCJmaWxsOiM2NTY1NjVcIi8+PHBhdGggZD1cIk0xMy4wMjQsMTkuMTI1YTUuMjM4LDUuMjM4LDAsMCwxLTIuODA3LS43NjIsMi43NzUsMi43NzUsMCwwLDEtMS40MS0yLjIyOSwyLjc3NSwyLjc3NSwwLDAsMSwxLjI2Ni0yLjMxNCw1LjMsNS4zLDAsMCwxLDIuOTQ4LS45NDgsNi43MTIsNi43MTIsMCwwLDEsMi4xMzQuMzEzbC0uMzMxLDFhNS42NjgsNS42NjgsMCwwLDAtMS43NjktLjI2MSw0LjIzOCw0LjIzOCwwLDAsMC0yLjM1OC43NDQsMS43NjEsMS43NjEsMCwwLDAtLjgzNSwxLjQzLDEuNzYxLDEuNzYxLDAsMCwwLC45MjQsMS4zNzQsNC4yNDIsNC4yNDIsMCwwLDAsMi40LjU5Myw1LjcsNS43LDAsMCwwLDEuNjc4LS4zNzhsLjM3OC45ODVhNi44NDQsNi44NDQsMCwwLDEtMi4wMjIuNDQ4UTEzLjEyMSwxOS4xMjUsMTMuMDI0LDE5LjEyNVpcIiBzdHlsZT1cImZpbGw6IzY1NjU2NVwiLz48cGF0aCBkPVwiTTE1LjQzNSwxMi44NzZhNC4zMzgsNC4zMzgsMCwwLDAtLjk4NCwxLjYyMiwyLjA2NCwyLjA2NCwwLDAsMS0uMDE2LDIuODA2LDQuNCw0LjQsMCwwLDAsLjk4MiwxLjYsMy45MzIsMy45MzIsMCwwLDAsLjA3OC01Ljk4NkMxNS40NzYsMTIuOSwxNS40NTQsMTIuODkzLDE1LjQzNSwxMi44NzZaXCIgc3R5bGU9XCJmaWxsOiM2NTY1NjVcIi8+PHBhdGggZD1cIk0xOS41MjUsMTUuMjc4YTI3LjkzMSwyNy45MzEsMCwwLDAtMS4yNjMtMy43NDIsNC4zNzYsNC4zNzYsMCwwLDAtMS43NzcuNTE3LDI2LjA2MywyNi4wNjMsMCwwLDEsMS4yNTMsMy42ODUsMjYuMDM4LDI2LjAzOCwwLDAsMSwuNzM0LDQuNTM0LDQuMzQ3LDQuMzQ3LDAsMCwwLDEuODI1LS4zNTFBMjcuOSwyNy45LDAsMCwwLDE5LjUyNSwxNS4yNzhaXCIgc3R5bGU9XCJmaWxsOiM2NTY1NjVcIi8+PHBhdGggZD1cIk0xNi4xNTMsMTIuMjI5QTQuNDM3LDQuNDM3LDAsMSwwLDIyLjMsMTMuNSw0LjQzNyw0LjQzNywwLDAsMCwxNi4xNTMsMTIuMjI5Wm00LjgxMiw3LjMzMmE0LjM0Niw0LjM0NiwwLDEsMSwxLjI0OS02LjAxOEE0LjM0Niw0LjM0NiwwLDAsMSwyMC45NjUsMTkuNTYxWlwiIHN0eWxlPVwiZmlsbDojMmMyOTI4XCIvPjxwYXRoIGQ9XCJNMjIuMDE1LDE5LjE4NmEuODIyLjgyMiwwLDAsMC0uMTkyLS4yMDksNC4zNDcsNC4zNDcsMCwwLDEtLjMzMy4zMTksNC41MjIsNC41MjIsMCwwLDEtLjQ0Ni4zMzcsNC43Myw0LjczLDAsMCwxLS45NC40NzcuNjY5LjY2OSwwLDAsMCwuMDMxLjEuNjQuNjQsMCwwLDAsLjA0Ny4wOTRsLjQ4Ny44TDIyLjUsMTkuOTg0WlwiIHN0eWxlPVwiZmlsbDojMjgyODI4XCIvPjxyZWN0IHg9XCIyMC43OTNcIiB5PVwiMjAuNzg0XCIgd2lkdGg9XCIyLjE0N1wiIGhlaWdodD1cIjAuNDRcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTcuNzQgMTQuNDY1KSByb3RhdGUoLTMxLjM5NClcIiBzdHlsZT1cImZpbGw6IzI4MjgyOFwiLz48cmVjdCB4PVwiMjIuODY4XCIgeT1cIjIwLjk2XCIgd2lkdGg9XCIyLjE0N1wiIGhlaWdodD1cIjYuODg3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC05LjIwNyAxNi4wNDQpIHJvdGF0ZSgtMzEuMzk0KVwiIHN0eWxlPVwiZmlsbDojMjgyODI4XCIvPjxwYXRoIGQ9XCJNMjcuMDU0LDI3LjQ0M2wtLjIzNi0uMzg3LTEuODMzLDEuMTE5LjIzNi4zODdhLjkyNC45MjQsMCwwLDAsMS4yNzkuMTU5bC4xMS0uMDY3QS45MjQuOTI0LDAsMCwwLDI3LjA1NCwyNy40NDNaXCIgc3R5bGU9XCJmaWxsOiMyODI4MjhcIi8+PHBhdGggZD1cIk0yMC42OCwxNC44NDVhLjMxNS4zMTUsMCwwLDEsLjMzOC4wMjcsMS4wNzgsMS4wNzgsMCwwLDEsLjI5NC41NzgsMS4xLDEuMSwwLDAsMSwuMDI5LjY1NC4zMjcuMzI3LDAsMCwxLS4yNzguMi40NjguNDY4LDAsMCwxLS4zNy0uMS45MjIuOTIyLDAsMCwxLS4yNjItLjUuOTU1Ljk1NSwwLDAsMS0uMDEtLjU4NUEuNDY2LjQ2NiwwLDAsMSwyMC42OCwxNC44NDVabS4wNi4yMjdhLjE0OS4xNDksMCwwLDAtLjA3NC4wNjMuMjQ3LjI0NywwLDAsMC0uMDI3LjEzMiwxLjYyNiwxLjYyNiwwLDAsMCwuMDY0LjM1NSwxLjU5MiwxLjU5MiwwLDAsMCwuMTEyLjMyOS4yNjguMjY4LDAsMCwwLC4wOTQuMTEuMTQyLjE0MiwwLDAsMCwuMDk0LjAxNS4xMjEuMTIxLDAsMCwwLC4wNzgtLjA0OC4yMTEuMjExLDAsMCwwLC4wMjgtLjEyOCwyLjY0MywyLjY0MywwLDAsMC0uMTg2LS43MjIuMjM1LjIzNSwwLDAsMC0uMDkzLS4xMDdBLjExNi4xMTYsMCwwLDAsMjAuNzM5LDE1LjA3MlpcIiBzdHlsZT1cImZpbGw6IzAwZmY4MFwiLz48cGF0aCBkPVwiTTIxLjY5NCwxNC40YS4zLjMsMCwwLDEsLjM0Ni4wNTcsMS40OTMsMS40OTMsMCwwLDEsLjMyNS43LDEuNTIxLDEuNTIxLDAsMCwxLC4wNi43NzEuMzEuMzEsMCwwLDEtLjI3LjIyOC40NDYuNDQ2LDAsMCwxLS4zNzktLjEzNywxLjMxLDEuMzEsMCwwLDEtLjI5Mi0uNjE3LDEuMzQxLDEuMzQxLDAsMCwxLS4wNDEtLjdBLjQ0MS40NDEsMCwwLDEsMjEuNjk0LDE0LjRabS4wNzIuMjczYS4xMzYuMTM2LDAsMCwwLS4wNzIuMDY5LjMxNS4zMTUsMCwwLDAtLjAyMS4xNTUsMi4zNTEsMi4zNTEsMCwwLDAsLjA4NC40MjcsMi4zMSwyLjMxLDAsMCwwLC4xMzEuNC4zNDcuMzQ3LDAsMCwwLC4xLjEzNS4xMy4xMywwLDAsMCwuMS4wMjEuMTEuMTEsMCwwLDAsLjA3Ni0uMDU0LjI3NS4yNzUsMCwwLDAsLjAyMi0uMTUsMy43NzMsMy43NzMsMCwwLDAtLjIyNC0uODYyLjMxMS4zMTEsMCwwLDAtLjEtLjEzMkEuMS4xLDAsMCwwLDIxLjc2NiwxNC42NzRaXCIgc3R5bGU9XCJmaWxsOiMwMGZmODBcIi8+PHBhdGggZD1cIk0yMy40NzIsMTUuOTM0bC0uMjY5LjAzOC0uMzc5LTEuNDM5YS45NTUuOTU1LDAsMCwxLS4yNTcuMzkybC0uMDg3LS4zMzFhLjg0MS44NDEsMCwwLDAsLjE2OS0uMjYuODc0Ljg3NCwwLDAsMCwuMDc1LS4zODNsLjItLjA4OVpcIiBzdHlsZT1cImZpbGw6IzAwZmY4MFwiLz48cGF0aCBkPVwiTTI0LjQ1NSwxNS43OTRsLS4yNjkuMDM4LS40MjktMS42MjVhMSwxLDAsMCwxLS4yNDcuNDI5bC0uMS0uMzc2YS44NzQuODc0LDAsMCwwLC4xNjItLjI4NCwxLjAyOCwxLjAyOCwwLDAsMCwuMDY0LS40MjRsLjItLjA4OVpcIiBzdHlsZT1cImZpbGw6IzAwZmY4MFwiLz48cGF0aCBkPVwiTTI0LjYzNiwxMy4xMTdjLjEyNy0uMDU1LjI0OS0uMDA4LjM2OS4xNDRhMy4xMSwzLjExLDAsMCwxLC40MTYsMS4wMzQsMy4xNDMsMy4xNDMsMCwwLDEsLjE1MSwxLjExYy0uMDI5LjE5LS4xMTEuMjk0LS4yNDcuMzEycy0uMjcyLS4wNTktLjQtLjIzMWEyLjg1NSwyLjg1NSwwLDAsMS0uMzgxLS45NSwyLjg3MSwyLjg3MSwwLDAsMS0uMTMyLTEuMDM5QS40MzcuNDM3LDAsMCwxLDI0LjYzNiwxMy4xMTdabS4xMDcuNGEuMTI0LjEyNCwwLDAsMC0uMDY3LjA4OC41ODQuNTg0LDAsMCwwLDAsLjIyMSw1LjIxOCw1LjIxOCwwLDAsMCwuMTM5LjYzNSw1LjE1Myw1LjE1MywwLDAsMCwuMTg0LjYuNjYuNjYsMCwwLDAsLjEyLjIwOC4xMTguMTE4LDAsMCwwLC4xLjA0LjEuMSwwLDAsMCwuMDcxLS4wNzIuNTI4LjUyOCwwLDAsMCwwLS4yMTYsNS40NDIsNS40NDIsMCwwLDAtLjE0NC0uNjUzLDUuNDQ3LDUuNDQ3LDAsMCwwLS4xODktLjYxOS42MTIuNjEyLDAsMCwwLS4xMTktLjIwNUEuMDkzLjA5MywwLDAsMCwyNC43NDMsMTMuNTIyWlwiIHN0eWxlPVwiZmlsbDojMDBmZjgwXCIvPjxwYXRoIGQ9XCJNMjYuNjM4LDE1LjQ4OGwtLjI2OS4wMzgtLjU0LTIuMDM5QTEuMTUxLDEuMTUxLDAsMCwxLDI1LjYsMTRsLS4xMjYtLjQ3NWEuOTkuOTksMCwwLDAsLjE0OC0uMzM3LDEuNDM2LDEuNDM2LDAsMCwwLC4wMzktLjUxNWwuMi0uMDg4WlwiIHN0eWxlPVwiZmlsbDojMDBmZjgwXCIvPjxwYXRoIGQ9XCJNMjYuNjY2LDEyLjIzNmMuMTI3LS4wNTUuMjU1LjAxMi4zODUuMmE0LjU4NCw0LjU4NCwwLDAsMSwuNDc4LDEuMjY4LDQuNjIsNC42MiwwLDAsMSwuMjEzLDEuMzQzYy0uMDE4LjIyOS0uMS4zNTItLjIzMi4zN3MtLjI3OC0uMDgxLS40MjEtLjNhNC4yODQsNC4yODQsMCwwLDEtLjQ0My0xLjE3OSw0LjI4Myw0LjI4MywwLDAsMS0uMTk0LTEuMjcyQzI2LjQ2OCwxMi40MzgsMjYuNTM5LDEyLjI5MSwyNi42NjYsMTIuMjM2Wm0uMTMxLjVxLS4wNDYuMDE4LS4wNjQuMWEuODI5LjgyOSwwLDAsMCwuMDA5LjI2Niw3Ljg1Niw3Ljg1NiwwLDAsMCwuMTc4Ljc3OXEuMTQzLjU0MS4yMjEuNzM4YS45NDcuOTQ3LDAsMCwwLC4xMzQuMjU4LjExOS4xMTksMCwwLDAsLjEuMDUycS4wNDgtLjAwOS4wNjgtLjA4NWEuNzYyLjc2MiwwLDAsMC0uMDA4LS4yNjIsOC4xMTcsOC4xMTcsMCwwLDAtLjE4Mi0uOHEtLjE0OC0uNTU3LS4yMjctLjc1N2EuODkyLjg5MiwwLDAsMC0uMTMzLS4yNTZRMjYuODQzLDEyLjcxNCwyNi44LDEyLjczMlpcIiBzdHlsZT1cImZpbGw6IzAwZmY4MFwiLz48cGF0aCBkPVwiTTI3LjY4MSwxMS44Yy4xMjctLjA1NS4yNTcuMDIzLjM5My4yMzRhNS40MzEsNS40MzEsMCwwLDEsLjUwOSwxLjM4NSw1LjQ2Nyw1LjQ2NywwLDAsMSwuMjQ0LDEuNDZjLS4wMTMuMjQ5LS4wODguMzgxLS4yMjQuNHMtLjI4MS0uMDkyLS40My0uMzI4YTUuMTEsNS4xMSwwLDAsMS0uNDczLTEuMjk0LDUuMSw1LjEsMCwwLDEtLjIyNS0xLjM4OEMyNy40ODYsMTIuMDA4LDI3LjU1NSwxMS44NTEsMjcuNjgxLDExLjhabS4xNDQuNTQycS0uMDQ2LjAxOC0uMDYyLjEwNmEuOTcuOTcsMCwwLDAsLjAxNS4yODlxLjA0LjI1OS4yLjg1MXQuMjQuODA3YTEuMTEyLDEuMTEyLDAsMCwwLC4xNC4yODRxLjA1Ny4wNjcuMTA2LjA1OXQuMDY2LS4wOTFhLjkuOSwwLDAsMC0uMDE0LS4yODRxLS4wNC0uMjYtLjItLjg2N3QtLjI0NS0uODI3YTEuMDUzLDEuMDUzLDAsMCwwLS4xNC0uMjgxUTI3Ljg3MSwxMi4zMiwyNy44MjUsMTIuMzM4WlwiIHN0eWxlPVwiZmlsbDojMDBmZjgwXCIvPjxwYXRoIGQ9XCJNMjkuOTE1LDE1LjAzNGwtLjI3LjAzNy0uNzA2LTIuNjYxYTEuNDc4LDEuNDc4LDAsMCwxLS4xOTIuNjM2bC0uMTY2LS42MjVBMS4yNDgsMS4yNDgsMCwwLDAsMjguNzA4LDEyYTIuMjE0LDIuMjE0LDAsMCwwLDAtLjY1M2wuMi0uMDg4WlwiIHN0eWxlPVwiZmlsbDojMDBmZjgwXCIvPjxwYXRoIGQ9XCJNMjkuNzEyLDEwLjkyMWMuMTI3LS4wNTQuMjYzLjA0My40MDkuMjk0YTcuMzQ1LDcuMzQ1LDAsMCwxLC41NzIsMS42MTlBNy4zODIsNy4zODIsMCwwLDEsMzEsMTQuNTI3YzAsLjI4OC0uMDcyLjQ0LS4yMDkuNDU4cy0uMjg2LS4xMTQtLjQ0Ny0uMzkzYTYuOTg0LDYuOTg0LDAsMCwxLS41MzUtMS41MjQsNi45NDQsNi45NDQsMCwwLDEtLjI4Ny0xLjYyMUMyOS41MjMsMTEuMTUxLDI5LjU4NiwxMC45NzUsMjkuNzEyLDEwLjkyMVptLjE2OC42MzNxLS4wNDYuMDE4LS4wNTkuMTE5YTEuMjg3LDEuMjg3LDAsMCwwLC4wMjcuMzM0cS4wNTEuMy4yMzUuOTk0dC4yNzcuOTQ2YTEuNDg0LDEuNDg0LDAsMCwwLC4xNTQuMzM0cS4wNi4wOC4xMDkuMDcxdC4wNjMtLjFhMS4yLDEuMiwwLDAsMC0uMDI2LS4zM3EtLjA1MS0uMy0uMjM5LTEuMDExdC0uMjgyLS45NjVhMS40MiwxLjQyLDAsMCwwLS4xNTMtLjMzMlEyOS45MjYsMTEuNTM2LDI5Ljg4LDExLjU1M1pcIiBzdHlsZT1cImZpbGw6IzAwZmY4MFwiLz48cGF0aCBkPVwiTTIxLjE2NywxNi4zNjJhLjQyMi40MjIsMCwwLDEsLjMxOC4xODUsMS4wMDUsMS4wMDUsMCwwLDEtLjI3NywxLjAzLjQyLjQyLDAsMCwxLS4zNjYsMCwuNTkuNTksMCwwLDEtLjMxMS0uMjYxLjgwOC44MDgsMCwwLDEsLjI1NC0uODkzQS41NjEuNTYxLDAsMCwxLDIxLjE2NywxNi4zNjJabS0uMDUxLjE4OWEuMTc1LjE3NSwwLDAsMC0uMTkyLjA4NywxLjQ4NywxLjQ4NywwLDAsMC0uMTU1LjU2Ny4yMTYuMjE2LDAsMCwwLC4wMzkuMTI0LjE5MS4xOTEsMCwwLDAsLjA4NC4wNTguMTQ1LjE0NSwwLDAsMCwuMTg4LS4wNjksMS42NjYsMS42NjYsMCwwLDAsLjE2NC0uNi4xODkuMTg5LDAsMCwwLS4wNC0uMTIxQS4xNjMuMTYzLDAsMCwwLDIxLjExNywxNi41NTFaXCIgc3R5bGU9XCJmaWxsOiMwMGZmODBcIi8+PHBhdGggZD1cIk0yMi4zNzYsMTYuNTQ4YS4zODIuMzgyLDAsMCwxLC4zMTEuMjEyLDEuMDI0LDEuMDI0LDAsMCwxLS4wMTkuNjYsMS4wMjIsMS4wMjIsMCwwLDEtLjMxNS41ODEuMzguMzgsMCwwLDEtLjM3My4wMjUuNTMzLjUzMywwLDAsMS0uMy0uMjksMS4xODksMS4xODksMCwwLDEsLjMwOS0xLjFBLjUuNSwwLDAsMSwyMi4zNzYsMTYuNTQ4Wm0tLjA2Mi4yM2EuMTY3LjE2NywwLDAsMC0uMS4wMTMuMjM1LjIzNSwwLDAsMC0uMS4xLDIuMjE5LDIuMjE5LDAsMCwwLS4xODkuNjk0LjI2OS4yNjksMCwwLDAsLjAzMy4xNDcuMTY3LjE2NywwLDAsMCwuMDgzLjA2NC4xNDMuMTQzLDAsMCwwLC4xLDAsLjIwNi4yMDYsMCwwLDAsLjA5NC0uMSwyLjQzNiwyLjQzNiwwLDAsMCwuMi0uNzI3LjI0LjI0LDAsMCwwLS4wMzQtLjE0NEEuMTQxLjE0MSwwLDAsMCwyMi4zMTQsMTYuNzc4WlwiIHN0eWxlPVwiZmlsbDojMDBmZjgwXCIvPjxwYXRoIGQ9XCJNMjMuMzcsMTguNTQxbC0uMjgxLS4xMS4zMjgtMS4yMjVhMSwxLDAsMCwxLS40NDIuMTUybC4wNzUtLjI4MWEuODgxLjg4MSwwLDAsMCwuMjkyLS4xLjY4LjY4LDAsMCwwLC4yNTktLjIzOGwuMjQyLjAzN1pcIiBzdHlsZT1cImZpbGw6IzAwZmY4MFwiLz48cGF0aCBkPVwiTTI0Ljc5MywxNi45MTlhLjM0OC4zNDgsMCwwLDEsLjMuMjY2LDEuNzUxLDEuNzUxLDAsMCwxLS4wNzUuODcsMS43NDksMS43NDksMCwwLDEtLjM3MS43OTEuMzQ1LjM0NSwwLDAsMS0uMzg4LjA3OC40ODguNDg4LDAsMCwxLS4yODgtLjM0OCwxLjU4NywxLjU4NywwLDAsMSwuMDY3LS43OSwxLjU3NywxLjU3NywwLDAsMSwuMzU0LS43MjdBLjQ1Ny40NTcsMCwwLDEsMjQuNzkzLDE2LjkxOVptLS4wODQuMzEyYS4xNDMuMTQzLDAsMCwwLS4xMDcuMDI1LjM1My4zNTMsMCwwLDAtLjEwNi4xNDEsNC4xMjYsNC4xMjYsMCwwLDAtLjI1Ny45NDguNDA4LjQwOCwwLDAsMCwuMDIxLjE5Mi4xNDMuMTQzLDAsMCwwLC4wOC4wNzUuMTIuMTIsMCwwLDAsLjEtLjAxMS4zMTguMzE4LDAsMCwwLC4xMDUtLjEzNyw0LjQxOCw0LjQxOCwwLDAsMCwuMjY2LS45ODEuMzc0LjM3NCwwLDAsMC0uMDIyLS4xODlBLjExOS4xMTksMCwwLDAsMjQuNzEsMTcuMjMxWlwiIHN0eWxlPVwiZmlsbDojMDBmZjgwXCIvPjxwYXRoIGQ9XCJNMjUuNjQ5LDE5LjQzbC0uMjgxLS4xMS40MjgtMS42YTEuMDMzLDEuMDMzLDAsMCwxLS40NjIuMjI3bC4xLS4zNzFhLjkuOSwwLDAsMCwuMy0uMTUxLjkzLjkzLDAsMCwwLC4yODEtLjMyMWwuMjQyLjAzN1pcIiBzdHlsZT1cImZpbGw6IzAwZmY4MFwiLz48cGF0aCBkPVwiTTI3LjIxMSwxNy4yOTFhLjM0NC4zNDQsMCwwLDEsLjI4Mi4zMTksMi42OTIsMi42OTIsMCwwLDEtLjEzMSwxLjA4LDIuNjksMi42OSwwLDAsMS0uNDI3LDEsLjM0LjM0LDAsMCwxLS40LjEzLjQ4Ny40ODcsMCwwLDEtLjI3My0uNDA1LDIuNDk0LDIuNDk0LDAsMCwxLC4xMjItMSwyLjQ3LDIuNDcsMCwwLDEsLjQxLS45MzdBLjQ1MS40NTEsMCwwLDEsMjcuMjExLDE3LjI5MVptLS4xMDYuMzk0YS4xMzMuMTMzLDAsMCwwLS4xMS4wMzYuNTA5LjUwOSwwLDAsMC0uMTE3LjE4Miw2LjYyMiw2LjYyMiwwLDAsMC0uMzI1LDEuMi41OTEuNTkxLDAsMCwwLC4wMDkuMjM3LjEzMy4xMzMsMCwwLDAsLjA3Ny4wODYuMTEuMTEsMCwwLDAsLjEwNy0uMDIzLjQ2NS40NjUsMCwwLDAsLjExNi0uMTc4LDQuNjM5LDQuNjM5LDAsMCwwLC4yLS42MTksNC42NTgsNC42NTgsMCwwLDAsLjEzNi0uNjE1LjU1Mi41NTIsMCwwLDAtLjAxLS4yMzVBLjExLjExLDAsMCwwLDI3LjEwNSwxNy42ODVaXCIgc3R5bGU9XCJmaWxsOiMwMGZmODBcIi8+PHBhdGggZD1cIk0yNy45MjcsMjAuMzJsLS4yODEtLjExLjUyOC0xLjk3MWExLjEzNCwxLjEzNCwwLDAsMS0uNDgyLjNsLjEyMy0uNDZhLjk3Mi45NzIsMCwwLDAsLjMxNy0uMiwxLjI0OCwxLjI0OCwwLDAsMCwuMy0uNGwuMjQyLjAzN1pcIiBzdHlsZT1cImZpbGw6IzAwZmY4MFwiLz48cGF0aCBkPVwiTTI4Ljk1MywyMC43MjFsLS4yODEtLjExLjU3My0yLjEzOWExLjIsMS4yLDAsMCwxLS40OTEuMzM2bC4xMzQtLjVhMS4wMiwxLjAyLDAsMCwwLC4zMjMtLjIyLDEuNDEzLDEuNDEzLDAsMCwwLC4zMTQtLjQ0bC4yNDIuMDM3WlwiIHN0eWxlPVwiZmlsbDojMDBmZjgwXCIvPjxwYXRoIGQ9XCJNMzAuNzE3LDE3LjgzYy4xNTEuMDIzLjIzOC4xNTUuMjYyLjRhNC40MzYsNC40MzYsMCwwLDEtLjIxMywxLjM4NSw0LjQzNCw0LjQzNCwwLDAsMS0uNTA5LDEuMzA3Yy0uMTQuMTk1LS4yOC4yNjMtLjQyMi4yMDdzLS4yMjYtLjIyLS4yNS0uNDg5YTQuMTk0LDQuMTk0LDAsMCwxLC4yLTEuMyw0LjE0Myw0LjE0MywwLDAsMSwuNDkyLTEuMjQxQzMwLjQyLDE3LjksMzAuNTY2LDE3LjgwNywzMC43MTcsMTcuODNabS0uMTM3LjUxM2EuMTMyLjEzMiwwLDAsMC0uMTE1LjA1My44LjgsMCwwLDAtLjEzMy4yNDEsNy41ODcsNy41ODcsMCwwLDAtLjI0NC43OTEsNy41MzksNy41MzksMCwwLDAtLjE4Ljc3OS45My45MywwLDAsMC0uMDA5LjMuMTMxLjEzMSwwLDAsMCwuMDczLjEuMTA4LjEwOCwwLDAsMCwuMTExLS4wMzkuNzQyLjc0MiwwLDAsMCwuMTMyLS4yMzcsNy44LDcuOCwwLDAsMCwuMjQ4LS44MDYsNy44MzUsNy44MzUsMCwwLDAsLjE4NS0uOC44ODQuODg0LDAsMCwwLC4wMDgtLjNRMzAuNjMzLDE4LjM1MywzMC41OCwxOC4zNDNaXCIgc3R5bGU9XCJmaWxsOiMwMGZmODBcIi8+YCxcblx0XCJFZGl0b3JDb25maWdcIjogYDxwYXRoIGQ9XCJNOC43MDksMTguMzUxYTEuMjY3LDEuMjY3LDAsMCwwLC41MzItMS4zNzlDOC42OTIsMTcuMjA3LDguNzE4LDE3Ljc0OSw4LjcwOSwxOC4zNTFaXCIgc3R5bGU9XCJmaWxsOiNlM2UzZjhcIi8+PHBhdGggZD1cIk0xNC45MjQsMTkuODUyYS44NzEuODcxLDAsMCwwLC42Mi0xLjEzNUExLjQzLDEuNDMsMCwwLDAsMTQuOTI0LDE5Ljg1MlpcIiBzdHlsZT1cImZpbGw6I2UzZTNmOFwiLz48cGF0aCBkPVwiTTIuNzEzLDI3LjA3OWExLjUzOCwxLjUzOCwwLDAsMCwuNTI0LDEuMzUzYzEuNDE0Ljc5NCw2LjM3Mi4xNzUsOC4wNTYtLjJhMTQuOTk0LDE0Ljk5NCwwLDAsMCwyLjQyNi0xLjIxMywyMi42NDMsMjIuNjQzLDAsMCwwLDQuNzEzLTIuNTU3YzEuMDgyLS43OTQsMi44LTMuMDI5LDIuOTg1LTQuMzY0bC0xLjQ3NS0uMzMyYy0uMDM1LDEuNS0uMzc1LDEuODQyLTEuNzExLDIuMTkxYTEwLjY2MiwxMC42NjIsMCwwLDEtMy41Ny4xNCwzLjM2MiwzLjM2MiwwLDAsMS0yLjMxMy0xLjU2MmMtMS4wNjUtMS40MTQuMjM2LTIuNC0xLjQ0OS0yLjUtMS43NzIsMi4xNzMtNC45LjYxMS02LjI2Ny4zOTNhMzAuMDY2LDMwLjA2NiwwLDAsMC0xLjkzOCw3LjYsMi43NDgsMi43NDgsMCwwLDEsMi4xMzguMzIzYzIuNjg4LDEuMDM5LjM0LDEuOTU1LS43MzMsMS42ODVDMy4zNjgsMjcuODY0LDMuMTQxLDI3LjM4NCwyLjcxMywyNy4wNzlaXCIgc3R5bGU9XCJmaWxsOiNmZGZkZmRcIi8+PHBhdGggZD1cIk02LjIzMSwxNC41MzdhMTEuNTM5LDExLjUzOSwwLDAsMSwyLjk4NSwxLjEyNmMxLjUxLjc1MSwxLjc4MS42NDYsMS45MiwxLjY5My4wMTcuMTkyLS4wMTcuMy41MzIuNDcxLjkyNS4yODgtLjUzMi0uMjI3LDEuOTQ2LS4yMThBMTYuNjQsMTYuNjQsMCwwLDEsMTkuNTU5LDE4LjljLjQ1NC4yODguMzY3LjY1NSwxLjkuNjExYTE4Ljc2NywxOC43NjcsMCwwLDAtMS4yLTYuMTYyYy0uODY0LTIuMDA3LTIuMDA3LTIuMzEzLTQuMzM4LTMuMDY0LTEuMzYyLS40MzYtNS4zNTktLjkxNi02LjYtLjE0OC0xLjE2MS43MjQtMS4zNzksMS41ODktMi40NjEsMy4xMDdBNS4zNjYsNS4zNjYsMCwwLDAsNi4yMzEsMTQuNTM3WlwiIHN0eWxlPVwiZmlsbDojZmRmZGZkXCIvPjxwYXRoIGQ9XCJNMTUuODQsMTguMjQ2Yy44NzMuMzU4LS4wNDQsMi42NzEtMS4yNTcsMi4xMTItLjM5My0xLjEwOC41NDEtMS43MzcuNzk0LTIuMjM0YTguNTEsOC41MSwwLDAsMC0yLjQ2MS0uMTQ4Yy0uNTc2LjIxOC0uNzA3LDEuNDQ5LS40MSwyLjAyNSwxLjQsMi43NDEsNy41NjcsMi4xNTYsNi45MTMuMDI2LS4yNjItLjg2NC0uNTA2LTEtMS4zODgtMS4zQTYuODg1LDYuODg1LDAsMCwwLDE1Ljg0LDE4LjI0NlpcIiBzdHlsZT1cImZpbGw6I2ZkZmRmZFwiLz48cGF0aCBkPVwiTTQuODY5LDE3Ljk0MWMuNy42NzIsMi4yNzguNzc3LDMuMy44MjlDOC4zLDE3LjQxNyw4LjQxMywxNi40LDkuNSwxNi40ODNhMS42LDEuNiwwLDAsMS0uMzA1LDIuMTMsMS4zODYsMS4zODYsMCwwLDAsMS4zNjItMS43NjMsMTQuNTQyLDE0LjU0MiwwLDAsMC00LjQ2LTEuODk0QTkuNTA2LDkuNTA2LDAsMCwwLDQuODY5LDE3Ljk0MVpcIiBzdHlsZT1cImZpbGw6I2ZkZmRmZFwiLz48cGF0aCBkPVwiTTMuMjI4LDI2LjU4MWMuNTc2LS4wNTIsMi4wNzcuMzg0LDIuMi44NzNDNC40OTQsMjcuNTY4LDMuMzA3LDI3LjQ4LDMuMjI4LDI2LjU4MVptLS41MTUuNWMuNDI4LjMwNS42NTUuNzg2LDEuMzg4Ljk2LDEuMDc0LjI3MSwzLjQyMS0uNjQ2LjczMy0xLjY4NUEyLjc0OCwyLjc0OCwwLDAsMCwyLjcsMjYuMDMyYTMwLjA2NiwzMC4wNjYsMCwwLDEsMS45MzgtNy42YzEuMzcuMjE4LDQuNDk1LDEuNzgxLDYuMjY3LS4zOTMsMS42ODUuMS4zODQsMS4wODIsMS40NDksMi41QTMuMzYyLDMuMzYyLDAsMCwwLDE0LjY2MiwyMi4xYTEwLjY2MiwxMC42NjIsMCwwLDAsMy41Ny0uMTRjMS4zMzUtLjM0OSwxLjY3Ni0uNjksMS43MTEtMi4xOTFsMS40NzUuMzMyYy0uMTgzLDEuMzM1LTEuOSwzLjU3LTIuOTg1LDQuMzY0YTIyLjY0MywyMi42NDMsMCwwLDEtNC43MTMsMi41NTcsMTQuOTk0LDE0Ljk5NCwwLDAsMS0yLjQyNiwxLjIxM2MtMS42ODUuMzc1LTYuNjQyLDEtOC4wNTYuMkExLjUzOCwxLjUzOCwwLDAsMSwyLjcxMywyNy4wNzlabTEyLjIxMS03LjIyN2ExLjQzLDEuNDMsMCwwLDEsLjYyLTEuMTM1QS44NzEuODcxLDAsMCwxLDE0LjkyNCwxOS44NTJabS45MTYtMS42MDZhNi44ODUsNi44ODUsMCwwLDEsMi4xOTEuNDhjLjg4Mi4zLDEuMTI2LjQzNiwxLjM4OCwxLjMuNjU1LDIuMTMtNS41MTYsMi43MTQtNi45MTMtLjAyNi0uMy0uNTc2LS4xNjYtMS44MDcuNDEtMi4wMjVhOC41MSw4LjUxLDAsMCwxLDIuNDYxLjE0OGMtLjI1My41LTEuMTg3LDEuMTI2LS43OTQsMi4yMzRDMTUuOCwyMC45MTcsMTYuNzEzLDE4LjYsMTUuODQsMTguMjQ2Wm0tNy4xMzEuMWMuMDA5LS42LS4wMTctMS4xNDMuNTMyLTEuMzc5QTEuMjY3LDEuMjY3LDAsMCwxLDguNzA5LDE4LjM1MVptLTMuODQtLjQxYTkuNTA2LDkuNTA2LDAsMCwxLDEuMjIyLTIuOTg1LDE0LjU0MiwxNC41NDIsMCwwLDEsNC40NiwxLjg5NEExLjM4NiwxLjM4NiwwLDAsMSw5LjE5LDE4LjYxM2ExLjYsMS42LDAsMCwwLC4zMDUtMi4xM2MtMS4wODItLjA3OS0xLjIuOTM0LTEuMzI3LDIuMjg3QzcuMTQ3LDE4LjcxNyw1LjU2NywxOC42MTMsNC44NjksMTcuOTQxWk00LDE3LjI0MmMtLjMyMy0uODktLjMyMy0yLjI3OCwxLjA0Ny0yLjM5MmwtLjcsMS45NDZDNC4xNjIsMTcuMjE2LDQuMTYyLDE3LjEyLDQsMTcuMjQyWm0yLjIzNC0yLjcwNmE1LjM2Niw1LjM2NiwwLDAsMSwuNjI4LTEuMjkyYzEuMDgyLTEuNTE5LDEuMy0yLjM4MywyLjQ2MS0zLjEwNywxLjIzOS0uNzY4LDUuMjM3LS4yODgsNi42LjE0OCwyLjMzLjc1MSwzLjQ3NCwxLjA1Niw0LjMzOCwzLjA2NGExOC43NjcsMTguNzY3LDAsMCwxLDEuMiw2LjE2MmMtMS41MzYuMDQ0LTEuNDQ5LS4zMjMtMS45LS42MTFhMTYuNjQsMTYuNjQsMCwwLDAtNS45NDQtMS4yOTJjLTIuNDc5LS4wMDktMS4wMjEuNTA2LTEuOTQ2LjIxOC0uNTUtLjE3NS0uNTE1LS4yNzktLjUzMi0uNDcxLS4xNC0xLjA0Ny0uNDEtLjk0My0xLjkyLTEuNjkzQTExLjUzOSwxMS41MzksMCwwLDAsNi4yMzEsMTQuNTM3Wm0xNS40NDktLjQyOGMtLjE2Ni0uNTUuMTQtLjUxNS42NzItLjg5YTkuMDIxLDkuMDIxLDAsMCwxLC45MjUtLjY1NWMxLjQwNS0uNzg2LDQuMDI0LS45MTYsNS4xNDEuMDE3QTIuNDc5LDIuNDc5LDAsMCwxLDI5LjUsMTQuNjVhNS44MzgsNS44MzgsMCwwLDEtMi42MTgsMy44MzIsNS4yMTMsNS4yMTMsMCwwLDEtNC43ODMsMS4yYy0uMTU3LS4zODQtLjAzNS0yLjgxOS0uMjE4LTMuNzE4LS4xNjYtLjgtLjA3OS0uODkuMzg0LTEuMzcsMS4zNjItMS40MTQsNC4zMTItMi40NDQsNS45ODgtMS4yMzEuNzA3LjUyNC41MDYuNzI0Ljg3MywxLjEyNi40NTQtLjQ4OS0uMzkzLTIuMTMtMy41MTctMi4wMjVDMjMuNDg2LDEyLjUyOSwyMi41NywxNC4xODcsMjEuNjgsMTQuMTA5Wk04Ljk3MSw5LjE0M2E4LjA5NCw4LjA5NCwwLDAsMSwyLjI3OC00LjZDMTIuNiwzLjUsMTQuMDE2LDIuNTA5LDE2LjA5NCwzLjY4N2MuNTE1LjI4OC40ODkuNDM2LjU0MSwxLjE1MmEzLjMxMiwzLjMxMiwwLDAsMS0uMTkyLDEuNWMtMS4zNzksNC40NTEtMi41MzEsMS44OTQtNi45NDgsMi45NWE2LjM3NCw2LjM3NCwwLDAsMSwyLjEyMS0zLjQxM2MxLjItMS4xNjEsMi4wNi0xLjkxMSwzLjg1OC0xLjY2N2ExLjg0MiwxLjg0MiwwLDAsMS0uMDUyLDIuMzIyYy0uOCwxLjI5Mi0xLDEuMjEzLS44ODIsMi4wOTUuNjI4LS4xNTcuODItLjc2OCwxLjEwOC0xLjM3OSwxLjc1NC0zLjY2Ni0uNzk0LTQuMTExLTIuMzU3LTMuNDM5QTEwLjM3MiwxMC4zNzIsMCwwLDAsOS43NjYsNy41NTRjLS4xMjIuMjQ0LS4yNTMuNTU5LS4zNjcuODI5Wm02LjkxMy4xODNDMTYuMDY3LDguMjM1LDE3LjE1LDcuOTY0LDE3LjE1LDQuNmMwLTEuNDQ5LTEuNzgxLTIuNzQ5LTQuMTExLTEuNzgxLTIsLjgyLTIuMywxLjQ0OS0zLjM2OSwzLjA1NS0xLDEuNTE5LS45NjksMy4xODYtMS44MzMsNC41OTEtLjI1My40LS40OC41NDEtLjc1OS45NDMtLjIuMy0uMzQ5LjY3Mi0uNTUsMS4wMjFBMTIuOTQsMTIuOTQsMCwwLDAsNS4zNjcsMTQuNGMtMS4wNDcuMDI2LTEuOTI5LjA0NC0yLjAzNCwxLjEyNi0uMTQsMS40ODQuNTU5LDEuODUuNTU5LDIuNDA5LS4wMDkuNi0yLjQ1Myw2LjY3Ny0xLjc3MiwxMC4zLjE5MiwxLC44NDcsMSwxLjg5NCwxLjEyNmExNy45MywxNy45MywwLDAsMCw4LjA1Ni0uNzA3bDQuMS0xLjk2NGExOC44NSwxOC44NSwwLDAsMCwzLjU2MS0yLjUsMTIuMzgzLDEyLjM4MywwLDAsMCwxLjMwOS0xLjcxOSwzLjIxMywzLjIxMywwLDAsMCwuOC0yLjIwOCw4LjQ3Myw4LjQ3MywwLDAsMSwyLjk4NSwxYy0uMDYxLjYtLjM1OC4zMTQtLjM1OC44NTVhMS4zNTUsMS4zNTUsMCwwLDAsMS4wNDctLjg5Yy0uMzU4LS41MjQtLjczMy0uNDM2LTEuMjQ4LS44NTVhOC4yMTIsOC4yMTIsMCwwLDEsMS43MTktLjcwN2MxLjIyMi0uNTA2LDMuMzA4LTIuMDQyLDMuODIzLTMuNDM5YTQuNDQ5LDQuNDQ5LDAsMCwwLS41NTktMy43MzYsNS40NDQsNS40NDQsMCwwLDAtMy42NDgtMS4xNjFjLTEuNTgsMC0zLjIxMiwxLjEzNS00LjQ4NiwxLjYyMy0uNDg5LS40MjgtLjUyNC0uOTE2LS44ODItMS4zODhBMTIuMjgxLDEyLjI4MSwwLDAsMCwxNS44ODQsOS4zMjZaXCIgc3R5bGU9XCJmaWxsOiMwMjAyMDJcIi8+PHBhdGggZD1cIk0yMS42OCwxNC4xMDljLjg5LjA3OSwxLjgwNy0xLjU4LDMuOTI4LTEuNjUsMy4xMjUtLjEsMy45NzEsMS41MzYsMy41MTcsMi4wMjUtLjM2Ny0uNC0uMTY2LS42LS44NzMtMS4xMjYtMS42NzYtMS4yMTMtNC42MjYtLjE4My01Ljk4OCwxLjIzMS0uNDYzLjQ4LS41NS41NjctLjM4NCwxLjM3LjE4My45LjA2MSwzLjMzNC4yMTgsMy43MThhNS4yMTMsNS4yMTMsMCwwLDAsNC43ODMtMS4yQTUuODM4LDUuODM4LDAsMCwwLDI5LjUsMTQuNjVhMi40NzksMi40NzksMCwwLDAtMS4wODItMi4wNjljLTEuMTE3LS45MzQtMy43MzYtLjgtNS4xNDEtLjAxN2E5LjAyMSw5LjAyMSwwLDAsMC0uOTI1LjY1NUMyMS44MTksMTMuNTk0LDIxLjUxNCwxMy41NTksMjEuNjgsMTQuMTA5WlwiIHN0eWxlPVwiZmlsbDojZmRmMmYyXCIvPjxwYXRoIGQ9XCJNOC45NzEsOS4xNDMsOS40LDguMzgzYy4xMTMtLjI3MS4yNDQtLjU4NS4zNjctLjgyOUExMC4zNzIsMTAuMzcyLDAsMCwxLDEzLjI5MiwzLjgxYzEuNTYyLS42NzIsNC4xMTEtLjIyNywyLjM1NywzLjQzOS0uMjg4LjYxMS0uNDgsMS4yMjItMS4xMDgsMS4zNzktLjEyMi0uODgyLjA3OS0uOC44ODItMi4wOTVhMS44NDIsMS44NDIsMCwwLDAsLjA1Mi0yLjMyMmMtMS44LS4yNDQtMi42NjIuNTA2LTMuODU4LDEuNjY3QTYuMzc0LDYuMzc0LDAsMCwwLDkuNSw5LjI5MWM0LjQxNi0xLjA1Niw1LjU2OSwxLjUsNi45NDgtMi45NWEzLjMxMiwzLjMxMiwwLDAsMCwuMTkyLTEuNWMtLjA1Mi0uNzE2LS4wMjYtLjg2NC0uNTQxLTEuMTUyLTIuMDc3LTEuMTc4LTMuNDkxLS4xOTItNC44NDQuODU1QTguMDk0LDguMDk0LDAsMCwwLDguOTcxLDkuMTQzWlwiIHN0eWxlPVwiZmlsbDojZmVmM2YzXCIvPjxwYXRoIGQ9XCJNNCwxNy4yNDJjLjE2Ni0uMTIyLjE2Ni0uMDI2LjM0OS0uNDQ1bC43LTEuOTQ2QzMuNjczLDE0Ljk2NCwzLjY3MywxNi4zNTIsNCwxNy4yNDJaXCIgc3R5bGU9XCJmaWxsOiNlZmVmZWZcIi8+PHBhdGggZD1cIk01LjQyOCwyNy40NTRjLS4xMjItLjQ4OS0xLjYyMy0uOTI1LTIuMi0uODczQzMuMzA3LDI3LjQ4LDQuNDk0LDI3LjU2OCw1LjQyOCwyNy40NTRaXCIgc3R5bGU9XCJmaWxsOiNmYWYxZjFcIi8+YCxcblx0XCJFSlNcIjogYDxwYXRoIGQ9XCJNMiwxNy42NzJWMTQuMzI4bDExLjg2LTYuMlYxMS4yTDUuMSwxNS45MzlsOC43NjIsNC44MzV2My4xWm0yNy44MTQtOC44OEwxOS40NjUsMjMuMjI5SDE1LjkxMkwyNi4yODEsOC43OTFaTTI2Ljk0NywyMS41YS43OTQuNzk0LDAsMCwwLC42MTktLjI3OCwxLjA2MSwxLjA2MSwwLDAsMCwuMjQ4LS43MzIsMS4xNDEsMS4xNDEsMCwwLDAtLjI0OC0uNzUzLjc2OC43NjgsMCwwLDAtMS4yMTcsMCwxLjE0MSwxLjE0MSwwLDAsMC0uMjQ4Ljc1MywxLjA5LDEuMDksMCwwLDAsLjIzNy43MzJBLjc2My43NjMsMCwwLDAsMjYuOTQ3LDIxLjVabTIuMTg2LDEuMDQyYTMuMjM3LDMuMjM3LDAsMCwxLTQuMzUyLS4wMSwyLjg2NCwyLjg2NCwwLDAsMSwwLTQuMSwzLjIyMywzLjIyMywwLDAsMSw0LjM1MiwwQTIuNzczLDIuNzczLDAsMCwxLDMwLDIwLjQ4NiwyLjc0LDIuNzQsMCwwLDEsMjkuMTM0LDIyLjUzOFpNMTguODIxLDEzLjA2MWEuNzk0Ljc5NCwwLDAsMCwuNjE5LS4yNzgsMS4wNjEsMS4wNjEsMCwwLDAsLjI0OC0uNzMyLDEuMTQxLDEuMTQxLDAsMCwwLS4yNDgtLjc1My43NjkuNzY5LDAsMCwwLTEuMjE3LDAsMS4xNDEsMS4xNDEsMCwwLDAtLjI0OC43NTMsMS4wOSwxLjA5LDAsMCwwLC4yMzcuNzMyQS43NjMuNzYzLDAsMCwwLDE4LjgyMSwxMy4wNjFaTTIxLjAwNywxNC4xYTMuMjM3LDMuMjM3LDAsMCwxLTQuMzUyLS4wMSwyLjg2NCwyLjg2NCwwLDAsMSwwLTQuMSwzLjIyMywzLjIyMywwLDAsMSw0LjM1MiwwLDIuNzczLDIuNzczLDAsMCwxLC44NjYsMi4wNjNBMi43NCwyLjc0LDAsMCwxLDIxLjAwNywxNC4xWlwiIHN0eWxlPVwiZmlsbDojOTBhOTNhXCIvPmAsXG5cdFwiRWxpeGlyXCI6IGA8ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9XCJhXCIgeDE9XCIxNy4yNDlcIiB5MT1cIi0zMzUuNTk3XCIgeDI9XCIxNC45NzNcIiB5Mj1cIi0zMDkuOTk0XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMSwgMCwgMCwgLTEsIDAsIC0zMDYpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmZmXCIgc3RvcC1vcGFjaXR5PVwiMFwiLz48c3RvcCBvZmZzZXQ9XCIwLjAxXCIgc3RvcC1jb2xvcj1cIiNmN2Y2ZjhcIiBzdG9wLW9wYWNpdHk9XCIwLjA0XCIvPjxzdG9wIG9mZnNldD1cIjAuMDlcIiBzdG9wLWNvbG9yPVwiI2FhOWNiM1wiIHN0b3Atb3BhY2l0eT1cIjAuMzlcIi8+PHN0b3Agb2Zmc2V0PVwiMC4yXCIgc3RvcC1jb2xvcj1cIiM2ZjU2N2VcIiBzdG9wLW9wYWNpdHk9XCIwLjY2XCIvPjxzdG9wIG9mZnNldD1cIjAuMzJcIiBzdG9wLWNvbG9yPVwiIzQ1MjQ1OVwiIHN0b3Atb3BhY2l0eT1cIjAuODZcIi8+PHN0b3Agb2Zmc2V0PVwiMC41XCIgc3RvcC1jb2xvcj1cIiMyZDA4NDNcIiBzdG9wLW9wYWNpdHk9XCIwLjk3XCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzI2MDAzZFwiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48dGl0bGU+ZmlsZV90eXBlX2VsaXhpcjwvdGl0bGU+PHBhdGggZD1cIk0xNy44LDguNTkxYzIuMDc5LDQuNTg0LDcuNjQsNi41LDcuMTQxLDEyLjQ3NC0uNTgyLDcuMDE3LTUuNTUxLDguNzg0LTguMzE2LDguOTA5YTguODE1LDguODE1LDAsMCwxLTkuNC03LjQ4NUM1LjYxOCwxNS4wNDYsMTIuNjU1LDMuNjMyLDE2LjcwOSwyQTE1LjA4MywxNS4wODMsMCwwLDAsMTcuOCw4LjU5MVptLS4xNjYsMTguODU3YS40MjMuNDIzLDAsMCwwLS4wNTctLjMyN2MtLjU5My0xLjEtNS44MS0xLjY0NS02LjkwNy0xLjc1MmE4LjI3Miw4LjI3MiwwLDAsMCwxLjYzNSwxLjMsNy43NjYsNy43NjYsMCwwLDAsMi44MTQsMS4wNDFDMTUuOTIyLDI3LjgzMSwxNy40NjcsMjcuOTMzLDE3LjYzNSwyNy40NDdaXCIgc3R5bGU9XCJmaWxsOiM3YzY0OGZcIi8+PGcgc3R5bGU9XCJvcGFjaXR5OjAuMjVcIj48cGF0aCBkPVwiTTE4LjI0OCwxMC42MThjNC40Nyw0LjgyMyw2LjQ0NSw0Ljk3OSw2LjIzNywxMC40NzgtLjI0OSw2LjQ3Ni00LjU0Myw4LjE5MS03LjA1OCw4LjQyLTQuMi41NTEtNy40OTUtMS41MjgtOC4zNTgtNS42ODZDNy4zMTIsMTcuMDYzLDEyLjk3OCw2LjAyMywxNi42MzcsNC4zNkExNS4zMjMsMTUuMzIzLDAsMCwwLDE4LjI1OCwxMC42WlwiIHN0eWxlPVwiZmlsbDojMjYwMDNkXCIvPjwvZz48ZyBzdHlsZT1cIm9wYWNpdHk6MC43NVwiPjxwYXRoIGQ9XCJNMTcuMzg1LDkuOTIxQzIwLjM2OSwxNCwyNC4zMTksMTMuNywyNSwxOS42NDFjLjA5NCw2LjkyMy0zLjYsOS4yODMtNi4yMzcsOS45NDgtNC41LDEuMjc5LTguNTE0LS42NDUtMTAuMDk0LTUtMy4wMzUtNywyLjY1MS0xOC41MTQsNi4zMS0yMC45MTVhMTUuMDgzLDE1LjA4MywwLDAsMCwyLjM3LDYuMjM3WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2EpXCIvPjwvZz5gLFxuXHRcIkVsbVwiOiBgPHBhdGggZD1cIk0xNiwxNi43NjgsMi43NjgsMzBIMjkuMjMyWlwiIHN0eWxlPVwiZmlsbDojNWZiNGNiXCIvPjxwYXRoIGQ9XCJNMjQuMTMsMjMuMzYyLDMwLDI5LjIzMlYxNy40OTJaXCIgc3R5bGU9XCJmaWxsOiNlZWE0MDBcIi8+PHBhdGggZD1cIk0xNS4yMzIsMTYsMiwyLjc2OFYyOS4yMzJaXCIgc3R5bGU9XCJmaWxsOiM1OTYyNzdcIi8+PHBhdGggZD1cIk0zMCwxNC40NDhWMkgxNy41NTJaXCIgc3R5bGU9XCJmaWxsOiM1ZmI0Y2JcIi8+PHBhdGggZD1cIk0yMy4zOTIsOS4zNzZsNi41OTQsNi41OTQtNi42MjQsNi42MjRMMTYuNzY4LDE2Wk0yLjc2OCwyLDguODYzLDguMUgyMi4xMTFMMTYuMDE2LDJaXCIgc3R5bGU9XCJmaWxsOiM4Y2Q2MzZcIi8+PHBhdGggZD1cIk0xNiwxNS4yMzJsNi4wNTEtNi4wNTFIOS45NDlaXCIgc3R5bGU9XCJmaWxsOiNlZWE0MDBcIi8+YCxcblx0XCJFUkJcIjogYDxwYXRoIGQ9XCJNNy4yNSwyNC43NWgxNy41TDEyLjUsMTIuNSw3LjI1LDE3Ljc1Wk0yLDMwSDMwVjJIMTZMMiwxNlptMjUuMzc1LTIuNjI1SDQuNjI1di0xMC41bDEyLjI1LTEyLjI1aDEwLjVaXCIgc3R5bGU9XCJmaWxsOiM5MjFhMWVcIi8+YCxcblx0XCJFcmxhbmdcIjogYDxwYXRoIGQ9XCJNNi4zODgsMjMuODY3YTExLjAxMiwxMS4wMTIsMCwwLDEtMy40NDEtOC4yMzQsMTAuNzY1LDEwLjc2NSwwLDAsMSwyLjg2NC03LjVIMnYxNS43M1ptMjAuMDY2LDBhMTYuNDQsMTYuNDQsMCwwLDAsMi41MzctMy4xMzZsLTQuMjE4LTEuODczYTguMzA2LDguMzA2LDAsMCwxLTYuNjQxLDQuMTJjLTQuMzU5LS4wMTQtNi4wNzItMy4zMjktNi4wNjMtNy41ODRIMjguMzZhNi40NjUsNi40NjUsMCwwLDAsMC0uOTM1LDkuMDU3LDkuMDU3LDAsMCwwLTIuMDI5LTYuMzI2SDMwdjE1LjczSDI2LjQ1NlpNMTIuMzMyLDExLjc0MmEzLjcyMywzLjcyMywwLDAsMSwzLjktMy4yMywzLjI5LDMuMjksMCwwLDEsMy41MzIsMy4yM1pcIiBzdHlsZT1cImZpbGw6I2EyMDAzZVwiLz5gLFxuXHRcIkYjXCI6IGA8cGF0aCBkPVwiTTIsMTYsMTUuMjg4LDIuNzEyVjkuMzU2TDguNjQ0LDE2bDYuNjQ0LDYuNjQ0djYuNjQ0WlwiIHN0eWxlPVwiZmlsbDojMzc4YmJhXCIvPjxwYXRoIGQ9XCJNMTAuNTQyLDE2bDQuNzQ2LTQuNzQ2djkuNDkyWlwiIHN0eWxlPVwiZmlsbDojMzc4YmJhXCIvPjxwYXRoIGQ9XCJNMzAsMTYsMTYuMjM3LDIuNzEyVjkuMzU2TDIyLjg4MSwxNmwtNi42NDQsNi42NDR2Ni42NDRaXCIgc3R5bGU9XCJmaWxsOiMzMGI5ZGJcIi8+YCxcblx0XCJGaXJlc3RvcmUgc2VjdXJpdHkgcnVsZXNcIjogYDxwYXRoIGQ9XCJNNS44LDI0LjZsLjE3LS4yMzdMMTMuOTksOS4xNDlsLjAxNy0uMTYxLTMuNTM1LTYuNjRhLjY1Ni42NTYsMCwwLDAtMS4yMjcuMjA3WlwiIHN0eWxlPVwiZmlsbDojZmZjMjRhXCIvPjxwYXRoIGQ9XCJNNS45LDI0LjQybC4xMjgtLjI1TDEzLjk2NSw5LjExNCwxMC40MzksMi40NDhhLjYuNiwwLDAsMC0xLjEzMy4yMDZaXCIgc3R5bGU9XCJmaWxsOiNmZmE3MTJcIi8+PHBhdGggZD1cIk0xNi41ODQsMTQuMDFsMi42MzItMi43TDE2LjU4Myw2LjI4OWEuNjc4LjY3OCwwLDAsMC0xLjE5NSwwTDEzLjk4MSw4Ljk3MVY5LjJaXCIgc3R5bGU9XCJmaWxsOiNmNGJkNjJcIi8+PHBhdGggZD1cIk0xNi41MzcsMTMuOSwxOS4xLDExLjI4LDE2LjUzNyw2LjRhLjU4OS41ODksMCwwLDAtMS4wNzQtLjA0N0wxNC4wNDksOS4wODJsLS4wNDIuMTM5WlwiIHN0eWxlPVwiZmlsbDojZmZhNTBlXCIvPjxwb2x5Z29uIHBvaW50cz1cIjUuODAyIDI0LjYwMSA1Ljg3OSAyNC41MjMgNi4xNTggMjQuNDEgMTYuNDE4IDE0LjE4OCAxNi41NDggMTMuODM0IDEzLjk4OSA4Ljk1NiA1LjgwMiAyNC42MDFcIiBzdHlsZT1cImZpbGw6I2Y2ODIwY1wiLz48cGF0aCBkPVwiTTE2LjkxMiwyOS43NTYsMjYuMiwyNC41NzcsMjMuNTQ2LDguMjQ2QS42MzUuNjM1LDAsMCwwLDIyLjQ3MSw3LjlMNS44LDI0LjZsOS4yMzMsNS4xNTVhMS45MjcsMS45MjcsMCwwLDAsMS44NzgsMFwiIHN0eWxlPVwiZmlsbDojZmRlMDY4XCIvPjxwYXRoIGQ9XCJNMjYuMTE1LDI0LjUzNCwyMy40ODMsOC4zMjZhLjU1Ny41NTcsMCwwLDAtLjk2Ny0uMzUzTDUuOSwyNC41NjlsOS4xMzEsNS4xYTEuOTEyLDEuOTEyLDAsMCwwLDEuODYzLDBaXCIgc3R5bGU9XCJmaWxsOiNmY2NhM2ZcIi8+PHBhdGggZD1cIk0xNi45MTIsMjkuNmExLjkyNywxLjkyNywwLDAsMS0xLjg3OCwwTDUuODc2LDI0LjUyMiw1LjgsMjQuNmw5LjIzMyw1LjE1NWExLjkyNywxLjkyNywwLDAsMCwxLjg3OCwwTDI2LjIsMjQuNTc3bC0uMDIzLS4xNFpcIiBzdHlsZT1cImZpbGw6I2VlYWIzN1wiLz48cG9seWdvbiBwb2ludHM9XCIyMy4yMDEgMTMgMTUuNDA1IDE2LjUzNCAxNS40MDUgMjcuNjAzIDIxLjYyNSAyNC43ODUgMjEuNjI1IDMxIDMxIDI2Ljc0MyAzMSAxNi41MzQgMjMuMjAxIDEzXCIgc3R5bGU9XCJmaWxsOiMyNTI1MjVcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjMuMjAxIDE0LjczIDE2Ljk4NSAxNy41NDkgMTYuOTg1IDIwLjMyNyAyMy4yMDEgMTcuNTA3IDI5LjQyMSAyMC4zMjcgMjkuNDIxIDE3LjU0OSAyMy4yMDEgMTQuNzNcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cG9seWdvbiBwb2ludHM9XCIyMy4yMDEgMTkuNTY0IDE2Ljk4NSAyMi4zODEgMTYuOTg1IDI1LjE1OCAyMy4yMDEgMjIuMzM3IDI5LjQyMSAyNS4xNTggMjkuNDIxIDIyLjM4MSAyMy4yMDEgMTkuNTY0XCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjguNjA2IDI2LjA5OCAyNS41NTEgMjQuNzEyIDIzLjIwMSAyNS43NzggMjMuMjAxIDI4LjU0OCAyOC42MDYgMjYuMDk4XCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+YCxcblx0XCJGbG93XCI6IGA8ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9XCJhXCIgeDE9XCItNjcuOTA3XCIgeTE9XCItMzA4LjU1MVwiIHgyPVwiLTY3Ljg1N1wiIHkyPVwiLTMwOC41NjRcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCg4Ny44MjIsIDAsIDAsIC04OC41MzMsIDU5ODQuNTMyLCAtMjcyOTAuNjE3KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2ZmZDQ0MVwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNmZmIwNDdcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJiXCIgeDE9XCItNjcuNjc0XCIgeTE9XCItMzEwLjEyMVwiIHgyPVwiLTY3LjY0N1wiIHkyPVwiLTMxMC4wNjNcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCg4Ny44MjIsIDAsIDAsIC04OC41MzMsIDU5NjQuNjY3LCAtMjc0NDMpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmZkNzU0XCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2ZmYjUzMlwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImNcIiB4MT1cIi02Ny4wMjlcIiB5MT1cIi0zMTAuOTFcIiB4Mj1cIi02Ny4wMjlcIiB5Mj1cIi0zMTAuODZcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCg4Ny44MjIsIDAsIDAsIC04OC41MzMsIDU5MDIuOCwgLTI3NTE4LjczMylcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNmZmQ2NDJcIi8+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmZkNDQxXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2ZmYjUzMlwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImRcIiB4MT1cIi02Ni4yNTJcIiB5MT1cIi0zMTAuMzc3XCIgeDI9XCItNjYuMzJcIiB5Mj1cIi0zMTAuMzYyXCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMTA2LjE5OCwgMCwgMCwgLTg4LjU1MSwgNzA0OC40MjgsIC0yNzQ3NC4xNjcpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmZkNDQxXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2ZmYTgyOVwiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48dGl0bGU+ZmlsZV90eXBlX2Zsb3c8L3RpdGxlPjxwYXRoIGQ9XCJNMjMuNDI2LDI5LjQxVjIyLjE3MmgtNy4xOGw3LjE4LDcuMjM4XCIgc3R5bGU9XCJmaWxsOiNmZmRmNTE7ZmlsbC1vcGFjaXR5OjAuNjk5OTk5OTg4MDc5MDcxXCIvPjxwYXRoIGQ9XCJNMjQuMjMxLDI1LjMwNlYxNy40NzdIMTYuNDY2bDcuNzY2LDcuODI5XCIgc3R5bGU9XCJmaWxsOiNmZjg5MDA7ZmlsbC1vcGFjaXR5OjAuNjk5OTk5OTg4MDc5MDcxXCIvPjxwYXRoIGQ9XCJNMTkuNTE1LDIyLjE3MVYzMGg3Ljc2NmwtNy43NjYtNy44MjlcIiBzdHlsZT1cImZpbGwtb3BhY2l0eTowLjY5OTk5OTk4ODA3OTA3MTtmaWxsOnVybCgjYSlcIi8+PHBhdGggZD1cIk0yMi42MDgsMThWMTEuODA5SDE2LjQ2NkwyMi42MDgsMThcIiBzdHlsZT1cImZpbGw6I2ZmZGY0ZjtmaWxsLW9wYWNpdHk6MC42OTk5OTk5ODgwNzkwNzFcIi8+PHBhdGggZD1cIk0yNS41MjQsMTYuNTI1VjguN0gxNy43NTlsNy43NjYsNy44MjlcIiBzdHlsZT1cImZpbGwtb3BhY2l0eTowLjc5OTk5OTk1MjMxNjI4NDtmaWxsOnVybCgjYilcIi8+PHBhdGggZD1cIk0xMi4yODgsMlY5LjgyOWg3Ljc2NkwxMi4yODgsMlwiIHN0eWxlPVwiZmlsbC1vcGFjaXR5OjAuODAwMDAwMDExOTIwOTI5O2ZpbGw6dXJsKCNjKVwiLz48cGF0aCBkPVwiTTE0LjExLDE0LjI2MlY2LjQzM0g0LjcxOWw3LjczMiw3LjgzLDEuNjU5LDBcIiBzdHlsZT1cImZpbGwtb3BhY2l0eTowLjg3OTk5OTk5NTIzMTYyODtmaWxsOnVybCgjZClcIi8+PHBhdGggZD1cIk0xNC4xMSwyOS45NThWMjAuNDg3SDQuNzE5bDkuMzkxLDkuNDcxXCIgc3R5bGU9XCJmaWxsOiNmZmI3MDA7ZmlsbC1vcGFjaXR5OjAuNjk5OTk5OTg4MDc5MDcxXCIvPjxwYXRoIGQ9XCJNMTQuMTEyLDIyLjExNFYxNC4yODVINi4zNDZsNy43NjYsNy44MjlcIiBzdHlsZT1cImZpbGw6I2ZmYjcwMDtmaWxsLW9wYWNpdHk6MC41XCIvPjxwYXRoIGQ9XCJNMTYuNDY1LDExLjgwOXY3LjgyOWg3Ljc2NmwtNy43NjYtNy44MjlcIiBzdHlsZT1cImZpbGw6I2ZmY2QyNTtmaWxsLW9wYWNpdHk6MC42OTk5OTk5ODgwNzkwNzFcIi8+PHBhdGggZD1cIk0xNC4wOTIsMTIuNjkxVjQuODYySDYuMzI2bDcuNzY2LDcuODI5XCIgc3R5bGU9XCJmaWxsOiNmZjg5MDA7ZmlsbC1vcGFjaXR5OjAuNzAwMDAwMDQ3NjgzNzE2XCIvPjxwYXRoIGQ9XCJNMTYuMjQ2LDIyLjE3MVYzMGg3Ljc2NmwtNy43NjYtNy44MjlcIiBzdHlsZT1cImZpbGw6I2ZmODkwMDtmaWxsLW9wYWNpdHk6MC42OTk5OTk5ODgwNzkwNzFcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjEuMTIyIDIyLjE3MiAxOC42MDkgMTkuNjM4IDE2LjQ2NSAxOS42MzggMTYuNDY2IDExLjgwOSAyMC44NDcgMTEuODA5IDE4Ljg4MiA5LjgyOSAxNC4wOTIgOS44MjkgMTQuMTEgMTQuMjYyIDE0LjExIDIwLjQ4NyAxNC4xMSAzMCAxNi4yNDYgMzAgMTYuMjQ2IDIyLjE3MiAyMS4xMjIgMjIuMTcyXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+YCxcblx0XCJGb3J0cmFuXCI6IGA8ZyBpZD1cImczNzY4XCI+PHJlY3QgaWQ9XCJyZWN0ODgxXCIgeD1cIjIuMzRcIiB5PVwiMi4zNFwiIHdpZHRoPVwiMjcuMzNcIiBoZWlnaHQ9XCIyNy4zM1wiIHJ4PVwiNS4wOFwiIHN0eWxlPVwiZmlsbDojNzM0Zjk2XCIvPjxwYXRoIGlkPVwicGF0aDE0MTJcIiBkPVwiTTYuMDYsMjUuNWMwLTEuMDksMC0xLjE5LjEtMS4xOWwxLjI1LS4wNmMxLDAsMS4xOC0uMDYsMS40Mi0uMTlhLjc0Ljc0LDAsMCwwLC4zOS0uMzdjLjEyLS4yMy4xMi0uMjkuMTItNy43MiwwLTcsMC03LjUtLjEtNy42N2ExLjA2LDEuMDYsMCwwLDAtLjYzLS41LDEwLjIzLDEwLjIzLDAsMCwwLTEuMzgtLjFsLTEuMTcsMFY1LjMySDI1Ljk0djguODJIMjQuODlhOC41Niw4LjU2LDAsMCwxLTEuMi0uMDVjLS4xNCwwLS4xNS0uMDUtLjIyLS45NWExMi43MywxMi43MywwLDAsMC0uMzUtMi40MywzLjIyLDMuMjIsMCwwLDAtMi42My0yLjgxYy0uNTctLjEtMy4xLS4yLTUuMTktLjJIMTMuODd2Ni42M2wuNzUsMEE2LjMzLDYuMzMsMCwwLDAsMTYuNDksMTRhMS44OCwxLjg4LDAsMCwwLC44OS0uOTEsNS44Niw1Ljg2LDAsMCwwLC4zOS0xLjc1YzAtLjMzLjA4LS42Ni4xLS43M3MwLS4xMywxLjE4LS4xM0gyMC4yVjIxLjA2SDE3Ljg1bDAtLjYxYTcuODUsNy44NSwwLDAsMC0uNTQtMi42NmMtLjM2LS42OC0xLjA1LTEtMi40NS0xLjA4bC0uNzYtLjA3LS4yLDAsMCwzLjM0YzAsMy41MSwwLDMuNjUuMywzLjk0cy40My4zMiwzLjIyLjQyYy4wNSwwLC4wNy4yOC4wNywxLjE5djEuMThINi4wNlpcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48L2c+YCxcblx0XCJGcmVlTWFya2VyIFRlbXBsYXRlIExhbmd1YWdlXCI6IGA8cGF0aCBkPVwiTTI0LjAyMywyMC45LDI1LjQwOCwyM2w0LjYxNS03TDI1LjQwOCw5bC0xLjM4NSwyLjFMMjcuMjU1LDE2WlwiIHN0eWxlPVwiZmlsbDojMDA1MGIyXCIvPjxwYXRoIGQ9XCJNNy45NzcsMTEuMSw2LjU5Miw5LDEuOTc3LDE2bDQuNjE1LDcsMS4zODUtMi4xTDQuNzQ1LDE2WlwiIHN0eWxlPVwiZmlsbDojMDA1MGIyXCIvPjxwYXRoIGQ9XCJNMTMuMDM1LDloMi44bC0uNDk0LDIuOGgyLjhMMTguNjM1LDloMi44bC0uNDk0LDIuOGgyLjhsLS40OTUsMi44aC0yLjhsLS40OTMsMi44aDIuOGwtLjQ5NCwyLjhoLTIuOEwxOC45NjcsMjNoLTIuOGwuNDkzLTIuOC0yLjgsMEwxMy4zNzUsMjNIMTAuNTY3bC40OTMtMi44LTIuOCwwLC40OTQtMi44aDIuOGwuNDkzLTIuNzkzaC0yLjhMOS43NDEsMTEuOGgyLjhabTEuMzE5LDguNGgyLjhsLjQ5NC0yLjhoLTIuOFpcIiBzdHlsZT1cImZpbGw6IzAwNTBiMlwiLz5gLFxuXHRcIkdhbWVNYWtlciBMYW5ndWFnZVwiOiBgPHBhdGggZD1cIk0xNC4yMTYsMjQuMTY3aC0uOTg5YTMuMjQsMy4yNCwwLDAsMS0yLjgxMS0xLjY0OUw2LjY2NywxNmw0LjY4MS04LjE2N0gxNi4ybC00LjM0LDguMTc2LjA1Ny4wMzJMMTMuOTM2LDE5LjVIMTYuODJaTTguNDU1LDEwLjUzNWwtMS4yNy0yLjIxYTEsMSwwLDAsMC0uODU5LS40OTJIMmw0LDYuOTkyWk0yMS41NCw5LjQ4MmEzLjIzOSwzLjIzOSwwLDAsMC0yLjgxMi0xLjY0OUgxNy41MjNMMTUuMDQ1LDEyLjVIMTguMDJMMjAuMDgzLDE2bC00LjUzMSw4LjE2N2g1LjA1NkwyNS4zMzMsMTZaTTI2LDE3LjE3MmwtMi40Nyw0LjI3LDEuMjgzLDIuMjMzYTEsMSwwLDAsMCwuODU5LjQ5MkgzMFpcIiBzdHlsZT1cImZpbGw6IzhiYzM0YVwiLz5gLFxuXHRcIkctY29kZVwiOiBgPHBhdGggZD1cIk0xNy4zMzMsMTYuMzU2aDBMMTcuMzA5LDIwLjhsLTIuMS0xLjAxOC4wMjMtNC40MzdoMGwxMC41NTgtMy4wMzgsMi4xMDYsMS4wMTNaXCIgc3R5bGU9XCJmaWxsOiM4ZTAwMDBcIi8+PHBhdGggZD1cIk0yNC40OTIsMTguNTc2YTE0LjkwOSwxNC45MDksMCwwLDEtMS4zNDMsMy4wNzQsNy44Niw3Ljg2LDAsMCwxLTEuMzksMS44MjksNi44LDYuOCwwLDAsMS0xLjcsMS4zMjQsNy40MDUsNy40MDUsMCwwLDEtMi4wMDYuODU1LDYsNiwwLDAsMS0zLjA3Mi4yM0E0LjY2OCw0LjY2OCwwLDAsMSwxMi40NCwyNC42NGE1LjMyMiw1LjMyMiwwLDAsMS0uNjM2LS42MjlsLS41MDgtLjI0NGE0LjcxNyw0LjcxNywwLDAsMCwuNDU3LjE4MSw1LjUyLDUuNTIsMCwwLDEtMS4wMTUtMS43NTgsOC4xMzUsOC4xMzUsMCwwLDEtLjQzLTEuNTMzYy0uMDIzLS4xMzEtLjA0My0uMjM5LS4wNjEtLjM0YTcuMjkyLDcuMjkyLDAsMCwwLC4zNzcsMS4zNTQsNS44MzYsNS44MzYsMCwwLDAsMS42MTQsMi4zMTljLjA2LjA1NC4xMjcuMS4xOS4xNDguMDQuMDA4LjA3OC4wMjIuMTE5LjAyOWE2LjQ1NCw2LjQ1NCwwLDAsMCwyLjkyOC0uMjE5LDguNCw4LjQsMCwwLDAsMS45MS0uODA3LDcuNjU4LDcuNjU4LDAsMCwwLDEuNTg5LTEuMjI3LDguNjYyLDguNjYyLDAsMCwwLDEuMjktMS42OSwxMi42NjcsMTIuNjY3LDAsMCwwLDEuMDE5LTIuMTk0TDIzLjMsMTljLjA1Ni0uMTUzLjA5MS0uMjU0LjA5MS0uMjU0WlwiIHN0eWxlPVwiZmlsbDojOGUwMDAwXCIvPjxwYXRoIGQ9XCJNMjQuNTI0LDQuMDEzYTExLjYsMTEuNiwwLDAsMC02LjU4OC0xLjk5NCwxMy44LDEzLjgsMCwwLDAtOS4zNzMsNC44NEExOC4yNDMsMTguMjQzLDAsMCwwLDQsMTguOGMuMDIxLDMuODUxLDEuNDgxLDcuODA2LDUuMTEyLDkuNTc1YTEzLjU2MywxMy41NjMsMCwwLDAsNC4xNTksMS41NjQsMTIuMTE0LDEyLjExNCwwLDAsMCw2Ljg2OS0xLjUyOWMtMi43MzQsMS4zMzMtNi4xMiwxLjk5My04Ljg5NC40LTIuNjg5LTEuNTQzLTMuOTgzLTQuNzI0LTQuMjIxLTcuNy0uNTEyLTYuNCwzLjEtMTMuNjQsOS4xMzItMTYuMjgxLDMuNTEyLTEuNTM3LDcuMzA3LTEuNTg1LDEwLjIzOSwxLjFDMjYuNzI3LDUuMjQ0LDI1LDQuMzA1LDI0LjUyNCw0LjAxM1ptLTE0LjM1OSwyNC44LS4xMzgtLjA5M1pcIiBzdHlsZT1cImZpbGw6IzhlMDAwMFwiLz48cGF0aCBkPVwiTTIyLjUyOSwyNi43ODhjLTMuMDQ0LDIuNTgyLTcuOTIsNC4xNDktMTEuNTU0LDEuODU3QzcuMjQsMjYuMjg5LDYuNTMsMjEuMDg5LDcuMjEyLDE3LjA4M2ExNy4yMTgsMTcuMjE4LDAsMCwxLDYuNy0xMC45N2MzLjc3MS0yLjYzNiw4Ljg4LTMuNDksMTIuNDg5LS4xODJsLTIuMjcsMy4yOTFjLTIuNTEtMi4zNTUtNi4zLTEuOTU2LTguOTQ1LS4wNTJBMTIuNDM0LDEyLjQzNCwwLDAsMCwxMC41LDE2LjJjLS42NjIsMi42MjMtLjUsNi4wMTEsMS41LDguMDQ3LDIuMDg4LDIuMTI5LDUuMTEyLDIuMTE2LDcuNjU2LjhBMTAuMzM0LDEwLjMzNCwwLDAsMCwyNC41LDE4LjYzNkwxNy4zMDcsMjAuOGwuMDIyLTQuNDM4TDI3Ljg5LDEzLjMxOWwuMS44MDZoMEExNi42MjUsMTYuNjI1LDAsMCwxLDIyLjUyOSwyNi43ODhaXCIgc3R5bGU9XCJmaWxsOiNiYTAwMDBcIi8+YCxcblx0XCJHRFNjcmlwdFwiOiBgPHBhdGggZD1cIk0yOC4xNjYsMjEuMDI5djEuNjUyYS4zNzQuMzc0LDAsMCwxLS4yNi4zNTdsLTIuNi44NDFhLjM2Ny4zNjcsMCwwLDEtLjMzNS0uMDU0LjM3NC4zNzQsMCwwLDEtLjE1NS0uM3YtMS44bC0yLjQzOC40NjRWMjQuMDJhLjM3NS4zNzUsMCwwLDEtLjMyNS4zNzFsLTMuNTI1LjQ4M2MtLjAxNiwwLS4wMzQsMC0uMDUxLDBBLjM3NC4zNzQsMCwwLDEsMTguMSwyNC41VjIyLjU1N2wtMS44MTkuMDA4aC0uMjY3bC0xLjgxOS0uMDA4VjI0LjVhLjM3NS4zNzUsMCwwLDEtLjM3NS4zNzZjLS4wMTcsMC0uMDM0LDAtLjA1MiwwbC0zLjUyNS0uNDgzYS4zNzUuMzc1LDAsMCwxLS4zMjQtLjM3MVYyMi4xODRsLTIuNDM5LS40NjR2MS44YS4zNzQuMzc0LDAsMCwxLS4xNTQuMy4zNy4zNywwLDAsMS0uMzM2LjA1NGwtMi42LS44NDFhLjM3NC4zNzQsMCwwLDEtLjI1OS0uMzU3VjIxLjAyOWwtMS42MDgtLjU0MWE0LjU1OCw0LjU1OCwwLDAsMC0uMTI0LDEuMDRjMCw0LjMxNyw2LjA4Miw3LjY1LDEzLjYsNy42NzRoLjAxOWM3LjUxNy0uMDI0LDEzLjYtMy4zNTYsMTMuNi03LjY3NGE0LjU0LDQuNTQsMCwwLDAtLjEtLjk1WlwiIGZpbGw9XCIjNDc4Y2JmXCIvPjxwYXRoIGQ9XCJNMy43MTEsMTMuMzczVjIwLjFsLjkwNy4zMDZhLjM3NC4zNzQsMCwwLDEsLjI1Ni4zNTV2MS42NWwxLjg1NS42VjIxLjI2N2EuMzc2LjM3NiwwLDAsMSwuNDQ1LS4zNjlsMy4xODkuNjA5YS4zNzQuMzc0LDAsMCwxLC4zMDUuMzY4djEuODE4bDIuNzc1LjM3OXYtMS44OWEuMzc0LjM3NCwwLDAsMSwuMzc2LS4zNzVoMGwyLjMyNy4wMDksMi4zMjYtLjAwOWEuMzc0LjM3NCwwLDAsMSwuMzc3LjM3NXYxLjg5bDIuNzc1LS4zNzlWMjEuODc0YS4zNzMuMzczLDAsMCwxLC4zLS4zNjhsMy4xODktLjYwOWEuMzc3LjM3NywwLDAsMSwuNDQ2LjM2OXYxLjc0MWwxLjg1NS0uNlYyMC43NmEuMzc0LjM3NCwwLDAsMSwuMjU1LS4zNTVsLjYxOC0uMjA4VjEzLjM3M2guMDE3QTI2Ljc5MiwyNi43OTIsMCwwLDAsMzAsMTAuOTMxYTE5LjAyLDE5LjAyLDAsMCwwLTIuNTA5LTMuMjg4QTI0LjUwNywyNC41MDcsMCwwLDAsMjUsOS4wOTFhMTMuMDEsMTMuMDEsMCwwLDAtMS4yNzktMS4wNTIsMTUuMzY1LDE1LjM2NSwwLDAsMC0xLjM3NS0uODk0LDI4LjM1MywyOC4zNTMsMCwwLDAsLjIzMi0zLjA3MUExNS45NjgsMTUuOTY4LDAsMCwwLDE4Ljg0NywyLjhhMjYuNDQsMjYuNDQsMCwwLDAtMS4zODUsMi43LDkuNDYsOS40NiwwLDAsMC0xLjQ1My0uMTE2aC0uMDE4YTkuNDU3LDkuNDU3LDAsMCwwLTEuNDU0LjExNiwyNi4yNzUsMjYuMjc1LDAsMCwwLTEuMzg1LTIuN0ExNS45NjEsMTUuOTYxLDAsMCwwLDkuNDIyLDQuMDc1YTI4LjE0MiwyOC4xNDIsMCwwLDAsLjIzMiwzLjA3MSwxNS4zMTIsMTUuMzEyLDAsMCwwLTEuMzc2Ljg5NEExMy4wNiwxMy4wNiwwLDAsMCw3LDkuMDkxYTI0LjU1MywyNC41NTMsMCwwLDAtMi40OS0xLjQ0OEExOS4wMiwxOS4wMiwwLDAsMCwyLDEwLjkzMWEyNi43OTIsMjYuNzkyLDAsMCwwLDEuNjk0LDIuNDQzWlwiIGZpbGw9XCIjNDc4Y2JmXCIvPjxwYXRoIGQ9XCJtMTIuNDYyIDE2LjZhMi43MzkgMi43MzkgMCAxIDEtMi43NC0yLjczOCAyLjczOSAyLjczOSAwIDAgMSAyLjc0IDIuNzM4XCIgZmlsbD1cIiNmZmZcIi8+PHBhdGggZD1cIm0xMS44IDE2Ljc2NGExLjgxOSAxLjgxOSAwIDEgMS0xLjgxOS0xLjgxOSAxLjgxNyAxLjgxNyAwIDAgMSAxLjgxOSAxLjgxOVwiIGZpbGw9XCIjNDE0MDQyXCIvPjxwYXRoIGQ9XCJNMTYuMTY2LDE5LjU5YS44NDQuODQ0LDAsMCwxLS44ODItLjhWMTYuMjY3YS44ODYuODg2LDAsMCwxLDEuNzY0LDB2Mi41MjJhLjg0NS44NDUsMCwwLDEtLjg4My44XCIgZmlsbD1cIiNmZmZcIi8+PHBhdGggZD1cIm0xOS44NzEgMTYuNmEyLjczOSAyLjczOSAwIDEgMCAyLjc0LTIuNzM4IDIuNzM5IDIuNzM5IDAgMCAwLTIuNzQgMi43MzhcIiBmaWxsPVwiI2ZmZlwiLz48cGF0aCBkPVwibTIwLjUzMSAxNi43NjRhMS44MTggMS44MTggMCAxIDAgMS44MTctMS44MTkgMS44MTcgMS44MTcgMCAwIDAtMS44MTcgMS44MTlcIiBmaWxsPVwiIzQxNDA0MlwiLz5gLFxuXHRcIkdpdFwiOiBgPHBhdGggZD1cIk0yOS40NzIsMTQuNzUzLDE3LjI0NywyLjUyOGExLjgsMS44LDAsMCwwLTIuNTUsMEwxMi4xNTgsNS4wNjdsMy4yMiwzLjIyYTIuMTQxLDIuMTQxLDAsMCwxLDIuNzEyLDIuNzNsMy4xLDMuMWEyLjE0MywyLjE0MywwLDEsMS0xLjI4NSwxLjIxbC0yLjg5NS0yLjg5NXY3LjYxN2EyLjE0MSwyLjE0MSwwLDEsMS0xLjc2NC0uMDYyVjEyLjNhMi4xNDYsMi4xNDYsMCwwLDEtMS4xNjUtMi44MTRMMTAuOTExLDYuMzE0LDIuNTI4LDE0LjdhMS44LDEuOCwwLDAsMCwwLDIuNTUxTDE0Ljc1MywyOS40NzJhMS44LDEuOCwwLDAsMCwyLjU1LDBMMjkuNDcyLDE3LjNhMS44LDEuOCwwLDAsMCwwLTIuNTUxXCIgc3R5bGU9XCJmaWxsOiNkZDRjMzVcIi8+PHBhdGggZD1cIk0xMi4xNTgsNS4wNjdsMy4yMiwzLjIyYTIuMTQxLDIuMTQxLDAsMCwxLDIuNzEyLDIuNzNsMy4xLDMuMWEyLjE0MywyLjE0MywwLDEsMS0xLjI4NSwxLjIxbC0yLjg5NS0yLjg5NXY3LjYxN2EyLjE0MSwyLjE0MSwwLDEsMS0xLjc2NC0uMDYyVjEyLjNhMi4xNDYsMi4xNDYsMCwwLDEtMS4xNjUtMi44MTRMMTAuOTExLDYuMzE0XCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+YCxcblx0XCJHTFNMXCI6IGA8cGF0aCBkPVwiTTcuNzc5LDE4LjkyM0EyLjMzMywyLjMzMywwLDAsMSw1LjQsMTcuMTZjLjMwNiwxLjQ2MiwxLjk2MSwyLjg5Miw3LjE4MywzLjUyOWExNC4yMjgsMTQuMjI4LDAsMCwwLDkuMjMyLTEuNjEycy43MzMtLjMyMi4yOTMuMTc2YzAsMC0zLjEwNywyLjg3My05LjIsMi45UzEuOTcsMTkuMTA3LDIsMTZjLS4wMjktMy4xMDcsNC44MDYtNi4xODUsMTAuOS02LjE1NXM5LjIsMi45LDkuMiwyLjljLjQ0LjUtLjI5My4xNzYtLjI5My4xNzYtMS4wODQtLjctNC4yODYtMi4wODktOS4yMzItMS42MTItNC44NjYuNDY5LTYuNDUzLDIuMTIyLTYuOTgxLDMuMjM1YTMuMjU0LDMuMjU0LDAsMCwwLS4zMTgsMS4yNCwyLjQyNCwyLjQyNCwwLDAsMSwyLjUtMi4zMTZBMi41MDcsMi41MDcsMCwwLDEsMTAuMywxNi4xOTUsMi41MDYsMi41MDYsMCwwLDEsNy43NzksMTguOTJabTE5LjY0Ny0xLjA3NEgzMHYuOTM3SDI2LjM0NFYxMy42MDloMS4wODJ2NC4yNFpNMjMuNDU0LDE2aDIuMTYzdjIuNzkxSDI0LjlsLS4xMDgtLjY0OWExLjksMS45LDAsMCwxLTEuNjE0Ljc4NiwyLjQxNCwyLjQxNCwwLDAsMS0yLjM3OS0yLjcxMSwyLjQ4NSwyLjQ4NSwwLDAsMSwyLjUzMS0yLjc0QTIuMDUzLDIuMDUzLDAsMCwxLDI1LjYsMTUuMjE3SDI0LjUxNWExLjEzNiwxLjEzNiwwLDAsMC0xLjEzMi0uODUxYy0uNzcxLDAtMS40ODUuNTM0LTEuNDg1LDEuODYsMCwxLjQxMy43NzEsMS43ODEsMS41MDYsMS43ODFhMS4yOCwxLjI4LDAsMCwwLDEuMjU0LTEuMTM5aC0xLjJWMTZaTTcuNzgxLDE0LjFhMS44NiwxLjg2LDAsMCwwLTEuOCwyLjEwNSwxLjg2LDEuODYsMCwwLDAsMS44LDIuMTA1LDEuODYsMS44NiwwLDAsMCwxLjgtMi4xMDVBMS44NiwxLjg2LDAsMCwwLDcuNzgxLDE0LjFabTIuOTExLDEuMzgzaC41MjV2LjQ2OGguMDEzYTEuMTIsMS4xMiwwLDAsMSwuOTg3LS41NjMsMS41NjUsMS41NjUsMCwwLDEsMS41MDYsMS42NzcsMS42NzUsMS42NzUsMCwwLDEtMS41ODMsMS44MjQsMSwxLDAsMCwxLS44OC0uNDQzaC0uMDEzVjIwLjFoLS41NTdWMTUuNDc5Wk0xMi4xLDE4LjRjLjYwOCwwLDEuMDE5LS41MjcsMS4wMTktMS4yNTQsMC0uNDI0LS4xNzEtMS4yNjQtMS4wMzItMS4yNjQtLjgsMC0uODkzLjg2Ny0uODkzLDEuNDA2LDAsLjg4LjU1MSwxLjExNC45MDUsMS4xMTRabTUtLjY1MmExLjM3OCwxLjM3OCwwLDAsMS0xLjQ4OCwxLjEzMywxLjQ4NywxLjQ4NywwLDAsMS0xLjQ4Mi0xLjY1OGMwLTEuMDI1LjQ5NC0xLjg0MiwxLjU4OC0xLjg0Mi45NTYsMCwxLjQyNC43NiwxLjQyNCwxLjkzMUgxNC43MjFjMCwuNjkuMzIzLDEuMDg5Ljk2MiwxLjA4OWEuODQxLjg0MSwwLDAsMCwuODU0LS42NTJIMTcuMVptLS41OS0uODhjLS4wMzItLjUxMy0uMjQ3LS45ODctLjkyNC0uOTg3YS45NzIuOTcyLDAsMCwwLS45MTguOTg3aDEuODQyWm0zLjcxMywxLjkxN2gtLjU1N1YxNi43NTFjMC0uNTc2LS4xNjUtLjg2Ny0uNzA5LS44NjctLjMxNywwLS44NzQuMi0uODc0LDEuMXYxLjhoLS41NTdWMTUuNDc5aC41MjV2LjQ2OGguMDEzYTEuMiwxLjIsMCwwLDEsMS0uNTYzLDEuMDQ2LDEuMDQ2LDAsMCwxLDEuMTU4LDEuMTUydjIuMjUzXCIgc3R5bGU9XCJmaWxsOiM0Mzg2YjVcIi8+YCxcblx0XCJHbyBtb2R1bGVcIjogYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjU0LjUgMjI1XCI+PHRpdGxlPmZpbGVfdHlwZV9nb19wYWNrYWdlPC90aXRsZT48cGF0aCBkPVwiTTYxLjk0OSwxMy4wNjhjMTYuMDYtLjE0NywzMi4xNDMsMCw0OC4yMTEtLjA2Mi0zLjgxLDE2LjQwOC03LjQ2NiwzMi44NjItMTEuMjYxLDQ5LjI3N0gyNS41NDhjLTIuMzE5LDAtNC42MzcuMDc3LTYuOTU2LS4wOTNDMzMsNDUuNzc1LDQ3LjU2NiwyOS41LDYxLjk0OSwxMy4wNjhaXCIgc3R5bGU9XCJmaWxsOiNmMmU2YzlcIi8+PHBhdGggZD1cIk0xNDMuNTA5LDEzLjAxNGg0OC4wNzJjMTQuNDM3LDE2LjQzMSwyOS4wMTMsMzIuNzIzLDQzLjQxMSw0OS4xNzctOS4yNzQuMTkzLTE4LjU0OSwwLTI3LjgyMy4wODVIMTU0LjY1NEMxNTEuMDA2LDQ1LjgzNywxNDcuMTExLDI5LjQ2LDE0My41MDksMTMuMDE0WlwiIHN0eWxlPVwiZmlsbDojZjJlNmM5XCIvPjxwYXRoIGQ9XCJNMTEwLjE2LDEzLjAxNGgzMy4zNDljMy42LDE2LjQ0Niw3LjQ4OSwzMi44MjMsMTEuMTYsNDkuMjU0SDk4LjlDMTAyLjY5NCw0NS44NjgsMTA2LjM1LDI5LjQyMiwxMTAuMTYsMTMuMDE0WlwiIHN0eWxlPVwiZmlsbDojZWZjNzVlXCIvPjxwYXRoIGQ9XCJNMTguNTkyLDYyLjE4M2MyLjMxOS4xNyw0LjYzNy4wODUsNi45NTYuMDkzSDk4LjlxMCwyNi4wMjYuMDU0LDUyLjA1MmExOC44NTcsMTguODU3LDAsMCwwLDEuOTc5LjEzOWg1Mi4xMTRhMTQuNjkzLDE0LjY5MywwLDAsMCwxLjU0Ni0uMTA4Yy4xNDctMTcuMzY2LDAtMzQuNzMyLjA3LTUyLjFoNTIuNTE2YzkuMjc0LS4wNDYsMTguNTQ5LjEwOCwyNy44MjMtLjA4NVYyMTIuNjJIMTguNlExOC41OTIsMTM3LjQwNSwxOC41OTIsNjIuMTgzWlwiIHN0eWxlPVwiZmlsbDojZTdiZjU1XCIvPjxwYXRoIGQ9XCJNOTguOSw2Mi4yOTFoNTUuNzY5Yy0uMDYyLDE3LjM2Ni4wODUsMzQuNzMyLS4wNyw1Mi4xLS41MTguMDU0LTEuMDM2LjA5My0xLjU0Ni4xMDhIMTAwLjk0YTE4Ljg1NywxOC44NTcsMCwwLDEtMS45NzEtLjEzMUM5OC44NjEsOTYuOTkzLDk4Ljk2OSw3OS42MzQsOTguOSw2Mi4yOTFaXCIgc3R5bGU9XCJmaWxsOiNkYmI1NTFcIi8+PHJlY3QgeD1cIjM0LjM4OVwiIHk9XCIxNjMuNjgyXCIgd2lkdGg9XCI3Mi40MTdcIiBoZWlnaHQ9XCIyNy44ODVcIiBzdHlsZT1cImZpbGw6I2YyZjJmMlwiLz48cGF0aCBkPVwiTTYxLjQyMiwxMzcuMDg1Yy0uMzg4LDAtLjQ4Ny0uMTk0LS4yOTEtLjQ4N2wyLjA0MS0yLjYyNWExLjM5MywxLjM5MywwLDAsMSwxLjA2OS0uNDg3aDM0LjdjLjM4OCwwLC40ODcuMjkxLjI5MS41ODRMOTcuNTgyLDEzNi42YTEuNDgxLDEuNDgxLDAsMCwxLS45NzIuNTg0WlwiIHN0eWxlPVwiZmlsbDojY2UzMjYyXCIvPjxwYXRoIGQ9XCJNNDYuNzQsMTQ2LjAyOGMtLjM4OCwwLS40ODctLjE5NC0uMjkxLS40ODdsMi4wNDEtMi42MjVhMS4zOTMsMS4zOTMsMCwwLDEsMS4wNjktLjQ4N0g5My44OWEuNDQ3LjQ0NywwLDAsMSwuNDg3LjU4NGwtLjc3OCwyLjMzM2EuODUuODUsMCwwLDEtLjg3NS41ODRaXCIgc3R5bGU9XCJmaWxsOiNjZTMyNjJcIi8+PHBhdGggZD1cIk03MC4yNjQsMTU0Ljk3MWMtLjM4OCwwLS40ODctLjI5MS0uMjkxLS41ODRsMS4zNTctMi40M2ExLjI4OSwxLjI4OSwwLDAsMSwuOTcyLS41ODRIOTEuNzQ3Yy4zODgsMCwuNTg0LjI5MS41ODQuNjgxbC0uMTk0LDIuMzMzYS43MzEuNzMxLDAsMCwxLS42ODEuNjgxWlwiIHN0eWxlPVwiZmlsbDojY2UzMjYyXCIvPjxwYXRoIGQ9XCJNMTcxLjE2MywxMzUuMzM1Yy02LjEyNCwxLjU1Ni0xMC4zLDIuNzIyLTE2LjMzLDQuMjgtMS40NjIuMzg4LTEuNTU2LjQ4Ny0yLjgxOS0uOTcyYTEzLjAxMSwxMy4wMTEsMCwwLDAtNC41NjktMy42OTRjLTYuMTI0LTMuMDEzLTEyLjA1NC0yLjEzOC0xNy41OTQsMS40NjJhMjAuNjcxLDIwLjY3MSwwLDAsMC05LjkxOCwxOC40NjksMTUuMjQyLDE1LjI0MiwwLDAsMCwxMy4xMjMsMTUuMjYxYzYuNjEuODc1LDEyLjE1MS0xLjQ2MiwxNi41MjUtNi40MTUuODc1LTEuMDY5LDEuNjUzLTIuMjM2LDIuNjI1LTMuNkgxMzMuNDQ2Yy0yLjA0MSwwLTIuNTI4LTEuMjYzLTEuODQ3LTIuOTE2LDEuMjYzLTMuMDEzLDMuNi04LjA2OCw0Ljk1OC0xMC42YTIuNjI1LDIuNjI1LDAsMCwxLDIuNDMtMS41NTZoMzUuMzg0Yy0uMTk0LDIuNjI1LS4xOTQsNS4yNDktLjU4NCw3Ljg3NGE0MS40NTYsNDEuNDU2LDAsMCwxLTcuOTY3LDE5LjA0MmMtNi45OTUsOS4yMzQtMTYuMTM2LDE0Ljk3LTI3LjcsMTYuNTI1LTkuNTI2LDEuMjYzLTE4LjM3NC0uNTg0LTI2LjE0OC02LjQxNUEzMC41MzMsMzAuNTMzLDAsMCwxLDk5LjYyNSwxNjAuNTFjLTEuMjYzLTEwLjYsMS44NDctMjAuMTIyLDguMjYyLTI4LjQ4MUE0My4xMzcsNDMuMTM3LDAsMCwxLDEzNS4xLDExNS4yMTJjOS4xMzctMS42NTMsMTcuODg2LS41ODQsMjUuNzYsNC43NjNBMzAuNDcxLDMwLjQ3MSwwLDAsMSwxNzIuMTQsMTMzLjY4QzE3Mi43MTksMTM0LjU1OCwxNzIuMzMsMTM1LjA0NCwxNzEuMTYzLDEzNS4zMzVaXCIgc3R5bGU9XCJmaWxsOiNjZTMyNjJcIi8+PHBhdGggZD1cIk0yMDMuMzM4LDE4OS4wOWMtOC44NDYtLjE5NC0xNi45MTMtMi43MjItMjMuNzE5LTguNTU0YTMwLjQ4NSwzMC40ODUsMCwwLDEtMTAuNS0xOC43NjFjLTEuNzUtMTAuOTg0LDEuMjYzLTIwLjcsNy44NzQtMjkuMzU2LDcuMS05LjMzMSwxNS42NTEtMTQuMTkyLDI3LjIxOC0xNi4yMzMsOS45MTgtMS43NSwxOS4yNDctLjc3OCwyNy43LDQuOTU4LDcuNjgsNS4yNDksMTIuNDQyLDEyLjM0NSwxMy43MDYsMjEuNjc2LDEuNjUzLDEzLjEyMy0yLjEzOCwyMy44MTYtMTEuMTc5LDMyLjk1M2E0NC41NDIsNDQuNTQyLDAsMCwxLTIzLjMyOSwxMi40NDJDMjA4LjQ5LDE4OC43LDIwNS44NjYsMTg4LjgsMjAzLjMzOCwxODkuMDlabTIzLjEzNS0zOS4yNzFhMjcuOTc4LDI3Ljk3OCwwLDAsMC0uMjkxLTMuMjA4LDE2LjAxMywxNi4wMTMsMCwwLDAtMTguMzc1LTEzLjIzNXEtLjczNC4xMTktMS40NTQuMzA2Yy05LjA0LDIuMDQxLTE0Ljg3Myw3Ljc3Ny0xNy4wMTEsMTYuOTEzYTE2LjAwOSwxNi4wMDksMCwwLDAsOC45NDMsMTguMzc0LDE3LjgyLDE3LjgyLDAsMCwwLDE1Ljg0NS0uNTg0YzcuNjc5LTMuOTg1LDExLjg1OS0xMC4yMDYsMTIuMzQ4LTE4LjU2NlpcIiBzdHlsZT1cImZpbGw6I2NlMzI2MlwiLz48L3N2Zz5gLFxuXHRcIkdvXCI6IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI1NC41IDIyNVwiPjx0aXRsZT5maWxlX3R5cGVfZ288L3RpdGxlPjxwYXRoIGQ9XCJNLTQ2LjkyNiw4OWMtLjYyMSwwLS43NzctLjMxMS0uNDY2LS43NzdsMy4yNjItNC4xOTRhMi4yMjUsMi4yMjUsMCwwLDEsMS43MDgtLjc3N0gxMy4wMjZjLjYyMSwwLC43NzcuNDY2LjQ2Ni45MzJsLTIuNjQsNC4wMzhhMi4zNjcsMi4zNjcsMCwwLDEtMS41NTMuOTMyWlwiIHN0eWxlPVwiZmlsbDojMDBhY2Q3XCIvPjxwYXRoIGQ9XCJNLTcwLjM3OSwxMDMuMjg1Yy0uNjIxLDAtLjc3Ny0uMzExLS40NjYtLjc3N2wzLjI2Mi00LjE5NGEyLjIyNSwyLjIyNSwwLDAsMSwxLjcwOC0uNzc3SDQuOTVhLjcxNC43MTQsMCwwLDEsLjc3Ny45MzJMNC40ODQsMTAyLjJhMS4zNTgsMS4zNTgsMCwwLDEtMS40LjkzMlpcIiBzdHlsZT1cImZpbGw6IzAwYWNkN1wiLz48cGF0aCBkPVwiTS0zMi43OTIsMTE3LjU3NGMtLjYyMSwwLS43NzctLjQ2Ni0uNDY2LS45MzJsMi4xNzQtMy44ODNhMi4wNiwyLjA2LDAsMCwxLDEuNTUzLS45MzJIMS41MzNjLjYyMSwwLC45MzIuNDY2LjkzMiwxLjA4N2wtLjMxMSwzLjcyOGExLjE2NywxLjE2NywwLDAsMS0xLjA4NywxLjA4N1pcIiBzdHlsZT1cImZpbGw6IzAwYWNkN1wiLz48cGF0aCBkPVwiTTEyOC40MjYsODYuMmMtOS43ODUsMi40ODUtMTYuNDY0LDQuMzQ5LTI2LjA5Myw2LjgzNC0yLjMzLjYyMS0yLjQ4NS43NzctNC41LTEuNTUzLTIuMzMtMi42NC00LjAzOC00LjM0OS03LjMtNS45LTkuNzg1LTQuODE1LTE5LjI1OS0zLjQxNy0yOC4xMTIsMi4zMy0xMC41NjEsNi44MzQtMTYsMTYuOTI5LTE1Ljg0MiwyOS41MS4xNTUsMTIuNDI1LDguNywyMi42NzYsMjAuOTY4LDI0LjM4NSwxMC41NjEsMS40LDE5LjQxNC0yLjMzLDI2LjQtMTAuMjUxLDEuNC0xLjcwOCwyLjY0LTMuNTcyLDQuMTk0LTUuNzQ3SDY4LjE2M2MtMy4yNjIsMC00LjAzOC0yLjAxOS0yLjk1MS00LjY1OSwyLjAxOS00LjgxNSw1Ljc0Ny0xMi44OTEsNy45MjEtMTYuOTI5YTQuMTk0LDQuMTk0LDAsMCwxLDMuODgzLTIuNDg1aDU2LjUzNWMtLjMxMSw0LjE5NC0uMzExLDguMzg3LS45MzIsMTIuNTgxYTY2LjIzOSw2Ni4yMzksMCwwLDEtMTIuNzM2LDMwLjQ0MkMxMDguNywxNTkuNTEsOTQuMSwxNjguNjczLDc1LjYxOCwxNzEuMTU4Yy0xNS4yMjEsMi4wMTktMjkuMzU1LS45MzItNDEuNzgtMTAuMjUxYTQ4Ljc4NSw0OC43ODUsMCwwLDEtMTkuNzI1LTM0LjQ4Yy0yLjAxOS0xNi45MjksMi45NTEtMzIuMTUsMTMuMi00NS41MDhDMzguMzQyLDY2LjQ3NSw1Mi45NDIsNTcuMzEyLDcwLjgsNTQuMDVjMTQuNi0yLjY0LDI4LjU3OC0uOTMyLDQxLjE1OSw3LjYxYTQ4LjY4Niw0OC42ODYsMCwwLDEsMTguMDE3LDIxLjlDMTMwLjkxMSw4NC45NTgsMTMwLjI4OSw4NS43MzUsMTI4LjQyNiw4Ni4yWlwiIHN0eWxlPVwiZmlsbDojMDBhY2Q3XCIvPjxwYXRoIGQ9XCJNMTc5LjgzNSwxNzIuMDljLTE0LjEzNC0uMzExLTI3LjAyNS00LjM0OS0zNy45LTEzLjY2OGE0OC43MTEsNDguNzExLDAsMCwxLTE2Ljc3NC0yOS45NzZjLTIuOC0xNy41NTEsMi4wMTktMzMuMDgyLDEyLjU4MS00Ni45MDUsMTEuMzM4LTE0LjkxLDI1LjAwNi0yMi42NzYsNDMuNDg4LTI1LjkzOCwxNS44NDItMi44LDMwLjc1My0xLjI0Myw0NC4yNjUsNy45MjEsMTIuMjcsOC4zODcsMTkuODgsMTkuNzI1LDIxLjksMzQuNjM1LDIuNjQsMjAuOTY4LTMuNDE3LDM4LjA1Mi0xNy44NjEsNTIuNjUyYTcxLjE3LDcxLjE3LDAsMCwxLTM3LjI3NiwxOS44OEMxODguMDY3LDE3MS40NjksMTgzLjg3NCwxNzEuNjI0LDE3OS44MzUsMTcyLjA5Wk0yMTYuOCwxMDkuMzQzYTQ0LjcsNDQuNywwLDAsMC0uNDY2LTUuMTI1Yy0yLjgtMTUuMzc2LTE2LjkyOS0yNC4wNzQtMzEuNjg0LTIwLjY1Ny0xNC40NDQsMy4yNjItMjMuNzYzLDEyLjQyNS0yNy4xOCwyNy4wMjVhMjUuNTc5LDI1LjU3OSwwLDAsMCwxNC4yODksMjkuMzU1YzguNTQyLDMuNzI4LDE3LjA4NSwzLjI2MiwyNS4zMTctLjkzMkMyMDkuMzQ1LDEzMi42NCwyMTYuMDI0LDEyMi43LDIxNi44LDEwOS4zNDNaXCIgc3R5bGU9XCJmaWxsOiMwMGFjZDdcIi8+PC9zdmc+YCxcblx0XCJHcmFkbGVcIjogYDxwYXRoIGQ9XCJNMTMuNSw2Ljk2NWg3LjkyM2w0LDYuODg3SDI5Ljk4QTE0LjEsMTQuMSwwLDAsMCwxMS4wMjQsMi45MzJMMTMuNSw2Ljk2NVwiIHN0eWxlPVwiZmlsbDojMDA2NTMzXCIvPjxwYXRoIGQ9XCJNMjUuNjI4LDE4bC00LjIwOSw3LjI1MkgxMC44MDZMNS41LDE2LjEwOCw5LjczOSw4LjgsNy40LDQuOTgxQTE0LjAzLDE0LjAzLDAsMSwwLDMwLDE4SDI1LjYyOFwiIHN0eWxlPVwiZmlsbDojODJiODE2XCIvPjxwYXRoIGQ9XCJNMjEuMDYxLDE1Ljk2M2E1LjAyNiw1LjAyNiwwLDEsMS01LjAyNi01LDUuMDEzLDUuMDEzLDAsMCwxLDUuMDI2LDVcIiBzdHlsZT1cImZpbGw6IzAwNjUzMlwiLz5gLFxuXHRcIkdyYXBoUUxcIjogYDxyZWN0IHg9XCItMC40M1wiIHk9XCIxMi41MzRcIiB3aWR0aD1cIjIyLjkwMVwiIGhlaWdodD1cIjEuMTg3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01Ljg1OCAxNi4xMDcpIHJvdGF0ZSgtNTkuOTk5KVwiIHN0eWxlPVwiZmlsbDojZTEwMDk4XCIvPjxyZWN0IHg9XCI0LjU0NVwiIHk9XCIyMS4xNjJcIiB3aWR0aD1cIjIyLjkwMlwiIGhlaWdodD1cIjEuMTg3XCIgc3R5bGU9XCJmaWxsOiNlMTAwOThcIi8+PHJlY3QgeD1cIjEwLjQzXCIgeT1cIjE4LjAwOFwiIHdpZHRoPVwiMS4xODdcIiBoZWlnaHQ9XCIxMy4yMjdcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE1LjgxMiAyMS44NTcpIHJvdGF0ZSgtNTkuOTk5KVwiIHN0eWxlPVwiZmlsbDojZTEwMDk4XCIvPjxyZWN0IHg9XCIyMC4zODFcIiB5PVwiMC43NzFcIiB3aWR0aD1cIjEuMTg3XCIgaGVpZ2h0PVwiMTMuMjI3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQuMDkyIDIxLjg1Nikgcm90YXRlKC01OS45OTkpXCIgc3R5bGU9XCJmaWxsOiNlMTAwOThcIi8+PHJlY3QgeD1cIjQuNDEyXCIgeT1cIjYuNzg3XCIgd2lkdGg9XCIxMy4yMjdcIiBoZWlnaHQ9XCIxLjE4N1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMi4yMTMgNi41MDIpIHJvdGF0ZSgtMzAuMDAxKVwiIHN0eWxlPVwiZmlsbDojZTEwMDk4XCIvPjxyZWN0IHg9XCIyMC4zODlcIiB5PVwiMS42NzdcIiB3aWR0aD1cIjEuMTg3XCIgaGVpZ2h0PVwiMjIuOTAxXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zLjc1MyAxMi4yNSkgcm90YXRlKC0zMC4wMDEpXCIgc3R5bGU9XCJmaWxsOiNlMTAwOThcIi8+PHJlY3QgeD1cIjUuNDU0XCIgeT1cIjkuMzg2XCIgd2lkdGg9XCIxLjE4N1wiIGhlaWdodD1cIjEzLjIyOFwiIHN0eWxlPVwiZmlsbDojZTEwMDk4XCIvPjxyZWN0IHg9XCIyNS4zNlwiIHk9XCI5LjM4NlwiIHdpZHRoPVwiMS4xODdcIiBoZWlnaHQ9XCIxMy4yMjhcIiBzdHlsZT1cImZpbGw6I2UxMDA5OFwiLz48cmVjdCB4PVwiMTUuMjIyXCIgeT1cIjI0LjA5N1wiIHdpZHRoPVwiMTEuNTA0XCIgaGVpZ2h0PVwiMS4wMzdcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTkuNDk4IDEzLjc4NSkgcm90YXRlKC0zMC4wMDEpXCIgc3R5bGU9XCJmaWxsOiNlMTAwOThcIi8+PHBhdGggZD1cIk0yOC4xMiwyM2EyLjUsMi41LDAsMSwxLS45MTUtMy40MTFBMi41LDIuNSwwLDAsMSwyOC4xMiwyM1wiIHN0eWxlPVwiZmlsbDojZTEwMDk4XCIvPjxwYXRoIGQ9XCJNOC4yLDExLjVhMi41LDIuNSwwLDEsMS0uOTE1LTMuNDExQTIuNSwyLjUsMCwwLDEsOC4yLDExLjVcIiBzdHlsZT1cImZpbGw6I2UxMDA5OFwiLz48cGF0aCBkPVwiTTMuODgsMjNhMi41LDIuNSwwLDEsMSwzLjQxMS45MTVBMi41LDIuNSwwLDAsMSwzLjg4LDIzXCIgc3R5bGU9XCJmaWxsOiNlMTAwOThcIi8+PHBhdGggZD1cIk0yMy44LDExLjVhMi41LDIuNSwwLDEsMSwzLjQxMS45MTVBMi41LDIuNSwwLDAsMSwyMy44LDExLjVcIiBzdHlsZT1cImZpbGw6I2UxMDA5OFwiLz48cGF0aCBkPVwiTTE2LDMwYTIuNSwyLjUsMCwxLDEsMi41LTIuNUEyLjQ5MywyLjQ5MywwLDAsMSwxNiwzMFwiIHN0eWxlPVwiZmlsbDojZTEwMDk4XCIvPjxwYXRoIGQ9XCJNMTYsNi45OTFhMi41LDIuNSwwLDEsMSwyLjUtMi41LDIuNDkzLDIuNDkzLDAsMCwxLTIuNSwyLjVcIiBzdHlsZT1cImZpbGw6I2UxMDA5OFwiLz5gLFxuXHRcIkdyb292eVwiOiBgPHBhdGggZD1cIk03LjQ1MywyOS44NjVjMC0uMDc0LjQ5NC0xLjcxNywxLjEtMy42NTFBMjEuODA4LDIxLjgwOCwwLDAsMCw5LjUsMjIuNmMtLjA3OS0uMDU2LS4zNS4wNDUtLjYuMjI0LS43NjQuNTM4LS45Mi40LTEuNDkxLTEuMzU2LS42MTctMS45LS42MzktMi4wOTEtLjMxNy0yLjgxLjIxLS40Ny4yLS41NzktLjE0Ny0xLjI3N2EzLjc1LDMuNzUsMCwwLDEtLjM3Ny0xLjA0NGMwLS4yNi0xLjQxMy0xLjQzOC0zLjY0Ny0zLjA0QTMuODQ1LDMuODQ1LDAsMCwxLDIsMTIuNWExMC40NzcsMTAuNDc3LDAsMCwxLDIuMzc4LS4wMzlsMi4zNzguMS4yMzItLjc0MWMuOTgxLTMuMTMsMi40NjMtNS45NTcsMy4xMjItNS45NTcuMTM3LDAsLjQxNi4yNjUuNjE5LjU4OC4zMzEuNTI3LjM3Ni44NTMuNDM1LDMuMTI2YTIzLjAxMywyMy4wMTMsMCwwLDAsLjE2NSwyLjczOWMuMDU1LjExLjIyOC0uMDM1LjM4NS0uMzIyLjItLjM2Ny40MTItLjQ2Ny43MS0uMzM1cy40ODUuMDQzLjY0Ni0uMzQ1Yy4yNDItLjU4MiwxLjQ1NS00LjUxMywxLjQ1NS00LjcxNywwLS4wNjkuMjQtLjkuNTM0LTEuODQ2cy42MzEtMi4wMzYuNzUxLTIuNDI0Yy4yMTMtLjY4OC4yNDYtLjYwNywxLjUyNCwzLjcyNiwxLjMyLDQuNDc0LDIuMDMsNi4xMjQsMi4zODUsNS41NDQuMjQ4LS40LDEuNTUtLjQyOCwxLjkxNC0uMDM0LjIwNy4yMjQuMzM4LjIyMS40NTMtLjAxLjIzNy0uNDguOC0uNC45NTMuMTQuMTE3LjQyMy4xNDcuNDIzLjMyLDBhLjgxMi44MTIsMCwwLDEsLjY5Mi0uNDY2Yy4zODksMCwuNTM4LjE2NC42NjYuNzM1bC4xNjUuNzM1LDIuNTU4LS4xODNBMTEuNTIxLDExLjUyMSwwLDAsMSwzMCwxMi40NjhhMjAuNzksMjAuNzksMCwwLDEtMi4zMjEsMS44ODljLTEuMjc3Ljk2LTIuMzQyLDEuNzc1LTIuMzY4LDEuODFhMTcuNjA3LDE3LjYwNywwLDAsMCwuMTI4LDEuODY3LDExLjA3NSwxMS4wNzUsMCwwLDEtLjU0NCw1LjcxMyw0LjMwOCw0LjMwOCwwLDAsMS0xLjAyMSwxLjQ5Yy0uMjc4LjE4Ni0uNTA2LjQtLjUwNi40ODZzLjMsMS4wNzcuNjYsMi4yMTJBOS42ODIsOS42ODIsMCwwLDEsMjQuNTY4LDMwYy0uMTA5LDAtMi43NTctMi4wNy02Ljg3Ni01LjM3M2ExMS4xNDMsMTEuMTQzLDAsMCwwLTEuNjQzLTEuMTg0Yy0uMTcxLDAtMS42NDksMS4xMzMtNS45ODQsNC41ODgtMi41MTQsMi0yLjYxMiwyLjA3My0yLjYxMiwxLjgzNVptNS4xNTgtNC43MjdjMS4zMzctMS4wNTEsMi42NjQtMi4wNzgsMi45NDctMi4yODIuNDg4LS4zNTEuNjUxLS4yNjMsMy4wMjEsMS42MzEsMS4zNzgsMS4xLDIuNzM3LDIuMTc0LDMuMDIxLDIuMzg0cy44NjguNjY2LDEuMywxLjAxM2MuNDkxLjQuNzQyLjQ5Mi42NzQuMjU2LS43Ny0yLjYzNC0uNzkzLTIuNjc4LTEuMzI3LTIuNDc2LS42NDQuMjQ0LTEuMDQzLS4wMDYtMS4yNDktLjc4M2ExLjczOSwxLjczOSwwLDAsMSwuMjQtMS40NTEsMi4zNzcsMi4zNzcsMCwwLDAtLjIyMS0yLjczMSw0LjI4OSw0LjI4OSwwLDAsMS0uNjg2LTEuNTNsLS4yNDEtMS4wMjMtLjUxNy43MWMtLjYzNi44NzMtMS40MTEuOTE4LTIuMDU5LjExOWwtLjQ3Ny0uNTg4LS41NTQuNzYyYy0uNTU1Ljc2My0xLjE5NC44NjItMS44NDQuMjg0LS4xNzktLjE1OS0uMjU4LS4xLS4yNTguMmExLjI0LDEuMjQsMCwwLDEtLjM3NS43NzdjLS42MTkuNTctMS4yMjMuNDE5LTEuNjMzLS40MDlMMTIsMTkuMjQ5bC0uMy43NzVhNy4wMzIsNy4wMzIsMCwwLDEtLjg1MywxLjQ3OSwxMy44OTEsMTMuODkxLDAsMCwwLTEuNDU1LDMuNjYzYy0uNSwxLjYyNy0uOSwzLjA0Mi0uOSwzLjE0M3MuMzgxLS4xNDEuODQ3LS41MzgsMS45NDItMS41ODIsMy4yNzktMi42MzNabTExLjM0My0xLjEzMWMxLjAxNS0xLjE1NCwxLjI1LTMuMjg4LjgtNy4yNzEtLjM3NS0zLjMyOS0uNTYyLTQuNDE5LS43ODQtNC41NjUtLjE1NC0uMS0uMTc3LjAxLS4wOTEuNDI2LjU2MiwyLjcuNTkzLDQuMDUzLjEsNC40MzQtLjMzNy4yNjItLjY5NS0uNzE5LS45NzYtMi42NzUtLjIxOC0xLjUxNS0uNDQ1LTIuMi0uNjE3LTEuODVhMy4zNTksMy4zNTksMCwwLDAsLjE2LDEuMDcsMjYuNzE4LDI2LjcxOCwwLDAsMSwuMzk0LDMuMzgxLDIxLjc1NywyMS43NTcsMCwwLDAsLjM3NSwzLjE1MWMuMzA5Ljk4NS44Ljc0NywxLjExOC0uNTRzLjM1LS40MjUuMDQ0LDEuMDU1Yy0uMzE3LDEuNTM2LTEuMjYsMi0yLjM1MiwxLjE1LS4xNzUtLjEzNi0uMjM0LDAtLjIzNC41NTVhNC45ODgsNC45ODgsMCwwLDEtLjMsMS41bC0uMy43NjUuNDA4LjEzOUEyLjI0NywyLjI0NywwLDAsMCwyMy45NTQsMjQuMDA3Wk05LjM0NiwyMS40NjhjMi4xMTgtMS4yMzIsMi41LTIuNjY4LDEuNzkzLTYuODA1YTIxLjk0MSwyMS45NDEsMCwwLDEtLjMtMi4zYzAtMS4wMjktLjI1Ni0uNTU0LS40NDguODMyLS4yNTQsMS44MzItMS4wMTYsMy4zODktMS42NTcsMy4zODMtLjU1Ny0uMDA1LS43MzgtLjIxLS45NjgtMS4wOTQtLjQxMy0xLjU4NS4wMzctNC4wMTgsMS4xODQtNi40MDYuODQtMS43NDksMS4zLTEuOTA4LDEuMy0uNDQ4LDAsMi4yNzYtLjc3Niw1LjYyNS0xLjE4NCw1LjExNWEzLjgxNCwzLjgxNCwwLDAsMSwuMDY1LTIuMmMuMi0uNzIuMTU3LTEuODE4LS4wNjYtMS44MTgtLjI1OSwwLS43NzMsMS45MS0uODQxLDMuMTI3LS4wNiwxLjA3Ni0uMDIyLDEuMzM4LjIzMSwxLjYxMi44ODguOTYyLDIuMDUyLTEuOTczLDIuMTExLTUuMzIzLjAzMS0xLjc1OS0uMTM4LTIuMjU0LS42NzQtMS45ODItLjc4MS40LTIuODgzLDUuODgzLTIuODgzLDcuNTIzLDAsMS4yODMuMzE5LDIuMTg2Ljg4LDIuNDkxLjk1NC41MTksMS44NzYtLjQsMi41MjktMi41MzFsLjI3NS0uODk0VjE0Ljk3YzAsMS43NTktLjU2NywyLjY4Ni0yLjM1NywzLjg1MmE4Ljg5Myw4Ljg5MywwLDAsMC0uODUyLjYsOS43NTgsOS43NTgsMCwwLDAsLjg5MiwyLjUzNCw1LjI4Myw1LjI4MywwLDAsMCwuOTY5LS40ODRabTEyLjc2NC0yLjE4NGMuMjEzLS40NzUuMjUtLjk5Mi4yLTIuODE3LS4wNS0xLjk4Ni0uMS0yLjMzNy0uNDg2LTMuMTQ0LS42OTEtMS40NTgtMS41NDQtMS4wODYtMS4wNDUuNDU1LjI2NS44Mi41ODkuNjguNDc1LS4yMDUtLjA5MS0uNy4wNzktLjcyMy4zNzUtLjA0MS41NTYsMS4yODEuNDE2LDMuMDU1LS4yNDIsMy4wNTUtLjQ1LDAtLjU5LS4zOS0uODgzLTIuNDU5YTYuNzUyLDYuNzUyLDAsMCwwLS4zNjItMS43MTRjLS4yMTcsMC0uMzE0LjM4OC0uMTc5LjcxOGEyOC4yMywyOC4yMywwLDAsMSwuNDUyLDIuODU5Yy40NDEsMy41MDcsMS4wNTcsNC43MDcsMS42OSwzLjI5M1ptLTguMzguMDU2YTMuMzg1LDMuMzg1LDAsMCwwLC4wOTUtMS4zM2MtLjA2LTEuMDA4LS4wOTQtMS4wODEtLjM2NC0uNzktLjM4Ny40MTktLjgtLjM3NS0uOTQ0LTEuOC0uMTA3LTEuMDgyLS4xNC0xLjA2MS42NC0uNDE1LjEuMDgxLjM0Ni0uMTk0LjU1My0uNjExLjM3Ny0uNzYzLjUtMS42OC4yMjgtMS42OC0uMDgxLDAtLjE0Ny4xMzQtLjE0Ny4zLDAsLjQyOS0uNC4zNjgtLjQ5NC0uMDc1LS4wNTMtLjI1OC0uMTY2LS4xNjctLjM2Ny4zLS4xNi4zNjktLjM1Ni42NzEtLjQzNC42NzFzLS4xODUtLjMtLjIzNy0uNjcxYy0uMDktLjY0Ni0uMS0uNjUtLjMtLjExM2EuOTUxLjk1MSwwLDAsMC0uMDEuOTY0LDE4LjgxOCwxOC44MTgsMCwwLDEsLjUyMSwzLjc5MWMwLDEuMTc0LjgsMi4xLDEuMjY3LDEuNDYzWm0yLjY4OC0xLjU1NmE3LjA1NSw3LjA1NSwwLDAsMCwuNDE2LTQuMjU5Yy0uMjM2LTEuMTQxLS42NDUtMS41NjgtMS4yMjItMS4yNzUtLjQyOS4yMTgtMS4wODIsMi43NDYtMS4wODQsNC4yLDAsMi4yNjIsMS4wNiwzLjAxNSwxLjg5LDEuMzM3Wm0tMS4wMDctMS43OTJhMy43NywzLjc3LDAsMCwxLS4yOS0xLjQxNmMwLS43NDUuMDIyLS43NzIuMi0uMy4yMi41ODYuNjExLjY4OC43NjEuMmExLjAzNSwxLjAzNSwwLDAsMC0uMDY1LS42NTZjLS4yMzItLjQ2OS0uMi0xLjEwNy4wNDktMS4xMDcuMjgsMCwuNjcyLDEuMTU0LjY3MiwxLjk4MiwwLC42MDktLjYxMywxLjg5My0uOSwxLjg5My0uMDcsMC0uMjYtLjI2OC0uNDIyLS42Wk0xOS4zNDgsMTcuN2E2LjQ0Nyw2LjQ0NywwLDAsMC0uMTQxLTQuOTE4Yy0uMzU4LS43NzMtMS4xNTMtLjkwNi0xLjQ3OS0uMjQ4YTExLjYwNywxMS42MDcsMCwwLDAtLjQ4OSwzLjg5NUMxNy40NzcsMTguMzQ4LDE4LjcxNiwxOS4xLDE5LjM0OCwxNy43Wk0xOC4xLDE1LjUyN2EyLjQ5MiwyLjQ5MiwwLDAsMS0uMzE4LTEuNTY1Yy4wMDgtLjkwOS4wMzEtLjk5MS4xMzUtLjQ3Mi4xNTMuNzY0LjQ3MywxLjA1Mi43NTMuNjc5LjE3NC0uMjMxLjE2Ni0uMzQxLS4wNS0uNjc2LS4yODgtLjQ0Ny0uMzQ0LTEuMDc5LS4xLTEuMDc5YTUuMDM3LDUuMDM3LDAsMCwxLDEuMDE3LDIuMjVjMCwuNDgtLjU2NCwxLjMyNy0uODg0LDEuMzI3QzE4LjUyNywxNS45OTEsMTguMjc2LDE1Ljc4MiwxOC4xLDE1LjUyN1ptOC42NjItMS4zMTgsMS41NDctMS4xNzUtMS42NTgtLjAxMmMtMS40ODQtLjAxMS0xLjY1OC4wNDMtMS42NTYuNTFhMTEuNTMyLDExLjUzMiwwLDAsMCwuMiwxLjg1N2MuMDExLDAsLjcxNi0uNTM0LDEuNTY3LTEuMThaTTYuNTM1LDE0bC4xNTgtLjk0OUw1LjMsMTIuOTU2Yy0uNzY0LS4wNTItMS4zODktLjAxMi0xLjM4OS4wODhhMTQuMSwxNC4xLDAsMCwwLDIuNDQ3LDEuOTM0QzYuMzcxLDE0Ljk2MSw2LjQ0OCwxNC41MjEsNi41MzUsMTRabTkuNTI2LTIuOTQxYTEuNjI0LDEuNjI0LDAsMCwxLC44MTkuNmMuMTkyLjM0OS4yNzYuMzI2LjU3My0uMTYzLjE5MS0uMzE1LjQ0LS41NzIuNTUzLS41NzJzLjItLjA2Ni4yLS4xNDZjMC0uMjc4LTIuMTIyLTcuMzA2LTIuMi03LjNzLTIuMjcsNy4zODYtMi4zMzcsNy45MjVjLS4wMjguMjI2LjA2LjMwOS4yMzEuMjE5LjE1Mi0uMDgxLjM2My4wNjMuNDY4LjMxOS4xNy40MTUuMjQuMzgyLjY0NC0uMzA2LjM4NC0uNjU0LjU0NC0uNzQyLDEuMDQ4LS41NzlaXCIgc3R5bGU9XCJmaWxsOiMzMzNcIi8+PHBhdGggZD1cIk0xNC41LDEyLjE3NWEuODUuODUsMCwwLDEtLjExNS0uMi43MzcuNzM3LDAsMCwwLS4xOTQtLjI5LjI4MS4yODEsMCwwLDAtLjMtLjA2MWMtLjA4Ny4wMzUtLjExMS4wMzktLjE1LjAyNC0uMDY1LS4wMjYtLjA4OS0uMTA2LS4wNy0uMjQyLjAyMy0uMTY5LjItLjgyNS41NDgtMi4wNTQuNzExLTIuNSwxLjY2Ni01LjY0NiwxLjc3Mi01LjgzOS4wMTItLjAyMS4wMTItLjAyMS4wMjQsMCwuMDYzLjExNC40MzIsMS4yNjYuOTM3LDIuOTIyLjY4MiwyLjI0LDEuMjUsNC4yMSwxLjI1LDQuMzM5LDAsLjA3OS0uMDYuMTI3LS4xODYuMTQ3LS4xNTcuMDI2LS4zMzkuMjEyLS41ODcuNmExLjY3NCwxLjY3NCwwLDAsMS0uMjI2LjMxYy0uMDQ4LjA0Ni0uMDUyLjA0OC0uMS4wNDhzLS4wNTYsMC0uMS0uMDQzYS45NTguOTU4LDAsMCwxLS4xLS4xNDQsMS4yNjgsMS4yNjgsMCwwLDAtLjQxNC0uNDIyLDEuNTI1LDEuNTI1LDAsMCwwLS43MzgtLjI4MS40MzQuNDM0LDAsMCwwLS40LjE1NiwyLjcxOCwyLjcxOCwwLDAsMC0uNDE2LjZjLS4yNTcuNDI1LS4zNDguNTEzLS40NDEuNDI2WlwiIHN0eWxlPVwiZmlsbDojNjM5OGFhXCIvPjxwYXRoIGQ9XCJNNi4yNTIsMTQuOTI4YTE5LjA1NSwxOS4wNTUsMCwwLDEtMi4zLTEuODM4Yy0uMDMxLS4wMzgtLjAzNC0uMDQ0LS4wMjUtLjA1N2EyLjcsMi43LDAsMCwxLDEuMTQtLjA4NWMuMjMuMDEyLDEuNjE5LjEsMS42MjEuMTA4cy0uMywxLjc3OS0uMzIxLDEuODgxQzYuMzU3LDE0Ljk4MSw2LjMzNywxNC45NzksNi4yNTIsMTQuOTI4WlwiIHN0eWxlPVwiZmlsbDojNjM5OGFhXCIvPjxwYXRoIGQ9XCJNMjUuMTc3LDE1LjM1QTE0LjIzOSwxNC4yMzksMCwwLDEsMjUsMTMuNTZhLjU1My41NTMsMCwwLDEsLjA0NC0uMjljLjA4MS0uMTUxLjI0NS0uMjA1LjctLjIzLjIyOC0uMDEzLDEuMjgxLS4wMTUsMi4wMjUsMGwuNTIxLjAwOEwyNy4wMjksMTRjLTEuMTQ0Ljg2Ny0xLjgxLDEuMzY5LTEuODM0LDEuMzgyLS4wMDYsMC0uMDEyLS4wMDYtLjAxOC0uMDI3aDBaXCIgc3R5bGU9XCJmaWxsOiM2Mzk4YWFcIi8+PHBhdGggZD1cIk04LjUwNiwyOC4yODFjMC0uMDcxLjE0OS0uNi41MjctMS44NzguOTA1LTMuMDU3LDEuMzE5LTQuMTY1LDEuODI3LTQuODkyYTcuNjY0LDcuNjY0LDAsMCwwLC45NjktMS43OTJMMTIsMTkuMjkybC4yMjUuNDQ4Yy4zOTQuNzg0LjYzMiwxLjAxMSwxLjA2MiwxLjAxNmExLjIzOSwxLjIzOSwwLDAsMCwxLjEtMS4xMzdjMC0uMTI0LjA0NC0uMjUxLjA4Ni0uMjUxYTEuMTE5LDEuMTE5LDAsMCwxLC4yMjYuMTQsMS4yNzEsMS4yNzEsMCwwLDAsLjY2Ni4zLjg3OS44NzksMCwwLDAsLjYwOS0uMTQ4LDIuNDcsMi40NywwLDAsMCwuNzExLS43NjRjLjE4Ny0uMjUyLjM0Ny0uNDU5LjM1NC0uNDU5cy4xNDMuMTU5LjMuMzUyYTUuMDkxLDUuMDkxLDAsMCwwLC40MjIuNDY3LDEuMDQ5LDEuMDQ5LDAsMCwwLDEuNTQ5LS4wOCw2LjExMSw2LjExMSwwLDAsMCwuNDY3LS41NzJjLjE2OC0uMjI4LjMwNy0uNDEuMzEtLjRzLjA2Ni4yNjkuMTQxLjU4NC4xNjkuNjcuMjA5Ljc4OWEzLjgyNiwzLjgyNiwwLDAsMCwuNjQyLDEuMjM0LDIuMTcsMi4xNywwLDAsMSwuNDY2LDEuMjQ2LDMuMDUxLDMuMDUxLDAsMCwxLS4zNTIsMS40NDcsMi4wNywyLjA3LDAsMCwwLS4yNjcuOTM0LDIuMDE3LDIuMDE3LDAsMCwwLC4yMTMuODUxLjc3My43NzMsMCwwLDAsMS4wNjkuNDEzLDEuMzUxLDEuMzUxLDAsMCwxLC4zMTYtLjA2OGMuMiwwLC4zMTUuMTkzLjU0Mi44ODEuMTU3LjQ3NC41LDEuNjM3LjUsMS42OTUsMCwuMDMtLjAxNi4wNTEtLjAzOS4wNTFhMS40ODYsMS40ODYsMCwwLDEtLjQwNy0uMjI0Yy0uMi0uMTQ0LTIuNjEyLTIuMDI5LTMuNDA4LTIuNjYzLTIuMTI4LTEuNjkzLTIuODI4LTIuMjMzLTMuMTcxLTIuNDQ2LS4zNy0uMjMtLjYyMi0uMjg1LS44MjctLjE3Ny0uMjU0LjEzMy0zLjcyNiwyLjg0Ny01Ljc1MSw0LjVBMTAuODQ2LDEwLjg0NiwwLDAsMSw4LjY1LDI4LjI1MWMtLjE0OS4wODMtLjE0My4wODEtLjE0My4wM1pcIiBzdHlsZT1cImZpbGw6IzYzOThhYVwiLz5gLFxuXHRcIkhhbWxcIjogYDxwYXRoIGQ9XCJNMTUuMzExLDE2LjA0MywxMy40LDI5LjcyNmE2LjMyMiw2LjMyMiwwLDAsMS01Ljk1Ni0xLjI1bDMuMS0xMy4yNjZMNC42OSwzLjM0YTguMDMxLDguMDMxLDAsMCwxLDMuNzktLjY0Nmw1LjE0NCw5LjcsOC45MTQtNy41ODFzMywxLjA0MSwzLjI3LDIuMDQxbC0xMC41LDkuMTg0WlwiIHN0eWxlPVwiZmlsbDojZWNkZmE3XCIvPjxwYXRoIGQ9XCJNMjcuMDE2LDE3LjQxMWE0LjI0NCw0LjI0NCwwLDAsMC0uNTQxLS44MTIsNS43LDUuNywwLDAsMC0xLjQ1OC0xLjE4Nyw3LjMzMSw3LjMzMSwwLDAsMC0xLjY4Ny0uNzkxbC0uMjI5LS4wNjItLjE4Ny0uMDYyYy0uMTI1LS4wNDItLjIyOS0uMS0uMzMzLS4xNDZhMS4yODIsMS4yODIsMCwwLDEtLjQ1OC0uNDE3QTEuNzU0LDEuNzU0LDAsMCwxLDIyLDEyLjY0MmEyLjUxOCwyLjUxOCwwLDAsMSwuMS0uMzc1Yy4wNDItLjEyNS4wODMtLjI1LjEyNS0uNGEyLjY5MSwyLjY5MSwwLDAsMCwuMDYyLS42bC4xLS4wODMsMS4yNS0xLjA0MWMuMjI5LS4xODcuNDU4LS40LjY4Ny0uNTgzYTIuMiwyLjIsMCwwLDEsLjIyOS4xNDZzLjY0Ni4wNjIsMS0uOTE2bC0uMTg3LS4xMjUuMTI1LS4xLjMxMi0uMjcxYS42MTMuNjEzLDAsMCwwLC4yMjktLjM3NS41MjkuNTI5LDAsMCwwLS40MTcuMTI1bC0uMzMzLjI1LS4yMjkuMTY3TDIyLjE4NCw2LjQ3OGMuMTQ2LS4xMjUuMjcxLS4yMjkuNDE3LS4zNTRsLjYtLjU0MS4wNjItLjA2MmMuMDYyLjA0Mi4xLjA4My4xNjcuMTI1LjE0Ni4xLjMxMi4yMDguNDU4LjI5MmwuOTE2LjVjLjI5Mi4xNjcuNi4zMzMuOTE2LjQ3OWEzLjMyMywzLjMyMywwLDAsMCwuNDc5LjIwOGMuMDgzLjAyMS4xNjcuMDYyLjI1LjA4My4wNDIsMCwuMS4wMjEuMTQ2LjAyMWguMWEuMTUxLjE1MSwwLDAsMCwuMTI1LS4wODNWNy4xMjNhLjA3Ny4wNzcsMCwwLDEsLjAyMS0uMDYyVjYuOTc3YS4xMDguMTA4LDAsMCwwLS4wNDItLjA4M2MtLjAyMS0uMDQyLS4wNjItLjA4My0uMDgzLS4xMjVhMS41OSwxLjU5LDAsMCwwLS4xODctLjE4N2MtLjEyNS0uMTI1LS4yNzEtLjIyOS0uNC0uMzMzLS4yNzEtLjIwOC0uNTYyLS40LS44NTQtLjU4M2E3LjU0NSw3LjU0NSwwLDAsMC0uOS0uNSwzLjMyMywzLjMyMywwLDAsMC0uNDc5LS4yMDhjLS4wODMtLjAyMS0uMTY3LS4wNjItLjI3MS0uMDgzLS4wNDIsMC0uMS0uMDIxLS4xNjctLjAyMWEuMzEuMzEsMCwwLDAtLjEyNS4wMjEuNTIyLjUyMiwwLDAsMC0uMTY3LjEsMS42LDEuNiwwLDAsMC0uMzc1LjIwOGwtLjYyNS4zNTRjLS4xODcuMTQ2LS40LjMxMi0uNTgzLjQ1OGwtLjIwOC0uMTQ2cy0uODc1LjA4My0uNTgzLjY0NmwuMDgzLjA4M2MtLjgzMy42ODctMS42NDUsMS40LTIuNDU3LDIuMDgzLS44MzMuNzA4LTEuNjQ1LDEuNDE2LTIuNDc4LDIuMTQ1bC0xLjIyOSwxLjA4M2ExLjg3OCwxLjg3OCwwLDAsMS0uMjA4LjE4N2MtLjA0Mi0uMTI1LS4xLS4yMjktLjE0Ni0uMzMzbC0uMjkyLS42MjUtLjU2Mi0xLjI1Yy0uMzc1LS44MzMtLjc1LTEuNjY2LTEuMTQ1LTIuNUwxMS4yMDksNC44OTVsLS4xODctLjM3NWguMjVzLjA4My0uNjg3LS40MTctLjgxMmExLjQsMS40LDAsMCwwLS4yMDguMDIxYy0uMTg3LS4zNzUtLjM1NC0uNzUtLjU0MS0xLjEyNWgwbC0uMDgzLS4zMTJBLjMzLjMzLDAsMCwwLDkuOSwyLjFhLjM1Mi4zNTIsMCwwLDAtLjEtLjA0MmMtLjA2Mi0uMDIxLS4xLS4wMjEtLjE2Ny0uMDQyQTEuMjgxLDEuMjgxLDAsMCwwLDkuMzU1LDJhNC4wNTcsNC4wNTcsMCwwLDAtLjUyMS4wNDIsOC43NjcsOC43NjcsMCwwLDAtMS4wMi4xODdjLS4zMzMuMDgzLS42NjYuMTY3LTEsLjI3MWEzLjI3MiwzLjI3MiwwLDAsMC0uNDc5LjE4N2wtLjI1LjEyNWMtLjA0Mi4wMjEtLjA4My4wNjItLjEyNS4wODNMNS45LDIuOTU4Yy0uMDIxLjAyMS0uMDIxLjA0Mi0uMDQyLjA2MnYuMDYyaDBWMy4xYS4xNjQuMTY0LDAsMCwwLC4xLjEyNWMuMDQyLjAyMS4wNjIuMDQyLjA4My4wNDJhMS4zMjcsMS4zMjcsMCwwLDEsLjE0Ni4wNDIsMS4xODgsMS4xODgsMCwwLDAsLjI3MS4wMjEsNC4zODQsNC4zODQsMCwwLDAsLjUyMS0uMDQyYy4zMzMtLjA0Mi42ODctLjA4MywxLjAyLS4xNDZsMS4wMi0uMTY3Yy4xNjctLjAyMS4zMzMtLjA2Mi41MjEtLjEuMTQ2LjI5Mi4yOTIuNi40MzcuOS0uOTU4LjA4My0yLjQ1Ny4yMDgtMy4zOTUuMzEyLS4xLS4xODctLjE4Ny0uMzU0LS4yOTItLjU0MWEuMTI3LjEyNywwLDAsMC0uMTQ2LS4wNjIuMTA4LjEwOCwwLDAsMC0uMDYyLjE0NmMuMDYyLjE2Ny4xMjUuMzEyLjE4Ny40NzlhMS4xNjcsMS4xNjcsMCwwLDAtLjUuMTI1QTEuODI4LDEuODI4LDAsMCwwLDYuNCw1LjY0NWEzLjU2NywzLjU2NywwLDAsMSwuNDU4LS4xMjVsLjQzNywxLDEuMjUsMi44MzIsMS4yNywyLjgzMmMuNDE3LjkzNy44NTQsMS44NzQsMS4yOTEsMi44MzJoMGEuMDIuMDIsMCwwLDAsLjAyMS4wMjFsLS4xODcuNjI1LS41LDEuNzQ5Yy0uMzEyLDEuMTY2LS42LDIuMzUzLS45LDMuNTJMOS4xMDUsMjIuN2wtLjQxNywxLjc3Yy0uMjkyLDEuMTg3LS41NjIsMi4zNTMtLjksMy41MmEuMTI1LjEyNSwwLDAsMCwuMDIxLjA4MywzLjA3NiwzLjA3NiwwLDAsMCwuNi41NjIsNi4wNDgsNi4wNDgsMCwwLDAsLjY4Ny40MTcsOS40LDkuNCwwLDAsMCwxLjUuNiw2Ljk3Miw2Ljk3MiwwLDAsMCwxLjYyNC4yNzEsMy43MjgsMy43MjgsMCwwLDAsLjgzMy0uMDQyLDYuNTQ3LDYuNTQ3LDAsMCwwLC44MzMtLjE2Ny4yNTQuMjU0LDAsMCwwLC4xNjctLjE4N3YtLjAyMWMuMjI5LTEuMTQ1LjQxNy0yLjMxMi42MjUtMy40NTdsLjU4My0zLjQ3OGMuMTg3LTEuMTY2LjQtMi4zMTIuNTgzLTMuNDc4LjAyMS0uMTI1LjA0Mi0uMjcxLjA2Mi0uNC4wNDIuMDQyLjA2Mi4xLjEuMTQ2YTQuMTM3LDQuMTM3LDAsMCwwLC43MDguNjQ2LDcuMjEyLDcuMjEyLDAsMCwwLDEuNTgzLjgzMywxMS43NzQsMTEuNzc0LDAsMCwwLDEuNjY2LjUsMTAuMTgyLDEwLjE4MiwwLDAsMCwxLjEuMTg3LDIuNjIxLDIuNjIxLDAsMCwwLS4yNSwxLjIwOC4xMTUuMTE1LDAsMCwwLC4wNjIuMWguMDIxYTUuMTY0LDUuMTY0LDAsMCwwLDEuMjcuNDc5LDQuMzMzLDQuMzMzLDAsMCwwLDEuMzc1LjA2MiwyLjYyNywyLjYyNywwLDAsMCwxLjMzMy0uNTYyLDIuODI0LDIuODI0LDAsMCwwLC44MTItMS4xNjZsLjAyMS0uMDIxVjIxLjFsLjA2Mi0uNTYydi0uMDIxYTUuNDI3LDUuNDI3LDAsMCwwLC42MjUtLjQxNywyLjcxLDIuNzEsMCwwLDAsLjY0Ni0uNzI5LDEuODMzLDEuODMzLDAsMCwwLC4yNS0xLDIuNTYzLDIuNTYzLDAsMCwwLS4yOTItLjk1OFptLS40LTEwLjVabS0xLjQ3OS0xLjFhNy4xMiw3LjEyLDAsMCwxLC44MzMuNTQxYy4xMjUuMS4yNzEuMTg3LjQuMzEyYTEuMjU3LDEuMjU3LDAsMCwxLC4xNjcuMTY3bC4wNDIuMDQyaC0uMDQyYy0uMDgzLS4wMjEtLjE0Ni0uMDQyLS4yMjktLjA2Mi0uMTQ2LS4wNjItLjMxMi0uMTI1LS40NTgtLjE4N2E3LjEzMiw3LjEzMiwwLDAsMS0uODc1LS40NzlBNS42MSw1LjYxLDAsMCwxLDI0LjIsNS41MmEyLjUsMi41LDAsMCwxLS4yMjktLjI1bC4zMTIuMTI1YTYuNCw2LjQsMCwwLDEsLjg1NC40MTdabS0xLjQxNi0uOTE2LjAyMS4wMjF2LjA0MmEuMDIuMDIsMCwwLDAtLjAyMS0uMDIxVjQuODk1Wk04Ljg3NiwyLjU2MmE1LjAyMSw1LjAyMSwwLDAsMS0uOTM3LjMzMyw1LjM0Nyw1LjM0NywwLDAsMS0uOTc5LjE2Nyw0LjAxMyw0LjAxMywwLDAsMS0uNS4wMjEuNzgxLjc4MSwwLDAsMS0uMjI5LS4wMjFINi4xNjljLjAyMSwwLC4wMjEtLjAyMS4wNDItLjAyMS4wNjItLjA0Mi4xNDYtLjA2Mi4yMDgtLjEuMTQ2LS4wNjIuMzEyLS4xLjQ1OC0uMTY3LjMxMi0uMDgzLjY0Ni0uMTY3Ljk3OS0uMjI5YTguNCw4LjQsMCwwLDEsLjk3OS0uMTI1QTEuNTc2LDEuNTc2LDAsMCwwLDkuMTQ3LDIuNGExLjUzNiwxLjUzNiwwLDAsMS0uMjcxLjE2N1ptMTQuNDUzLDcuMS0xLjI5MSwxLTEuMjkxLDEuMDJjLS4zNTQuMjkyLS43MDguNTgzLTEuMDYyLjg1NC4wMjEtLjAyMS4wNDItLjA2Mi4wNjItLjA4My4xNjctLjIyOS4zMzMtLjQzNy41LS42NDYuMzU0LS40MTcuNjg3LS44NTQsMS4wNjItMS4yNXMuNzcxLS43OTEsMS4xNjYtMS4xNDVhNC44NzIsNC44NzIsMCwwLDEsLjY0Ni0uNWwuMTg3LS4xMjVjLjE4Ny4xNDYuNC4yOTIuNTgzLjQzNy0uMTY3LjE0Ni0uMzc1LjI5Mi0uNTYyLjQzN1pNOC4wNjQsNy4xbC4xLjFhNS42Myw1LjYzLDAsMCwxLC41ODMuNjQ2LDIuMjEsMi4yMSwwLDAsMSwuMzc1LjcyOS45MjEuOTIxLDAsMCwxLS4wNjIuNjI1bC0uMDIxLS4wNjJMOC4wNjQsNy4xWm0xLjAyLDIuMTY2YS43Mi43MiwwLDAsMCwuMTQ2LS4yNS44NjYuODY2LDAsMCwwLC4wNDItLjQ1OEExLjcsMS43LDAsMCwwLDguOSw3LjcyN2E0LjAxNSw0LjAxNSwwLDAsMC0uOTc5LS45bC0uMjI5LS40NzljLS4xNDYtLjMxMi0uMjkyLS42MjUtLjQ1OC0uOTE2LjMxMi0uMDgzLjY4Ny0uMjA4LDEuMS0uMzEyQTIwLjMxMywyMC4zMTMsMCwwLDEsOS4zNTUsN2E3Ljk2Myw3Ljk2MywwLDAsMSwuNzcxLDIuNTQxYy4wMjEuMjA4LDAsLjQzNywwLC42NjZzMCwuNDU4LjAyMS42ODdhNy42MDksNy42MDksMCwwLDAsLjE0Ni45NThMOS4wODQsOS4yNjhaTTE0LDI2LjI0MmEuOS45LDAsMCwxLS4xODcuMjA4LjQuNCwwLDAsMS0uMzMzLjEuMzU4LjM1OCwwLDAsMS0uMjI5LS4yMjkuOTgxLjk4MSwwLDAsMS0uMDgzLS4zNTQsMi4yNzUsMi4yNzUsMCwwLDEsLjA0Mi0uNzUsMi44MTYsMi44MTYsMCwwLDEsLjIyOS0uNzA4LDEuNDc4LDEuNDc4LDAsMCwxLC4yMDgtLjI5Mi4zNDEuMzQxLDAsMCwxLC4yOTItLjEyNWMuMSwwLC4yMDguMS4yNzEuMjA4YS43NC43NCwwLDAsMSwuMDgzLjE4N2wtLjI1LDEuNDc5Yy0uMDIxLjEtLjAyMS4xODctLjA0Mi4yNzFabTEuMjI5LTcuMTg1LS4zNzUsMi4xODdhMy4zMjksMy4zMjksMCwwLDAtLjEtLjQzN2MtLjEtLjQtLjIyOS0uNzcxLS4zNTQtMS4xNDVhMTUuNTM3LDE1LjUzNywwLDAsMC0uOTU4LTIuMTY2Yy4yMjkuNzcxLjUsMS41Ljc3MSwyLjI0OS4xNDYuMzc1LjI3MS43NS40LDEuMWwuMTg3LjU2MmMwLC4wMjEuMDIxLjA2Mi4wMjEuMDgzLS4wNjIuMzMzLS4xMjUuNjY2LS4xNjcsMS4wMmwtLjMxMiwxLjljLS4wMjEtLjA0Mi0uMDIxLS4wODMtLjA0Mi0uMTI1YS40ODYuNDg2LDAsMCwwLS4zMTItLjI5Mi41MjUuNTI1LDAsMCwwLS40MTcuMTI1LDEuOTQ0LDEuOTQ0LDAsMCwwLS4yNzEuMzEyLDIuMDM2LDIuMDM2LDAsMCwwLS4yNzEuNzUsMi4xMzEsMi4xMzEsMCwwLDAsMCwuODEyLDEuMDIxLDEuMDIxLDAsMCwwLC4xNDYuNC40ODYuNDg2LDAsMCwwLC4zMzMuMjcxLjQyOC40MjgsMCwwLDAsLjM3NS0uMTY3Yy4wNDItLjA0Mi4wODMtLjEuMTI1LS4xNDYtLjE0Ni45NzktLjMxMiwxLjk1OC0uNDU4LDIuOTU3YTIuNzI3LDIuNzI3LDAsMCwxLS41NjIuMTI1Yy0uMjUuMDQyLS41LjA2Mi0uNzUuMDgzYTUuNTMxLDUuNTMxLDAsMCwxLTEuNTQxLS4xNDYsNy44NDYsNy44NDYsMCwwLDEtMS41LS40NzksMy42MjUsMy42MjUsMCwwLDEtMS4yMjktLjg1NGMuMzEyLTEuMTQ1LjY2Ni0yLjI5MSwxLjAyLTMuNDM2bC41NDEtMS43MjkuNTIxLTEuNzQ5Yy4zNTQtMS4xNjYuNzA4LTIuMzMzLDEuMDQxLTMuNS4xNjctLjU4My4zMTItMS4xNjYuNDc5LTEuNzQ5YTMuNjI2LDMuNjI2LDAsMCwwLC4xODctMS44MzN2LS4wMjFjLS4wMjEtLjAyMS0uMDQyLS4wMjEtLjA0MiwwYTMuMTA5LDMuMTA5LDAsMCwwLS4yNS4yOTJjLS4yMjktLjUyMS0uNDc5LTEuMDItLjcwOC0xLjU0MWE0Ljc2NSw0Ljc2NSwwLDAsMS0uMTY3LS41ODMsNy4xNjUsNy4xNjUsMCwwLDEtLjIwOC0xLjMxMmMtLjAyMS0uMjI5LS4wMjEtLjQzNy0uMDIxLS42NjZzLjAyMS0uNDU4LDAtLjY4N2E3LjYyNSw3LjYyNSwwLDAsMC0uODMzLTIuNiwxMi41ODcsMTIuNTg3LDAsMCwwLTEuMS0xLjgzM2MuNjg3LS4xODcsMS40MTYtLjM3NSwyLS40NzkuMDgzLjE4Ny4xODcuMzU0LjI3MS41NDFMMTEuOTM4LDcuNmwxLjI1LDIuNDM3LjYyNSwxLjIwOC4zMTIuNmMuMDgzLjEyNS4xMjUuMjcxLjIwOC4zNzVsLS44MTIuNzVhLjA2OS4wNjksMCwwLDAsMCwuMS4wNzMuMDczLDAsMCwwLC4xLjAyMWMuNDM3LS4zMTIuODc1LS42NDYsMS4zMTItLjk3OWwxLjMxMi0xYy44NzUtLjY2NiwxLjcyOS0xLjMzMywyLjU4Mi0yczEuNzA4LTEuMzU0LDIuNTYyLTIuMDQxbC4wMjEtLjAyMWEyNC4zMTYsMjQuMzE2LDAsMCwwLDEuODc0LDEuNjQ1LDYuMTYyLDYuMTYyLDAsMCwwLS44NzUuNTQxLDguOTQzLDguOTQzLDAsMCwwLTEuMjI5LDEuMTI1LDEyLjI3OSwxMi4yNzksMCwwLDAtMS4wNDEsMS4yOTEsMTEuNzc4LDExLjc3OCwwLDAsMC0uNjQ2LDFjLTEuMjcsMS4wNDEtMi41MiwyLjEtMy43MjgsMy4yMDdhLjEyOC4xMjgsMCwwLDAtLjAyMS4xNDYuMTM4LjEzOCwwLDAsMCwuMTQ2LjA0Miw5LjEzNCw5LjEzNCwwLDAsMC0uMzEyLDEuMjVjLS4xMjUuNTgzLS4yNSwxLjE2Ni0uMzU0LDEuNzQ5Wm05LjIwNSwyLjc5MWEyLjUyNywyLjUyNywwLDAsMS0xLjAyLjQ1OCwzLjc2NywzLjc2NywwLDAsMS0xLjE4Ny4wNDIsNy4zNjEsNy4zNjEsMCwwLDEtMS4xNDUtLjIwOCwyLjAzNywyLjAzNywwLDAsMSwuMTY3LTEuMDQxYy4xNDYuMDIxLjI3MS4wMjEuNDE3LjA0MmEuMTE0LjExNCwwLDAsMCwuMTI1LS4wODMuMTI0LjEyNCwwLDAsMC0uMDgzLS4xNjdoMGMtLjEtLjA0Mi0uMTg3LS4wNjItLjI5Mi0uMWEyLjc3MSwyLjc3MSwwLDAsMSwuMjkyLS40Yy4xMjUtLjEyNS4yNS0uMjUuMzc1LS4zNTRhMy45OTIsMy45OTIsMCwwLDAsLjg1NC40LDIuODgxLDIuODgxLDAsMCwwLDEuMTI1LjEsMS41NSwxLjU1LDAsMCwwLDEuMDItLjU0MSwxLjUyNCwxLjUyNCwwLDAsMCwuMzU0LS45MTYuODUuODUsMCwwLDEsLjAyMS40LDQuNTExLDQuNTExLDAsMCwxLS4wODMuNTIxbC0uMDYyLjMxMkwyNSwyMC40OTRhLjkxOS45MTksMCwwLDAtLjMzMy4zNTQuNzUxLjc1MSwwLDAsMCwuNDc5LDBjLjAyMSwwLC4wMjEtLjAyMS4wNDItLjAyMS0uMDIxLjA2Mi0uMDIxLjEtLjA0Mi4xNjdhMi41NTIsMi41NTIsMCwwLDEtLjcwOC44NTRaTTI2LjUsMTkuMTE5YTIuMiwyLjIsMCwwLDEtLjQ1OC42MjUsMi42MzgsMi42MzgsMCwwLDEtLjI3MS4yMjksMi41ODUsMi41ODUsMCwwLDAtLjA2Mi0uNTYyLDEuNTM0LDEuNTM0LDAsMCwwLS4wODMtLjI5Mi41MzEuNTMxLDAsMCwwLS4xODctLjI1aDBjLS4wMjEsMC0uMDQyLDAtLjA0Mi4wMjFoMGExLjk1LDEuOTUsMCwwLDEtLjU2Mi43NzEsMS40MjksMS40MjksMCwwLDEtLjgxMi4yOTIsMi44NTcsMi44NTcsMCwwLDEtLjkxNi0uMTI1Yy0uMzEyLS4wODMtLjYyNS0uMTg3LS45MzctLjI5MmwtLjA0Mi0uMDIxYS4yLjIsMCwwLDAtLjE4Ny4wNDJjLS4xNjcuMjA4LS4yOTIuNC0uNDM3LjYtLjEuMTY3LS4xODcuMzEyLS4yNzEuNDc5LS4zNzUtLjE0Ni0uNzI5LS4yNzEtMS4xLS40MTctLjUyMS0uMjA4LTEuMDQxLS40MTctMS41Mi0uNjY2YTcuNjQ4LDcuNjQ4LDAsMCwxLTEuNC0uODEyLDIuOTQ5LDIuOTQ5LDAsMCwxLS45NzktMS4wNjJ2LS4wMjFhLjQwOS40MDksMCwwLDAtLjE4Ny0uMTg3YzAtLjA0Mi4wMjEtLjEuMDIxLS4xNDZhNy4zNyw3LjM3LDAsMCwwLC4xLTEuNTJjMS42ODctMS4xODcsMy4zMzItMi40MzcsNC45NTctMy43MjhsLS4wNjIuMTg3YTMuMjcsMy4yNywwLDAsMC0uMTQ2LDEuMDJBMi4wODksMi4wODksMCwwLDAsMjIuMTIyLDE1LjFhMi44MjUsMi44MjUsMCwwLDAsLjQ3OS4xODdsLjI1LjA2Mi4yMDguMDQyYTYuNjQ1LDYuNjQ1LDAsMCwxLDEuNTQxLjYyNSw2LjE1Niw2LjE1NiwwLDAsMSwxLjMxMi45NzksMi4yNzUsMi4yNzUsMCwwLDEsLjcwOCwxLjMzMywxLjUxLDEuNTEsMCwwLDEtLjEyNS43OTFaXCIgc3R5bGU9XCJmaWxsOiMzZjNlMjlcIi8+PHBhdGggZD1cIk0xMi42NjcsMjMuOTA5YTIuMTYxLDIuMTYxLDAsMCwwLS4zNTQuNzcxLDEuNTU2LDEuNTU2LDAsMCwwLS4wNjIuNDE3bC0uMDIxLjQxN2E0LjUzMyw0LjUzMywwLDAsMCwuMTQ2LDEuNjY2LDcuNjQ3LDcuNjQ3LDAsMCwwLC42NjYsMS41MmMtLjA4My0uMjcxLS4xODctLjUyMS0uMjcxLS43NzFzLS4xNjctLjUyMS0uMjI5LS43OTFhNS44OSw1Ljg5LDAsMCwxLS4xLTEuNmwuMDIxLS40MTdhMi41NTIsMi41NTIsMCwwLDEsLjA0Mi0uNCwzLjEzNywzLjEzNywwLDAsMSwuMjkyLS43MjksMi45NjcsMi45NjcsMCwwLDEsLjUyMS0uNjI1LDIuNTkxLDIuNTkxLDAsMCwxLC42NjYtLjQ3OSwyLjc2LDIuNzYsMCwwLDAtMS4zMTIsMS4wMlpcIiBzdHlsZT1cImZpbGw6IzNmM2UyOVwiLz5gLFxuXHRcIkhhbmRsZWJhcnNcIjogYDxwYXRoIGQ9XCJNMTIuMywxMy4xYTQuMjM4LDQuMjM4LDAsMCwxLDIuNzI4LjlBNC41OTIsNC41OTIsMCwwLDEsMTYsMTUuMTI3YTQuMTQ0LDQuMTQ0LDAsMCwxLDIuMDM5LTEuNzQ3LDQuNzU3LDQuNzU3LDAsMCwxLDMuMjg2LjAxOSw3LjgzMyw3LjgzMywwLDAsMSwyLjQ0MywxLjU1OGMuNTY4LjUsMS4wOTQsMS4wNSwxLjY3OSwxLjUzM2EzLjQsMy40LDAsMCwwLDEuMDE5LjYxNCwxLjQyLDEuNDIsMCwwLDAsMS40Ni0uMzc5Ljk2NS45NjUsMCwwLDAtLjA1NS0xLjMyMy41NDUuNTQ1LDAsMCwwLS44LjEwOC42NTkuNjU5LDAsMCwwLC4wNS42ODYsMS4yMjIsMS4yMjIsMCwwLDEtLjYtLjkyNiwxLjAyMiwxLjAyMiwwLDAsMSwuNjkxLTEuMDMyLDIuMDA1LDIuMDA1LDAsMCwxLDIuMzEyLjY2MSwzLjI1OCwzLjI1OCwwLDAsMSwuNDQsMi4zMDgsMi43NjIsMi43NjIsMCwwLDEtMS4xMzcsMS44NzIsNS4wNTEsNS4wNTEsMCwwLDEtMy4wMTMuOCw4LjQ4OCw4LjQ4OCwwLDAsMS0yLjkzMi0uNjNjLTEuNTU4LS42MjYtMy4wMTYtMS40OTItNC42MjUtMS45OTJhMTMuOTc3LDEzLjk3NywwLDAsMC0xLjctLjM2M2MtLjQzLjAwNy0uODYxLS4wMTUtMS4yOS4wMTVhNS42OTIsNS42OTIsMCwwLDAtMS41MzQuMzQ5Yy0xLjYzNi41MDktMy4xMTYsMS40LTQuNywyLjAyNGE3LjYyNSw3LjYyNSwwLDAsMS00LjI0OS40NzQsMy43NCwzLjc0LDAsMCwxLTIuMTI1LTEuMTRBMi44NTYsMi44NTYsMCwwLDEsMiwxNi42NjhhMi43MjIsMi43MjIsMCwwLDEsLjU1NS0xLjg3NCwxLjk5NCwxLjk5NCwwLDAsMSwxLjY4Ny0uNjgsMS40MjUsMS40MjUsMCwwLDEsMS4wNjMuNTIsMS4wNCwxLjA0LDAsMCwxLC4xMjIuOTExLDEuNDU3LDEuNDU3LDAsMCwxLS41NTYuNjQ0LjY0My42NDMsMCwwLDAsLjA1MS0uNjgxLjU0Ny41NDcsMCwwLDAtLjgzMS0uMDc5Ljk3NS45NzUsMCwwLDAtLjE1MSwxLjExLDEuMzMxLDEuMzMxLDAsMCwwLDEuMDMyLjYyMywyLjMzMiwyLjMzMiwwLDAsMCwxLjYtLjdBMjguNTI2LDI4LjUyNiwwLDAsMSw5LjQsMTQuMDUzLDUuMjUxLDUuMjUxLDAsMCwxLDEyLjMsMTMuMVpcIiBzdHlsZT1cImZpbGw6I2MxOTc3MFwiLz5gLFxuXHRcIkhhc2tlbGxcIjogYDxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD1cImFcIiB4MT1cIjAuOTk2XCIgeTE9XCItMjA2LjA1N1wiIHgyPVwiMC45NTFcIiB5Mj1cIi0yMDYuMDU3XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMjU5Ljk0MSwgMCwgMCwgLTE4My40ODcsIC0yMzcuOTQxLCAtMzc3OTIuNzg4KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2ZhYmEwOVwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNiNDJjMDFcIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHRpdGxlPmZpbGVfdHlwZV9oYXNrZWxsMjwvdGl0bGU+PHBhdGggZD1cIk0yLDI1Ljg4Miw4LjU4OCwxNiwyLDYuMTE4SDYuOTQxTDEzLjUyOSwxNiw2Ljk0MSwyNS44ODJabTYuNTg4LDBMMTUuMTc3LDE2LDguNTg4LDYuMTE4aDQuOTQxTDI2LjcwNiwyNS44ODJIMjEuNzY1bC00LjExNy02LjE3Ni00LjExOCw2LjE3NlpNMjQuNTEsMjAuMTE4bC0yLjItMy4yOTRIMzB2My4yOTRabS0zLjI5NC00Ljk0MS0yLjItMy4yOTRIMzB2My4yOTRaXCIgc3R5bGU9XCJmaWxsOnVybCgjYSlcIi8+YCxcblx0XCJIYXhlXCI6IGA8cGF0aCBkPVwiTTE2LDUuNSw1LjUsMTYsMTYsMjYuNSwyNi41LDE2LDE2LDUuNVwiIHN0eWxlPVwiZmlsbDojZjY4NzEyXCIvPjxwYXRoIGQ9XCJNMiwyLDE2LDUuNSw1LjUsMTYsMiwyXCIgc3R5bGU9XCJmaWxsOiNmYWIyMGJcIi8+PHBhdGggZD1cIk0zMCwyLDI2LjUsMTYsMTYsNS41LDMwLDJcIiBzdHlsZT1cImZpbGw6I2Y0NzIxNlwiLz48cGF0aCBkPVwiTTMwLDMwLDE2LDI2LjUsMjYuNSwxNiwzMCwzMFwiIHN0eWxlPVwiZmlsbDojZjI1YzE5XCIvPjxwYXRoIGQ9XCJNMiwzMCw1LjUsMTYsMTYsMjYuNSwyLDMwXCIgc3R5bGU9XCJmaWxsOiNmODljMGVcIi8+PHBhdGggZD1cIk0xNiw1LjUsMiwySDlsNywzLjVcIiBzdHlsZT1cImZpbGw6I2ZiYzcwN1wiLz48cGF0aCBkPVwiTTE2LDUuNSwzMCwySDIzTDE2LDUuNVwiIHN0eWxlPVwiZmlsbDojZmJjNzA3XCIvPjxwYXRoIGQ9XCJNMTYsMjYuNSwzMCwzMEgyM2wtNy0zLjVcIiBzdHlsZT1cImZpbGw6I2Y2ODcxMlwiLz48cGF0aCBkPVwiTTE2LDI2LjUsMiwzMEg5bDctMy41XCIgc3R5bGU9XCJmaWxsOiNmMjVjMTlcIi8+PHBhdGggZD1cIk01LjUsMTYsMiwzMFYyM2wzLjUtN1wiIHN0eWxlPVwiZmlsbDojZmZmMjAwXCIvPjxwYXRoIGQ9XCJNNS41LDE2LDIsMlY5bDMuNSw3XCIgc3R5bGU9XCJmaWxsOiNmZmYyMDBcIi8+PHBhdGggZD1cIk0yNi41LDE2LDMwLDJWOWwtMy41LDdcIiBzdHlsZT1cImZpbGw6I2YxNDcxZFwiLz48cGF0aCBkPVwiTTI2LjUsMTYsMzAsMzBWMjNsLTMuNS03XCIgc3R5bGU9XCJmaWxsOiNmMTQ3MWRcIi8+YCxcblx0XCJITFNMXCI6IGA8cG9seWdvbiBwb2ludHM9XCI5LjUyNSAyMS45NDcgNy41NiAyMS45NDcgNy41NiAxNy4xIDMuOTU4IDE3LjEgMy45NTggMjEuOTQ3IDIgMjEuOTQ3IDIgMTAuMDQ0IDMuOTU4IDEwLjA0NCAzLjk1OCAxNC43OTIgNy41NiAxNC43OTIgNy41NiAxMC4wNDQgOS41MjUgMTAuMDQ0IDkuNTI1IDIxLjk0N1wiIHN0eWxlPVwiZmlsbDpibHVlXCIvPjxwb2x5Z29uIHBvaW50cz1cIjE2LjY5MiAyMS45NDcgMTEuNTEzIDIxLjk0NyAxMS41MTMgMTAuMDQ0IDEzLjQ3MiAxMC4wNDQgMTMuNDcyIDE5Ljc3MyAxNi42OTIgMTkuNzczIDE2LjY5MiAyMS45NDdcIiBzdHlsZT1cImZpbGw6Ymx1ZVwiLz48cGF0aCBkPVwiTTE3LjQ2MiwyMS40OTFWMTguODM0YTMuNjc2LDMuNjc2LDAsMCwwLDEuMTQ2LjkwOSwyLjgwOSwyLjgwOSwwLDAsMCwxLjI0OS4zLDIuMDUsMi4wNSwwLDAsMCwuNjQ2LS4wOTIsMS4zMDksMS4zMDksMCwwLDAsLjQ2MS0uMjUyLDEuMDI5LDEuMDI5LDAsMCwwLC4yNzYtLjM4MiwxLjIzMSwxLjIzMSwwLDAsMCwuMDkxLS40NzgsMS4zLDEuMywwLDAsMC0uMTQ1LS42MjMsMS45MDcsMS45MDcsMCwwLDAtLjQtLjUwNiw0LjA3Nyw0LjA3NywwLDAsMC0uNi0uNDQ4cS0uMzQ2LS4yMTUtLjc0Ni0uNDM5YTQuMDQ1LDQuMDQ1LDAsMCwxLTEuNTE5LTEuNDE5LDMuODg0LDMuODg0LDAsMCwxLS41LTIuMDI2LDQuMjMyLDQuMjMyLDAsMCwxLC4yNzMtMS42LDMuMDIsMy4wMiwwLDAsMSwuNzQ0LTEuMSwyLjkzOCwyLjkzOCwwLDAsMSwxLjA4OC0uNjM0LDQuMTY3LDQuMTY3LDAsMCwxLDEuMzEtLjIsNS44MTYsNS44MTYsMCwwLDEsMS4yLjExMSwzLjgsMy44LDAsMCwxLC45NjcuMzQ1djIuNDgyYTIuODU5LDIuODU5LDAsMCwwLS40NzYtLjM2NSwzLjIxMiwzLjIxMiwwLDAsMC0uNTMtLjI2MkEzLjEsMy4xLDAsMCwwLDIxLjQ2LDEyYTIuNzk0LDIuNzk0LDAsMCwwLS41MTItLjA1LDEuOTk0LDEuOTk0LDAsMCwwLS42MDYuMDg3LDEuMzQ3LDEuMzQ3LDAsMCwwLS40NjEuMjQ1LDEuMDkyLDEuMDkyLDAsMCwwLS4yOTEuMzc3LDEuMTQ0LDEuMTQ0LDAsMCwwLS4xLjQ5NCwxLjIsMS4yLDAsMCwwLC4xMTUuNTM2LDEuNjU3LDEuNjU3LDAsMCwwLC4zMjguNDQ4LDMuNDYxLDMuNDYxLDAsMCwwLC41MTUuNDE1Yy4yLjEzNi40My4yNzUuNjg2LjQxOWE3LjA5NCw3LjA5NCwwLDAsMSwuOTM2LjYzNSwzLjcxMiwzLjcxMiwwLDAsMSwuNzEzLjc1OSwzLjI2OSwzLjI2OSwwLDAsMSwuNDU1Ljk2Nyw0LjU3Myw0LjU3MywwLDAsMSwuMTU4LDEuMjY2LDQuNDM5LDQuNDM5LDAsMCwxLS4yNzcsMS42NzIsMi44ODgsMi44ODgsMCwwLDEtLjc0OSwxLjEsMi44MjMsMi44MjMsMCwwLDEtMS4xLjYsNC43NDIsNC43NDIsMCwwLDEtMS4zMjUuMTgyLDUuNDc2LDUuNDc2LDAsMCwxLTEuMzYxLS4xNjZBMy40MSwzLjQxLDAsMCwxLDE3LjQ2MiwyMS40OTFaXCIgc3R5bGU9XCJmaWxsOmJsdWVcIi8+PHBvbHlnb24gcG9pbnRzPVwiMzAgMjEuOTQ3IDI0LjgyMiAyMS45NDcgMjQuODIyIDEwLjA0NCAyNi43OCAxMC4wNDQgMjYuNzggMTkuNzczIDMwIDE5Ljc3MyAzMCAyMS45NDdcIiBzdHlsZT1cImZpbGw6Ymx1ZVwiLz5gLFxuXHRcIkhUTUxcIjogYDxwb2x5Z29uIHBvaW50cz1cIjUuOTAyIDI3LjIwMSAzLjY1NSAyIDI4LjM0NSAyIDI2LjA5NSAyNy4xOTcgMTUuOTg1IDMwIDUuOTAyIDI3LjIwMVwiIHN0eWxlPVwiZmlsbDojZTQ0ZjI2XCIvPjxwb2x5Z29uIHBvaW50cz1cIjE2IDI3Ljg1OCAyNC4xNyAyNS41OTMgMjYuMDkyIDQuMDYxIDE2IDQuMDYxIDE2IDI3Ljg1OFwiIHN0eWxlPVwiZmlsbDojZjE2NjJhXCIvPjxwb2x5Z29uIHBvaW50cz1cIjE2IDEzLjQwNyAxMS45MSAxMy40MDcgMTEuNjI4IDEwLjI0MiAxNiAxMC4yNDIgMTYgNy4xNTEgMTUuOTg5IDcuMTUxIDguMjUgNy4xNTEgOC4zMjQgNy45ODEgOS4wODMgMTYuNDk4IDE2IDE2LjQ5OCAxNiAxMy40MDdcIiBzdHlsZT1cImZpbGw6I2ViZWJlYlwiLz48cG9seWdvbiBwb2ludHM9XCIxNiAyMS40MzQgMTUuOTg2IDIxLjQzOCAxMi41NDQgMjAuNTA5IDEyLjMyNCAxOC4wNDQgMTAuNjUxIDE4LjA0NCA5LjIyMSAxOC4wNDQgOS42NTQgMjIuODk2IDE1Ljk4NiAyNC42NTQgMTYgMjQuNjUgMTYgMjEuNDM0XCIgc3R5bGU9XCJmaWxsOiNlYmViZWJcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTUuOTg5IDEzLjQwNyAxNS45ODkgMTYuNDk4IDE5Ljc5NSAxNi40OTggMTkuNDM3IDIwLjUwNyAxNS45ODkgMjEuNDM3IDE1Ljk4OSAyNC42NTMgMjIuMzI2IDIyLjg5NiAyMi4zNzIgMjIuMzc0IDIzLjA5OCAxNC4yMzcgMjMuMTc0IDEzLjQwNyAyMi4zNDEgMTMuNDA3IDE1Ljk4OSAxMy40MDdcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cG9seWdvbiBwb2ludHM9XCIxNS45ODkgNy4xNTEgMTUuOTg5IDkuMDcxIDE1Ljk4OSAxMC4yMzUgMTUuOTg5IDEwLjI0MiAyMy40NDUgMTAuMjQyIDIzLjQ0NSAxMC4yNDIgMjMuNDU1IDEwLjI0MiAyMy41MTcgOS41NDggMjMuNjU4IDcuOTgxIDIzLjczMiA3LjE1MSAxNS45ODkgNy4xNTFcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz5gLFxuXHRcIkhUVFBcIjogYDxkZWZzPjxyYWRpYWxHcmFkaWVudCBpZD1cImFcIiBjeD1cIjEyLjI3OFwiIGN5PVwiMjQuNTU3XCIgcj1cIjE4LjM3MVwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDEsIDAsIDAsIC0xLCAtMC4wMDEsIDM0LjAwMSlcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNkM2U5ZmZcIi8+PHN0b3Agb2Zmc2V0PVwiMC4xNTVcIiBzdG9wLWNvbG9yPVwiI2QzZTlmZlwiLz48c3RvcCBvZmZzZXQ9XCIwLjc1XCIgc3RvcC1jb2xvcj1cIiM0MDc0YWVcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjMzY0ODZjXCIvPjwvcmFkaWFsR3JhZGllbnQ+PHJhZGlhbEdyYWRpZW50IGlkPVwiYlwiIGN4PVwiMTAuNjU3XCIgY3k9XCIyNi43NDZcIiByPVwiMjYuNjZcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgxLCAwLCAwLCAtMSwgLTAuMDAxLCAzNC4wMDEpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmZmXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2ZmZlwiIHN0b3Atb3BhY2l0eT1cIjAuMTY1XCIvPjwvcmFkaWFsR3JhZGllbnQ+PHJhZGlhbEdyYWRpZW50IGlkPVwiY1wiIGN4PVwiLTQ1LjA1XCIgY3k9XCI5LjI4NVwiIHI9XCI0LjExNVwiIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yMS45NzEgNDEuOTQyKSByb3RhdGUoMTQzLjczNClcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNmZmZcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZmZmXCIgc3RvcC1vcGFjaXR5PVwiMFwiLz48L3JhZGlhbEdyYWRpZW50PjxyYWRpYWxHcmFkaWVudCBpZD1cImRcIiBjeD1cIi00MS40NTZcIiBjeT1cIjMyLjE1NFwiIHI9XCI0LjExNVwiIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDMuNTcxIDg3LjA3NSkgcm90YXRlKDE0My43MzQpIHNjYWxlKDEuMjk3KVwiIHhsaW5rOmhyZWY9XCIjY1wiLz48cmFkaWFsR3JhZGllbnQgaWQ9XCJlXCIgY3g9XCItNDguNDg1XCIgY3k9XCIxMy4yMzlcIiByPVwiNC4xMTVcIiBncmFkaWVudFRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMjMuMDg0IDU1LjQxMykgcm90YXRlKDE0My43MzQpXCIgeGxpbms6aHJlZj1cIiNjXCIvPjxyYWRpYWxHcmFkaWVudCBpZD1cImZcIiBjeD1cIi00MC44ODNcIiBjeT1cIjE2LjAzNlwiIHI9XCI0LjExNVwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KC0wLjg3LCAwLjYzOSwgLTAuNjM4LCAtMC44NywgLTkuMzUxLCA0Ny43MDYpXCIgeGxpbms6aHJlZj1cIiNjXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cImdcIiB4MT1cIi02Ni41MDJcIiB5MT1cIjIuMjE5XCIgeDI9XCItNjQuNjI2XCIgeTI9XCI2Ljc0OVwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDAuOTM5LCAtMC44NzksIC0wLjY4MywgLTAuNzMsIDg0LjgxLCAtMzMuNjI4KVwiIHhsaW5rOmhyZWY9XCIjY1wiLz48bGluZWFyR3JhZGllbnQgaWQ9XCJoXCIgeDE9XCItMjYuNzkxXCIgeTE9XCIzOS4xNTlcIiB4Mj1cIi0yNC45OTlcIiB5Mj1cIjQ0LjY4M1wiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDEuMTMxLCAwLjYxMywgMC40NzcsIC0wLjg3OSwgMjEuNjQ4LCA2OS4wNzEpXCIgeGxpbms6aHJlZj1cIiNjXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cImlcIiB4MT1cIi02My4zODRcIiB5MT1cIjguMTc3XCIgeDI9XCItNjMuNTdcIiB5Mj1cIjQuNjlcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgwLjkxOCwgLTAuODU5LCAtMC42NjgsIC0wLjcxMywgNzcuODU3LCAtMzYuNDkzKVwiIHhsaW5rOmhyZWY9XCIjY1wiLz48bGluZWFyR3JhZGllbnQgaWQ9XCJqXCIgeDE9XCItOTkuMjU5XCIgeTE9XCI4OS41NDVcIiB4Mj1cIi05OC44MjVcIiB5Mj1cIjkzLjAyM1wiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KC0xLjI4LCAtMC4xMjYsIC0wLjA5OCwgMC45OTUsIC0xMDEuNjM3LCAtOTMuMDE1KVwiIHhsaW5rOmhyZWY9XCIjY1wiLz48cmFkaWFsR3JhZGllbnQgaWQ9XCJrXCIgY3g9XCItMjAuNzEyXCIgY3k9XCI1Ny42MVwiIHI9XCIyLjgzNlwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDAsIC0wLjg0MywgLTAuNzIxLCAwLCAyNi42MjUsIC0yMS42OTYpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjNzI5ZmNmXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzNiNjFhNlwiLz48L3JhZGlhbEdyYWRpZW50PjxyYWRpYWxHcmFkaWVudCBpZD1cImxcIiBjeD1cIi0yMC43MTJcIiBjeT1cIjM5Ljg1OFwiIHI9XCIyLjgzNlwiIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDI2LjYyNSA2My4wOTYpIHJvdGF0ZSg5MCkgc2NhbGUoMC44NDMgMC43MjEpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjNzI5ZmNmXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzUwOWUyZlwiLz48L3JhZGlhbEdyYWRpZW50PjwvZGVmcz48dGl0bGU+ZmlsZV90eXBlX2h0dHA8L3RpdGxlPjxwYXRoIGQ9XCJNMjguMDI2LDE0LjJBMTEuODc3LDExLjg3NywwLDEsMSwxNi4xNDksMi4zMjUsMTEuODc4LDExLjg3OCwwLDAsMSwyOC4wMjYsMTQuMlpcIiBzdHlsZT1cImZpbGw6dXJsKCNhKVwiLz48cGF0aCBkPVwiTTE2LjE0OSwyNi4zODZBMTIuMTgzLDEyLjE4MywwLDEsMSwyOC4zMzMsMTQuMiwxMi4yLDEyLjIsMCwwLDEsMTYuMTQ5LDI2LjM4NlptMC0yMy43NTRBMTEuNTcxLDExLjU3MSwwLDEsMCwyNy43MiwxNC4yLDExLjU4NCwxMS41ODQsMCwwLDAsMTYuMTQ5LDIuNjMyWlwiIHN0eWxlPVwiZmlsbDojMzkzOTZjXCIvPjxwYXRoIGQ9XCJNMjcuNjkzLDEyLjQyNGgwbC0uMzI4LjM3MWE3LDcsMCwwLDAtLjY1Ni0uNjQ0bC0uNS4wNzQtLjQ2LS41MTl2LjY0M2wuMzk0LjMuMjYyLjMuMzUtLjRjLjA4OC4xNjUuMTc1LjMzLjI2My41di40OTVsLS4zOTQuNDQ1LS43MjIuNS0uNTQ2LjU0NS0uMzUtLjQuMTc1LS40NDUtLjM1LS40LS41OTEtMS4yNjItLjUtLjU2OUwyMy42LDEyLjFsLjIuNzE4LjM3MS40MjFhMTcuMDY5LDE3LjA2OSwwLDAsMCwuNywxLjc4Myw5Ljk3OSw5Ljk3OSwwLDAsMCwxLjI2OC0uMXYuMzQ3bC0uNTI1LDEuMjg3LS40ODEuNTQ0LS4zOTQuODQzVjE5LjMzbC4xMzIuNTQ1LS4yMTkuMjQ3LS40ODIuMy0uNS40MjEuNDE2LjQ3LS41NjkuNS4xMDkuMzIxLS44NTMuOTY2SDIyLjJsLS40ODEuM2gtLjMwN3YtLjRsLS4xMy0uNzkzYy0uMTY5LS41LS4zNDYtLjk5MS0uNTI1LTEuNDg0LDAtLjM2NC4wMjItLjcyNS4wNDQtMS4wODlsLjIxOS0uNDk1LS4zMDctLjU5NS4wMjItLjgxNy0uNDE2LS40Ny4yMDgtLjY4LS4zMzgtLjM4NEgxOS42bC0uMi0uMjIzLS41OTEuMzcyLS4yNC0uMjczLS41NDcuNDdMMTYuOTExLDE1LjI3bC0uNDM3LTEuMDQuMzk0LS41OTMtLjIxOS0uMjQ3LjQ4MS0xLjEzOWMuMzk1LS40OTEuODA3LS45NjMsMS4yMjUtMS40MzZsLjc0NC0uMi44MzEtLjEuNTY5LjE0OS44MDkuODE2LjI4NC0uMzIxLjM5My0uMDQ5Ljc0NC4yNDdIMjMuM2wuMzk0LS4zNDcuMTc1LS4yNDctLjM5NC0uMjQ3LS42NTYtLjA0OWE2LjYsNi42LDAsMCwwLS41NjgtLjc0M2wtLjIxOS4xLS4wODguNjQ0LS4zOTQtLjQ0NS0uMDg3LS41LS40MzctLjM0NmgtLjE3NmwuNDM4LjQ5NS0uMTc1LjQ0NS0uMzUuMS4yMTktLjQ0NS0uMzk0LS4yLS4zNDktLjQtLjY1Ny4xNDgtLjA4Ny4yLS4zOTQuMjQ4LS4yMTkuNTQ1LS41NDYuMjcyLS4yNDEtLjI3MkgxNy44M1Y5LjQyOGwuNTY5LS4zaC40MzdsLS4wODgtLjM0NkwxOC40LDguNDM4bC41OS0uMTI0LjMyOC0uMzcxLjI2Mi0uNDQ2aC40ODJsLS4xMzItLjM0Ni4zMDctLjJ2LjRsLjY1Ni4xNDguNjU2LS41NDQuMDQ0LS4yNDguNTY4LS40YTQuMzUzLDQuMzUzLDAsMCwwLS42MTIuMVY1Ljk2M2wuMjE5LS41aC0uMjE5bC0uNDguNDQ1LS4xMzIuMjQ4LjEzMi4zNDctLjIxOS41OTMtLjM1LS4yLS4zMDYtLjM0Ni0uNDgyLjM0Ni0uMTc1LS43OTIuODMxLS41NDR2LS4zbC41MjUtLjM0Ni44MzEtLjIuNTY5LjIsMS4wNDkuMi0uMjYyLjNIMjIuNTFsLjU2OS41OTQuNDM3LS40OTUuMTMzLS4yMThhMTUuNTMsMTUuNTMsMCwwLDEsMi42MzUsMy4xNDdBMTEuNDUyLDExLjQ1MiwwLDAsMSwyNy42OTMsMTIuNDI0WlwiIHN0eWxlPVwiZmlsbDojMjA0YTg3O2ZpbGwtb3BhY2l0eTowLjcxMzQ1MDMxMjYxNDQ0MDlcIi8+PHBhdGggZD1cIk0xNi44NjEsNS41MTdsLS4wNDQuMy4zMDcuMi41MjQtLjM0Ni0uMjYyLS4zLS4zNS4yLS4xNzQtLjA1XCIgc3R5bGU9XCJmaWxsOiMyMDRhODc7ZmlsbC1vcGFjaXR5OjAuNzEzNDUwMzEyNjE0NDQwOVwiLz48cGF0aCBkPVwiTTE3LjM0MywzLjQ4OGwtMS4xMzgtLjQ0Ni0xLjMxMi4xNDgtMS42MTkuNDQ1LS4zMDYuMywxLjAwNi42OTN2LjRsLS4zOTQuNC41MjUsMS4wNC4zNDktLjIuNDM4LS42OTNhMTUuMDUzLDE1LjA1MywwLDAsMCwxLjkyNC0uNzQzbC41MjUtMS4zMzdcIiBzdHlsZT1cImZpbGw6IzIwNGE4NztmaWxsLW9wYWNpdHk6MC43MTM0NTAzMTI2MTQ0NDA5XCIvPjxwYXRoIGQ9XCJNMTguNTI0LDcuNjQ3LDE4LjM0OSw3LjJsLS4zMDcuMS4wODguNTQ0LjM5NC0uMlwiIHN0eWxlPVwiZmlsbDojMjA0YTg3O2ZpbGwtb3BhY2l0eTowLjcxMzQ1MDMxMjYxNDQ0MDlcIi8+PHBhdGggZD1cIk0xOC43LDcuNTQ3bC0uMDg4LjU5NS40ODEtLjEuMzUtLjM0Ni0uMzA2LS4zYy0uMS0uMjc0LS4yMjEtLjUyOS0uMzUtLjc5MmgtLjI2MnYuM2wuMTc0LjJ2LjQ0NVwiIHN0eWxlPVwiZmlsbDojMjA0YTg3O2ZpbGwtb3BhY2l0eTowLjcxMzQ1MDMxMjYxNDQ0MDlcIi8+PHBhdGggZD1cIk0xMi4yMjUsMTYuOTUzbC0uMzUtLjY5My0uNjU2LS4xNDgtLjM1LS45NC0uODc1LjEtLjc0My0uNTQ0LS43ODguNjkzdi4xMDlhMywzLDAsMCwxLS43NDMtLjIwOWwtLjE3NS0uNDk1VjE0LjI4bC0uNTI1LjA0OXEuMDY2LS41Mi4xMzEtMS4wMzlINi44NDVsLS4zMDYuNC0uMzA2LjE0OEw1LjgsMTMuNTg3bC0uMDQ0LS41NDUuMDg4LS41OTQuNjU2LS40OTVINy4wMmwuMDg3LS4zLjY1Ni4xNDguNDgxLjU5NS4wODgtLjk5MS44MzEtLjY5My4zMDYtLjc0My42MTItLjI0Ny4zNS0uNDk1Ljc4Ny0uMTQ5LjM5NC0uNTkzSDEwLjQzMmwuNzQ0LS4zNDdIMTEuN2wuNzQ0LS4yNDguMDg4LS4zLS4yNjMtLjI0OC0uMzA2LS4xLjA4OC0uMy0uMjE5LS40NDUtLjUyNS4yLjA4OC0uNC0uNjEyLS4zNDdMMTAuMyw2LjhsLjA0NC4zLS40ODEuMi0uMzA2LjY0My0uMTMxLS41OTRMOC41OTQsN2wtLjEzMS0uNDQ1LDEuMDk0LS42NDQuNDgxLS40NDUuMDQ0LS41NDQtLjI2Mi0uMTQ5LS4zNS0uMDUtLjIxOS41NDVzLS4zNjYuMDcyLS40Ni4wOTVBMTIuNSwxMi41LDAsMCwwLDQuNiwxMy4zNzFhNi43ODksNi43ODksMCwwLDAsLjQwOS43MTFsLjkxOC41NDQuOTE4LjI0OC4zOTQuNS42MTIuNDQ1LjM1LS4wNDkuMjYyLjExOHYuMDhsLS4zNS45NC0uMjYzLjQuMDg4LjItLjIxOS43NDIuNzg3LDEuNDM2Ljc4Ny42OTMuMzUuNDk1TDkuNiwyMS45bC4yNjMuNTkzTDkuNiwyMy42MzdzLS4wMjEtLjAwNy4wMTMuMTA3YTUuMjc4LDUuMjc4LDAsMCwwLDEuNDg4LjgwOWwuMTYxLS4xMjMtLjA4Ny0uMjQ3LjM1LS4zNDcuMTMxLS4zNDcuNTY5LS4yLjQzNy0xLjA4OS0uMTMxLS4zLjMwNi0uNDQ1LjY1Ni0uMTQ5LjM1LS43OTItLjA4OC0uOTkuNTI1LS43NDMuMDg4LS43NDNjLS43MTgtLjM1Ni0xLjQzLS43MjMtMi4xNDMtMS4wODlcIiBzdHlsZT1cImZpbGw6IzIwNGE4NztmaWxsLW9wYWNpdHk6MC43MTM0NTAzMTI2MTQ0NDA5XCIvPjxwYXRoIGQ9XCJNMTEuMjYzLDUuNzE1bC40MzcuM2guMzVWNS42NjZsLS40MzctLjItLjM1LjI0N1wiIHN0eWxlPVwiZmlsbDojMjA0YTg3O2ZpbGwtb3BhY2l0eTowLjcxMzQ1MDMxMjYxNDQ0MDlcIi8+PHBhdGggZD1cIk0xMC4xMjYsNS4zMTlsLS4yMTkuNTQ0aC40MzhsLjIxOS0uNWMuMTg5LS4xMzMuMzc2LS4yNjguNTY4LS40bC40MzguMTQ5Ljg3NS41OTQuNDM4LS40LS40ODItLjItLjIxOS0uNDQ2LS44MzEtLjEtLjA0NC0uMjQ4LS4zOTQuMS0uMTc1LjM0Ni0uMjE5LS40NDYtLjA4Ny4yLjA0NC41LS4zNS4zXCIgc3R5bGU9XCJmaWxsOiMyMDRhODc7ZmlsbC1vcGFjaXR5OjAuNzEzNDUwMzEyNjE0NDQwOVwiLz48cGF0aCBkPVwiTTExLjcsNC4wODFsLjIxOS0uMi40MzgtLjFhNi45LDYuOSwwLDAsMSwuOTE4LS4zNDdsLS4xNzQtLjMtLjU2NS4wODEtLjI2Ny4yNjYtLjQ0LjA2NC0uMzkxLjE4NC0uMTkuMDkyLS4xMTYuMTU1LjU2OC4xXCIgc3R5bGU9XCJmaWxsOiMyMDRhODc7ZmlsbC1vcGFjaXR5OjAuNzEzNDUwMzEyNjE0NDQwOVwiLz48cGF0aCBkPVwiTTEyLjQ0NCw4Ljc4NWwuMjYzLS40LS4zOTQtLjMuMTMxLjY5M1wiIHN0eWxlPVwiZmlsbDojMjA0YTg3O2ZpbGwtb3BhY2l0eTowLjcxMzQ1MDMxMjYxNDQ0MDlcIi8+PHBhdGggZD1cIk0xNi4xNDksMjUuNzgzQTExLjU4LDExLjU4LDAsMSwxLDI3LjcyOSwxNC4yLDExLjU5MywxMS41OTMsMCwwLDEsMTYuMTQ5LDI1Ljc4M1ptMC0yMi41NDhBMTAuOTY4LDEwLjk2OCwwLDEsMCwyNy4xMTcsMTQuMiwxMC45OCwxMC45OCwwLDAsMCwxNi4xNDksMy4yMzVaXCIgc3R5bGU9XCJvcGFjaXR5OjAuMzk1NjA0NDAxODI2ODU4NTtpc29sYXRpb246aXNvbGF0ZTtmaWxsOnVybCgjYilcIi8+PHBhdGggZD1cIk01LjU0MSwxMC4yNDFhNC4xMTUsNC4xMTUsMCwxLDAsNi42MzYtNC44NjZoMEE0LjExNSw0LjExNSwwLDAsMCw1LjU0LDEwLjI0WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2MpXCIvPjxwYXRoIGQ9XCJNNy44MzYsOC41NThhMS4yNjgsMS4yNjgsMCwxLDAsMi4wNDYtMS41aDBhMS4yNjgsMS4yNjgsMCwwLDAtMi4wNDYsMS41WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwYXRoIGQ9XCJNMTcuOTUyLDI0LjhhNS4zMzcsNS4zMzcsMCwxLDAsOC42MDctNi4zMTJ2MEE1LjMzNyw1LjMzNywwLDAsMCwxNy45NSwyNC44WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2QpXCIvPjxwYXRoIGQ9XCJNMjAuOTI4LDIyLjYxNmExLjY0NSwxLjY0NSwwLDEsMCwyLjY1My0xLjk0NmgwYTEuNjQ1LDEuNjQ1LDAsMCwwLTIuNjUzLDEuOTQ2WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwYXRoIGQ9XCJNNC44NTksMTguNDkzQTQuMTE1LDQuMTE1LDAsMSwwLDExLjUsMTMuNjI2aDBhNC4xMTUsNC4xMTUsMCwwLDAtNi42MzYsNC44NjZaXCIgc3R5bGU9XCJmaWxsOnVybCgjZSlcIi8+PHBhdGggZD1cIk03LjE1NCwxNi44MDlhMS4yNjgsMS4yNjgsMCwxLDAsMi4wNDYtMS41aDBhMS4yNjgsMS4yNjgsMCwwLDAtMi4wNDYsMS41WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwYXRoIGQ9XCJNMTIuNDA4LDEwLjI2OUE0LjQ0MSw0LjQ0MSwwLDEsMCwxOS41Nyw1LjAxNmgwYTQuNDQxLDQuNDQxLDAsMSwwLTcuMTYyLDUuMjUzWlwiIHN0eWxlPVwiZmlsbDp1cmwoI2YpXCIvPjxwYXRoIGQ9XCJNMTQuODg1LDguNDUyYTEuMzY5LDEuMzY5LDAsMSwwLDIuMjA4LTEuNjE5aDBhMS4zNjksMS4zNjksMCwxLDAtMi4yMDgsMS42MTlaXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHBhdGggZD1cIk0xMi42OCwyNi4yMzhhMy44MywzLjgzLDAsMCwxLTIuOTA5LTEuMDg3Yy0xLjEzMy0xLjIxLTEuMi0zLjI1NS0uMi01Ljc1N2EyMS41NDIsMjEuNTQyLDAsMCwxLDUuMzA3LTcuMzI2QzIwLjA2NCw3LjIxNSwyNS45NDUsNS4zNTYsMjguMjcsNy44MzljMS4xMzMsMS4yMTEsMS4yLDMuMjU1LjIsNS43NTdhMjEuNTUzLDIxLjU1MywwLDAsMS01LjMwOCw3LjMyNkEyMS41NTEsMjEuNTUxLDAsMCwxLDE1LjUsMjUuNzMzLDkuMjI5LDkuMjI5LDAsMCwxLDEyLjY4LDI2LjIzOFpNMjUuMzQyLDcuMjhjLTIuNywwLTYuNiwxLjkwOC0xMC4xLDUuMTgzQTIxLDIxLDAsMCwwLDEwLjA3MSwxOS42Yy0uOTIxLDIuMy0uODg3LDQuMTM4LjA5NCw1LjE4N3MyLjgxNywxLjIsNS4xNjkuNDM3YTIxLDIxLDAsMCwwLDcuNDYtNC42OTIsMjEsMjEsMCwwLDAsNS4xNzUtNy4xMzJjLjkyMS0yLjMuODg4LTQuMTM4LS4wOTUtNS4xODdBMy4zNCwzLjM0LDAsMCwwLDI1LjM0Miw3LjI4WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2cpXCIvPjxwYXRoIGQ9XCJNMjEuNjgxLDIyLjA5NGEyMC42MzMsMjAuNjMzLDAsMCwxLTkuMzM5LTIuNzU5QzYuMSwxNS45NSwyLjQ3MywxMC45NTcsNC4wOTQsNy45NjhjLjc5LTEuNDU4LDIuNy0yLjE3NSw1LjQtMi4wMTJBMjEuNTQyLDIxLjU0MiwwLDAsMSwxOC4xMiw4LjY3NGEyMS41NDUsMjEuNTQ1LDAsMCwxLDYuOTg3LDUuNzQ2YzEuNiwyLjE2NywyLjA1MSw0LjE2MywxLjI2MSw1LjYyMUMyNS42MjIsMjEuNDE2LDIzLjkxNSwyMi4wOTQsMjEuNjgxLDIyLjA5NFpNOC43NTksNi40NzRjLTIuMSwwLTMuNTcyLjYxMi00LjE5LDEuNzUxQzMuMTE3LDEwLjksNi43MiwxNS42NzQsMTIuNiwxOC44NnMxMS44NDMsMy42LDEzLjI5NC45MjRjLjY4NS0xLjI2My4yNTEtMy4wNTQtMS4yMi01LjA0MmEyMSwyMSwwLDAsMC02LjgxLTUuNTkzQTIxLDIxLDAsMCwwLDkuNDU5LDYuNVE5LjEsNi40NzQsOC43NTksNi40NzRaXCIgc3R5bGU9XCJmaWxsOnVybCgjaClcIi8+PHBhdGggZD1cIk0xMCwyNC4wNzhhMy43NTcsMy43NTcsMCwwLDEtMi44NTEtMS4wNjVjLTEuMTEtMS4xODctMS4xODEtMy4xODktLjItNS42MzlhMjEuMDYyLDIxLjA2MiwwLDAsMSw1LjE4OS03LjE2M2M1LjA3My00Ljc0NywxMC44My02LjU2MywxMy4xLTQuMTMyaDBjMi4yNzUsMi40MzEuMDgzLDguMDUzLTQuOTksMTIuOGEyMS4wNTksMjEuMDU5LDAsMCwxLTcuNDkxLDQuN0E5LjAyNCw5LjAyNCwwLDAsMSwxMCwyNC4wNzhaTTIyLjM3Myw1LjU1M2MtMi42MywwLTYuNDM5LDEuODY0LTkuODU2LDUuMDYyQTIwLjUsMjAuNSwwLDAsMCw3LjQ2MywxNy41OGMtLjksMi4yMzktLjg2Niw0LjAzNC4wOSw1LjA1NXMyLjc0NSwxLjE3Miw1LjAzOC40MjRhMjAuNTEzLDIwLjUxMywwLDAsMCw3LjI4NC00LjU4MmM0Ljc2Ni00LjQ2LDYuOTk0LTkuODUzLDQuOTY1LTEyLjAyaDBBMy4yNTYsMy4yNTYsMCwwLDAsMjIuMzczLDUuNTUzWlwiIHN0eWxlPVwiZmlsbDp1cmwoI2kpXCIvPjxwYXRoIGQ9XCJNMTcuNTEyLDE5LjQxM2MtLjg2LDAtMS43NDgtLjA0My0yLjY1OS0uMTMzQzcuNzg0LDE4LjU4NCwyLjUwNywxNS4zODgsMi44NCwxMmgwYy4zMzMtMy4zODMsNi4xMzMtNS40OSwxMy4yLTQuNzkxczEyLjM0NSwzLjg5MiwxMi4wMTIsNy4yNzVDMjcuNzYzLDE3LjQzNiwyMy4zMjQsMTkuNDEzLDE3LjUxMiwxOS40MTNaTTMuMzc4LDEyLjA1N2MtLjMsMy4wMzEsNC44NzMsNi4wMywxMS41MjgsNi42ODZzMTIuMzEyLTEuMjc3LDEyLjYxMS00LjMwOFMyMi42NDQsOC40MDYsMTUuOTg4LDcuNzUsMy42NzcsOS4wMjcsMy4zNzgsMTIuMDU3WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2opXCIvPjxwYXRoIGQ9XCJNNi4yNTEsMjkuOTY2aDYuNjc0VjIwLjgwOWgyLjk4MUw5LjU0OCwxMS40MzQsMy4yOTUsMjAuNzgybDIuOTU4LjAzMVpcIiBzdHlsZT1cImZpbGw6dXJsKCNrKVwiLz48cGF0aCBkPVwiTTEyLjkyNCwzMC4wNDVINi4yNTFhLjA0OS4wNDksMCwwLDEtLjAzOS0uMDIzYy0uMDEtLjAxNS0uMDE2LTMuMTM1LS4wMTYtMy4xNTZsMC01Ljk3NS0yLjktLjAzYS4wNi4wNiwwLDAsMS0uMDUxLS4wNDguMS4xLDAsMCwxLC4wMTEtLjA4NUw5LjUwOCwxMS4zOGEuMDU2LjA1NiwwLDAsMSwuMDQxLS4wMjUuMDUuMDUsMCwwLDEsLjA0LjAyNGw2LjM1Nyw5LjM3NWEuMS4xLDAsMCwxLC4wMTEuMDg2LjA1OS4wNTksMCwwLDEtLjA1MS4wNDhIMTIuOTh2OS4wNzhDMTIuOTgsMzAuMDEsMTIuOTU1LDMwLjA0NSwxMi45MjQsMzAuMDQ1Wm0tNi42MTgtLjE1OGg2LjU2MlYyMC44MDljMC0uMDQ0LjAyNS0uMDc5LjA1Ni0uMDc5aDIuODVMOS41NDksMTEuNTQ5LDMuNDI0LDIwLjdsMi44My4wM2MuMDMxLDAsLjA1NS4wMzYuMDU1LjA3OVpcIiBzdHlsZT1cImZpbGw6IzE4Mzg2OFwiLz48cGF0aCBkPVwiTTE5LjA1MywyMC41ODdsLTIuOTU4LjAzMSw2LjI1NCw5LjM0OCw2LjM1Ny05LjM3NUgyNS43MjRWMTEuNDM0SDE5LjA1MVpcIiBzdHlsZT1cImZpbGw6dXJsKCNsKVwiLz48cGF0aCBkPVwiTTI1Ljc4LDExLjQzNHY5LjA3OGgyLjkyNWEuMDU5LjA1OSwwLDAsMSwuMDUxLjA0OC4xLjEsMCwwLDEtLjAxMS4wODZsLTYuMzU3LDkuMzc1YS4wNS4wNSwwLDAsMS0uMDQuMDI0LjA1Ni4wNTYsMCwwLDEtLjA0MS0uMDI1bC02LjI1NC05LjM0OGEuMS4xLDAsMCwxLS4wMTEtLjA4NS4wNi4wNiwwLDAsMSwuMDUxLS4wNDhsMi45LS4wMywwLTUuOTc1YzAtLjAyMS4wMDYtMy4xNDEuMDE2LTMuMTU2YS4wNDkuMDQ5LDAsMCwxLC4wMzktLjAyM2g2LjY3NEMyNS43NTUsMTEuMzU1LDI1Ljc4LDExLjM5LDI1Ljc4LDExLjQzNFptLTYuNjcyLDkuMTUzYzAsLjA0My0uMDI1LjA3OS0uMDU1LjA3OWwtMi44My4wMyw2LjEyNSw5LjE1Niw2LjIyNi05LjE4MWgtMi44NWMtLjAzMSwwLS4wNTYtLjAzNS0uMDU2LS4wNzlWMTEuNTEzSDE5LjEwN1pcIiBzdHlsZT1cImZpbGw6IzE4Mzg2OFwiLz5gLFxuXHRcIklkcmlzXCI6IGA8cGF0aCBkPVwiTTEzLjM3Niw2LjJjMy42LDEuMSw0LjUsMiw1LjgsNS4yLS4zLTQtMS45LTUuNi01LjgtNS4yWlwiIHN0eWxlPVwiZmlsbDojOGEwODE5XCIvPjxwYXRoIGQ9XCJNOC4zNzYsMTIuNGMyLjMuNyw1LDEuMyw2LDUuNy40LTUuNS0yLjItNS44LTYtNS43WlwiIHN0eWxlPVwiZmlsbDojOGEwODE5XCIvPjxwYXRoIGQ9XCJNOS45NzYsOC44YzMuNS43LDUuNywxLjcsNyw2LjIuMy01LjgtMi45LTYuNC03LTYuMlpcIiBzdHlsZT1cImZpbGw6IzhhMDgxOVwiLz48cGF0aCBkPVwiTTE0LjU3NiwyYzE5LjEsMTIuNC00LjIsMTIuNy44LDI3LjFsMywuOWMtOC4zLTExLjIsMTguNC0xNy0zLjgtMjhaXCIgc3R5bGU9XCJmaWxsOiM4YTA4MTlcIi8+YCxcblx0XCJJbmlcIjogYDxwYXRoIGQ9XCJNMjMuMjY1LDI0LjM4MWwuOS0uODk0YzQuMTY0LjEzNiw0LjIyOC0uMDEsNC40MTEtLjQzOGwxLjE0NC0yLjc4NUwyOS44MDUsMjBsLS4wOTMtLjIzMWMtLjA0OS0uMTIyLS4yLS40ODYtMi44LTIuOTY1VjE1LjVjMy0yLjg5LDIuOTM2LTMuMDM4LDIuNzY1LTMuNDYxTDI4LjUzOCw5LjIyNWMtLjE3MS0uNDIyLS4yMzYtLjU4Ny00LjM3LS40NzRsLS45LS45M2EyMC4xNjYsMjAuMTY2LDAsMCwwLS4xNDEtNC4xMDZsLS4xMTYtLjI2My0yLjk3NC0xLjNjLS40MzgtLjItLjU5Mi0uMjcyLTMuNCwyLjc4NmwtMS4yNjItLjAxOWMtMi44OTEtMy4wODYtMy4wMjgtMy4wMy0zLjQ2MS0yLjg1NUw5LjE0OSwzLjE4MmMtLjQzMy4xNzUtLjU4Ni4yMzctLjQxOCw0LjQzN2wtLjg5My44OWMtNC4xNjItLjEzNi00LjIyNi4wMTItNC40MDcuNDM4TDIuMjg1LDExLjczMywyLjE5NSwxMmwuMDk0LjIzMmMuMDQ5LjEyLjE5NC40OCwyLjgsMi45NjJsMCwxLjNjLTMsMi44OS0yLjkzNSwzLjAzOC0yLjc2MywzLjQ2MmwxLjEzOCwyLjgxN2MuMTc0LjQzMS4yMzYuNTg0LDQuMzY5LjQ3NmwuOS45MzVhMjAuMjQzLDIwLjI0MywwLDAsMCwuMTM3LDQuMWwuMTE2LjI2NSwyLjk5MywxLjMwOGMuNDM1LjE4Mi41ODYuMjQ3LDMuMzg2LTIuOGwxLjI2Mi4wMTZjMi44OTUsMy4wOSwzLjA0MywzLjAzLDMuNDY2LDIuODU5bDIuNzU5LTEuMTE1QzIzLjI4OCwyOC42NDQsMjMuNDQsMjguNTgzLDIzLjI2NSwyNC4zODFaTTExLjQwNywxNy44NTdhNC45NTcsNC45NTcsMCwxLDEsNi40ODgsMi44MjRBNS4wMTQsNS4wMTQsMCwwLDEsMTEuNDA3LDE3Ljg1N1pcIiBzdHlsZT1cImZpbGw6Izk5YjhjNFwiLz5gLFxuXHRcIklvXCI6IGA8cGF0aCBkPVwiTTIsMi44ODdINy4wNzVWNy41MUgyWm0uMDUyLDYuODNINy4wNFYyOC42MjZIMi4wNTJaXCIgc3R5bGU9XCJmaWxsOiNjMmMyYzJcIi8+PHBhdGggZD1cIk0xMy4yNzEsMjYuNDU0YTkuNzkxLDkuNzkxLDAsMCwxLTIuNjE2LTcuMTc4LDEwLjE0OCwxMC4xNDgsMCwwLDEsMi42MTYtNy4zNDMsOS4zMjEsOS4zMjEsMCwwLDEsNy4wNDctMi43Miw5LjM0LDkuMzQsMCwwLDEsNy4wNzUsMi43MkExMC4xNjgsMTAuMTY4LDAsMCwxLDMwLDE5LjI3NmE5LjgwOSw5LjgwOSwwLDAsMS0yLjYwNyw3LjE3OCw5LjQ1Niw5LjQ1NiwwLDAsMS03LjA3NSwyLjY1OUE5LjQzNiw5LjQzNiwwLDAsMSwxMy4yNzEsMjYuNDU0Wm0xMC40MzYtMi45NzJhNi43LDYuNywwLDAsMCwxLjE2Ni00LjI1OCw2Ljk0Myw2Ljk0MywwLDAsMC0xLjE2Ni00LjM1NCw0LjA0Nyw0LjA0NywwLDAsMC0zLjM4OS0xLjQ4Niw0LjAyMiw0LjAyMiwwLDAsMC0zLjM4LDEuNDg2LDYuOTkxLDYuOTkxLDAsMCwwLTEuMTU2LDQuMzU0LDYuNzQ0LDYuNzQ0LDAsMCwwLDEuMTU2LDQuMjU4LDQuMDUzLDQuMDUzLDAsMCwwLDMuMzgsMS40NkE0LjA3OCw0LjA3OCwwLDAsMCwyMy43MDcsMjMuNDgyWlwiIHN0eWxlPVwiZmlsbDojYzJjMmMyXCIvPmAsXG5cdFwiSmF2YVwiOiBgPHBhdGggZD1cIk0xMi4zMjUsMjMuNjU0cy0xLjA3LjYyMi43NjEuODMzYTE2LjAyMywxNi4wMjMsMCwwLDAsNS44LS4yNDYsMTAuMDg4LDEwLjA4OCwwLDAsMCwxLjU0MS43NTJjLTUuNDgxLDIuMzQ5LTEyLjQwNS0uMTM2LTguMS0xLjMzOVwiIHN0eWxlPVwiZmlsbDojNTM4MmExXCIvPjxwYXRoIGQ9XCJNMTEuNjU2LDIwLjU4OHMtMS4yLjg4OC42MzMsMS4wNzhhMjIuNjE4LDIyLjYxOCwwLDAsMCw3LjQ4MS0uMzU5LDMuMzIsMy4zMiwwLDAsMCwxLjE1Mi43Yy02LjYyNywxLjkzOC0xNC4wMDkuMTUzLTkuMjY2LTEuNDIxXCIgc3R5bGU9XCJmaWxsOiM1MzgyYTFcIi8+PHBhdGggZD1cIk0xNy4zLDE1LjM4OGEyLjA1MSwyLjA1MSwwLDAsMS0uMzU1LDIuOTU0czMuNDI5LTEuNzcsMS44NTQtMy45ODdjLTEuNDcxLTIuMDY3LTIuNi0zLjA5NSwzLjUwOC02LjYzNiwwLDAtOS41ODYsMi4zOTQtNS4wMDcsNy42NjlcIiBzdHlsZT1cImZpbGw6IzUzODJhMVwiLz48cGF0aCBkPVwiTTI0LjU1MiwyNS45MjFzLjc5Mi42NTItLjg3MiwxLjE1N2MtMy4xNjQuOTU4LTEzLjE2OCwxLjI0OC0xNS45NDguMDM4LTEtLjQzNS44NzQtMS4wMzgsMS40NjQtMS4xNjRhMy44LDMuOCwwLDAsMSwuOTY2LS4xMDhjLTEuMTExLS43ODMtNy4xODEsMS41MzctMy4wODMsMi4yLDExLjE3NiwxLjgxMiwyMC4zNzItLjgxNiwxNy40NzMtMi4xMjRcIiBzdHlsZT1cImZpbGw6IzUzODJhMVwiLz48cGF0aCBkPVwiTTEyLjg0LDE3LjQxMnMtNS4wODksMS4yMDktMS44LDEuNjQ4YTM4LjIyNSwzOC4yMjUsMCwwLDAsNi43MzEtLjA3MmMyLjEwNi0uMTc4LDQuMjIxLS41NTUsNC4yMjEtLjU1NWE4LjkzNCw4LjkzNCwwLDAsMC0xLjI4LjY4NWMtNS4xNjgsMS4zNTktMTUuMTUxLjcyNy0xMi4yNzctLjY2M2E5LjYyOSw5LjYyOSwwLDAsMSw0LjQwNy0xLjA0MlwiIHN0eWxlPVwiZmlsbDojNTM4MmExXCIvPjxwYXRoIGQ9XCJNMjEuOTY5LDIyLjUxNWM1LjI1My0yLjczLDIuODI0LTUuMzUzLDEuMTI5LTVhMy45MzIsMy45MzIsMCwwLDAtLjYuMTYxLjk1Ny45NTcsMCwwLDEsLjQ0OS0uMzQ2YzMuMzU0LTEuMTc5LDUuOTMzLDMuNDc4LTEuMDgzLDUuMzIyYS40NTguNDU4LDAsMCwwLC4xMDYtLjEzOFwiIHN0eWxlPVwiZmlsbDojNTM4MmExXCIvPjxwYXRoIGQ9XCJNMTguOCwyczIuOTA5LDIuOTEtMi43NTksNy4zODZjLTQuNTQ2LDMuNTktMS4wMzcsNS42MzcsMCw3Ljk3NS0yLjY1My0yLjM5NC00LjYtNC41LTMuMjk0LTYuNDYzQzE0LjY2NCw4LjAxOSwxOS45NzYsNi42MjMsMTguOCwyXCIgc3R5bGU9XCJmaWxsOiM1MzgyYTFcIi8+PHBhdGggZD1cIk0xMy4zNTYsMjkuOTEyYzUuMDQyLjMyMywxMi43ODYtLjE3OSwxMi45NjktMi41NjUsMCwwLS4zNTMuOS00LjE2NywxLjYyM2E0MS40NTgsNDEuNDU4LDAsMCwxLTEyLjc2LjJzLjY0NS41MzMsMy45NTkuNzQ2XCIgc3R5bGU9XCJmaWxsOiM1MzgyYTFcIi8+YCxcblx0XCJKYXZhU2NyaXB0XCI6IGA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIyOFwiIGhlaWdodD1cIjI4XCIgc3R5bGU9XCJmaWxsOiNmNWRlMTlcIi8+PHBhdGggZD1cIk0yMC44MDksMjMuODc1YTIuODY2LDIuODY2LDAsMCwwLDIuNiwxLjZjMS4wOSwwLDEuNzg3LS41NDUsMS43ODctMS4zLDAtLjktLjcxNi0xLjIyMi0xLjkxNi0xLjc0N2wtLjY1OC0uMjgyYy0xLjktLjgwOS0zLjE2LTEuODIyLTMuMTYtMy45NjQsMC0xLjk3MywxLjUtMy40NzYsMy44NTMtMy40NzZhMy44ODksMy44ODksMCwwLDEsMy43NDIsMi4xMDdMMjUsMTguMTI4QTEuNzg5LDEuNzg5LDAsMCwwLDIzLjMxMSwxN2ExLjE0NSwxLjE0NSwwLDAsMC0xLjI1OSwxLjEyOGMwLC43ODkuNDg5LDEuMTA5LDEuNjE4LDEuNmwuNjU4LjI4MmMyLjIzNi45NTksMy41LDEuOTM2LDMuNSw0LjEzMywwLDIuMzY5LTEuODYxLDMuNjY3LTQuMzYsMy42NjdhNS4wNTUsNS4wNTUsMCwwLDEtNC43OTUtMi42OTFabS05LjI5NS4yMjhjLjQxMy43MzMuNzg5LDEuMzUzLDEuNjkzLDEuMzUzLjg2NCwwLDEuNDEtLjMzOCwxLjQxLTEuNjUzVjE0Ljg1NmgyLjYzMXY4Ljk4MmMwLDIuNzI0LTEuNiwzLjk2NC0zLjkyOSwzLjk2NGE0LjA4NSw0LjA4NSwwLDAsMS0zLjk0Ny0yLjRaXCIvPmAsXG5cdFwiSlNPTlwiOiBgPHBhdGggZD1cIk00LjAxNCwxNC45NzZhMi41MSwyLjUxLDAsMCwwLDEuNTY3LS41MThBMi4zNzcsMi4zNzcsMCwwLDAsNi4zODYsMTMuMSwxNS4yNjEsMTUuMjYxLDAsMCwwLDYuNiwxMC4xNTZxLjAxMi0yLjA4NS4wNzUtMi43NDdhNS4yMzYsNS4yMzYsMCwwLDEsLjQxOC0xLjY4NiwzLjAyNSwzLjAyNSwwLDAsMSwuNzU1LTEuMDE4QTMuMDQ2LDMuMDQ2LDAsMCwxLDksNC4xMjUsNi43NjIsNi43NjIsMCwwLDEsMTAuNTQ0LDRoLjdWNS45NmgtLjM4N2EyLjMzOCwyLjMzOCwwLDAsMC0xLjcyMy40NjhBMy40LDMuNCwwLDAsMCw4LjcwOSw4LjUyYTM2LjA1NCwzNi4wNTQsMCwwLDEtLjEzNyw0LjEzMyw0LjczNCw0LjczNCwwLDAsMS0uNzY4LDIuMDZBNC41NjcsNC41NjcsMCwwLDEsNi4xLDE2YTMuODA5LDMuODA5LDAsMCwxLDEuOTkyLDEuNzU0LDguODYxLDguODYxLDAsMCwxLC42MTgsMy44NjVxMCwyLjQzNS4wNSwyLjlBMS43NTUsMS43NTUsMCwwLDAsOS4yNjQsMjUuN2EyLjYzOSwyLjYzOSwwLDAsMCwxLjU5Mi4zMzdoLjM4N1YyOGgtLjdhNS42NTUsNS42NTUsMCwwLDEtMS43NzMtLjIsMi45NywyLjk3LDAsMCwxLTEuMzI0LS45MywzLjM1MywzLjM1MywwLDAsMS0uNjgxLTEuNjNBMjQuMTc1LDI0LjE3NSwwLDAsMSw2LjYsMjIuMDA2LDE2LjQ2OSwxNi40NjksMCwwLDAsNi4zODYsMTguOWEyLjQwOCwyLjQwOCwwLDAsMC0uODA1LTEuMzYxLDIuNDg5LDIuNDg5LDAsMCwwLTEuNTY3LS41MjRaXCIgc3R5bGU9XCJmaWxsOiNmNWRlMTlcIi8+PHBhdGggZD1cIk0yNy45ODYsMTcuMDExYTIuNDg5LDIuNDg5LDAsMCwwLTEuNTY3LjUyNCwyLjQwOCwyLjQwOCwwLDAsMC0uODA1LDEuMzYxLDE2LjQ2OSwxNi40NjksMCwwLDAtLjIxMiwzLjEwOSwyNC4xNzUsMjQuMTc1LDAsMCwxLS4xNjksMy4yMzQsMy4zNTMsMy4zNTMsMCwwLDEtLjY4MSwxLjYzLDIuOTcsMi45NywwLDAsMS0xLjMyNC45Myw1LjY1NSw1LjY1NSwwLDAsMS0xLjc3My4yaC0uN1YyNi4wNGguMzg3YTIuNjM5LDIuNjM5LDAsMCwwLDEuNTkyLS4zMzcsMS43NTUsMS43NTUsMCwwLDAsLjUwNi0xLjE4NnEuMDUtLjQ2Mi4wNS0yLjlhOC44NjEsOC44NjEsMCwwLDEsLjYxOC0zLjg2NUEzLjgwOSwzLjgwOSwwLDAsMSwyNS45LDE2YTQuNTY3LDQuNTY3LDAsMCwxLTEuNy0xLjI4Niw0LjczNCw0LjczNCwwLDAsMS0uNzY4LTIuMDYsMzYuMDU0LDM2LjA1NCwwLDAsMS0uMTM3LTQuMTMzLDMuNCwzLjQsMCwwLDAtLjQyNS0yLjA5MiwyLjMzOCwyLjMzOCwwLDAsMC0xLjcyMy0uNDY4aC0uMzg3VjRoLjdBNi43NjIsNi43NjIsMCwwLDEsMjMsNC4xMjVhMy4wNDYsMy4wNDYsMCwwLDEsMS4xNDkuNTgxLDMuMDI1LDMuMDI1LDAsMCwxLC43NTUsMS4wMTgsNS4yMzYsNS4yMzYsMCwwLDEsLjQxOCwxLjY4NnEuMDYyLjY2Mi4wNzUsMi43NDdhMTUuMjYxLDE1LjI2MSwwLDAsMCwuMjEyLDIuOTQ3LDIuMzc3LDIuMzc3LDAsMCwwLC44MDUsMS4zNTUsMi41MSwyLjUxLDAsMCwwLDEuNTY3LjUxOFpcIiBzdHlsZT1cImZpbGw6I2Y1ZGUxOVwiLz5gLFxuXHRcIkpTT041XCI6IGA8cGF0aCBkPVwiTTEyLjgxNSwxNS4xNjdsLjY4LTUuNjc2aDYuNDg5djJoLTQuNEwxNS4zMjksMTMuN2EyLjQsMi40LDAsMCwxLC4yNTItLjEyMiwyLjk2MiwyLjk2MiwwLDAsMSwuMzc0LS4xMywyLjksMi45LDAsMCwxLC40NTgtLjEwNiwyLjgzNCwyLjgzNCwwLDAsMSwuNTEyLS4wNDYsMy45ODMsMy45ODMsMCwwLDEsMS40NjYuMjUyLDIuNzM2LDIuNzM2LDAsMCwxLDEuMDc2LjcyMywzLjE2NywzLjE2NywwLDAsMSwuNjY0LDEuMTY4LDUsNSwwLDAsMSwuMjI4LDEuNTg4LDQuMTU3LDQuMTU3LDAsMCwxLS4yMzYsMS4zODcsMy4zMDcsMy4zMDcsMCwwLDEtMS45LDIuMDI5LDQuMyw0LjMsMCwwLDEtMS43MTUuMzEyLDQuNzUsNC43NSwwLDAsMS0xLjQ1OC0uMjI4LDQuMDU0LDQuMDU0LDAsMCwxLTEuMjUyLS42NTYsMy4zNTksMy4zNTksMCwwLDEtLjg3OC0xLjA0NiwyLjc4NywyLjc4NywwLDAsMS0uMzItMS4zODJIMTUuMThhMS40NTgsMS40NTgsMCwwLDAsLjM5Ljk3LDEuMzgzLDEuMzgzLDAsMCwwLDEuNTU4LjIwNiwxLjA4OSwxLjA4OSwwLDAsMCwuNC0uNDEyLDEuNzQ5LDEuNzQ5LDAsMCwwLC4yMDYtLjYxOCw0LjMsNC4zLDAsMCwwLC4wNjItLjc0LDIuNzA5LDIuNzA5LDAsMCwwLS4wOTItLjc0LDEuNTA2LDEuNTA2LDAsMCwwLS4yODItLjU1OCwxLjIyOSwxLjIyOSwwLDAsMC0uNS0uMzQ5LDEuNzgsMS43OCwwLDAsMC0uNzE4LS4xMywyLjEyMSwyLjEyMSwwLDAsMC0uNS4wNTQsMS44MDUsMS44MDUsMCwwLDAtLjM4Mi4xMzgsMS4zMTgsMS4zMTgsMCwwLDAtLjI3NC4xOSwxLjI4LDEuMjgsMCwwLDAtLjE5LjJsLTIuMDQ4LS40ODJcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cGF0aCBkPVwiTTUuOTg1LDIzLjM0M2E0LjQ1LDQuNDUsMCwwLDEtMS4zMTEtLjU4LDMuMiwzLjIsMCwwLDEtLjg0OC0uODI0LDMuMDEyLDMuMDEyLDAsMCwxLS40NTgtMS4wMDgsNC44NzksNC44NzksMCwwLDEtLjEzLTEuMTQzdi0xLjU1YTIuMywyLjMsMCwwLDAtLjA3Ni0uNjE4LDEuMTg0LDEuMTg0LDAsMCwwLS4yMjItLjQ2Ni45NjkuOTY5LDAsMCwwLS4zODItLjMwNkExLjMyNCwxLjMyNCwwLDAsMCwyLDE2Ljc0NFYxNS4wMTJhMS4wNzQsMS4wNzQsMCwwLDAsLjkzNy0uNCwxLjg0MSwxLjg0MSwwLDAsMCwuMy0xLjF2LTEuNTVhNC44NzksNC44NzksMCwwLDEsLjEzLTEuMTQzLDMuMDM3LDMuMDM3LDAsMCwxLC40NTgtMS4wMDhBMy4xNywzLjE3LDAsMCwxLDQuNjcxLDlhNC40ODIsNC40ODIsMCwwLDEsMS4zMTEtLjU4bC40OCwxLjM0NGExLjIyMiwxLjIyMiwwLDAsMC0uNDg4LjMyOCwxLjc0MiwxLjc0MiwwLDAsMC0uMzA2LjUsMi41MjQsMi41MjQsMCwwLDAtLjE2LjYzNCw1LjgyNyw1LjgyNywwLDAsMC0uMDQ2Ljc0djEuNTVBMi44NDQsMi44NDQsMCwwLDEsNS4xMjYsMTQuOWEyLjM3LDIuMzcsMCwwLDEtMS4wNzYuOTgzLDIuMzU2LDIuMzU2LDAsMCwxLDEuMDc2Ljk5MiwyLjgwOCwyLjgwOCwwLDAsMSwuMzM2LDEuMzc0djEuNTVhNS44MjcsNS44MjcsMCwwLDAsLjA0Ni43NCwyLjU4NiwyLjU4NiwwLDAsMCwuMTYuNjM0LDEuNjg0LDEuNjg0LDAsMCwwLC4zMDYuNUExLjIyMiwxLjIyMiwwLDAsMCw2LjQ2MiwyMmMwLS4wMDUtLjQ3NywxLjM0NC0uNDc3LDEuMzQ0XCIgc3R5bGU9XCJmaWxsOiM5OTlcIi8+PHBhdGggZD1cIk04LjIxNSwxOS4zOTNhMS4yODksMS4yODksMCwwLDEsLjEtLjUxMiwxLjIxMiwxLjIxMiwwLDAsMSwuMjktLjQsMS4zNzMsMS4zNzMsMCwwLDEsLjQ1LS4yNzQsMS42MzcsMS42MzcsMCwwLDEsLjU4LS4xLDEuNTU1LDEuNTU1LDAsMCwxLC41NzIuMSwxLjI2OSwxLjI2OSwwLDAsMSwuNDUuMjc0LDEuMDc3LDEuMDc3LDAsMCwxLC4yOS40LDEuMjk0LDEuMjk0LDAsMCwxLDAsMS4wMjQsMS4xNTEsMS4xNTEsMCwwLDEtLjI5LjQxMiwxLjM4OCwxLjM4OCwwLDAsMS0uNDUuMjY4LDEuNjEzLDEuNjEzLDAsMCwxLS41NzIuMSwxLjU3OCwxLjU3OCwwLDAsMS0uNTgtLjEsMS40MDksMS40MDksMCwwLDEtLjQ1LS4yNjgsMS4yMjksMS4yMjksMCwwLDEtLjM5LS45MjRtMC02LjA4OGExLjI4OSwxLjI4OSwwLDAsMSwuMS0uNTEyLDEuMjEyLDEuMjEyLDAsMCwxLC4yOS0uNCwxLjM3MywxLjM3MywwLDAsMSwuNDUtLjI3NCwxLjYzNywxLjYzNywwLDAsMSwuNTgtLjEsMS41NTUsMS41NTUsMCwwLDEsLjU3Mi4xLDEuMjY5LDEuMjY5LDAsMCwxLC40NS4yNzQsMS4wNzcsMS4wNzcsMCwwLDEsLjI5LjQsMS4yOTQsMS4yOTQsMCwwLDEsMCwxLjAyNCwxLjE1MSwxLjE1MSwwLDAsMS0uMjkuNDEyLDEuMzg4LDEuMzg4LDAsMCwxLS40NS4yNjgsMS42MTMsMS42MTMsMCwwLDEtLjU3Mi4xLDEuNTc4LDEuNTc4LDAsMCwxLS41OC0uMSwxLjQwOSwxLjQwOSwwLDAsMS0uNDUtLjI2OCwxLjIyOSwxLjIyOSwwLDAsMS0uMzktLjkyNFwiIHN0eWxlPVwiZmlsbDojOTk5XCIvPjxwYXRoIGQ9XCJNMjQuMjQsMjAuMjkzYTMuNjQ4LDMuNjQ4LDAsMCwxLS4xMjIuOTI5LDQuNTM0LDQuNTM0LDAsMCwxLS4zMzYuODkxLDQuNzA2LDQuNzA2LDAsMCwxLS41LjgwNyw0LjAwNSw0LjAwNSwwLDAsMS0uNjEuNjY0bC0xLjMtLjYxYy4wODEtLjE3My4xNjgtLjM0OS4yNi0uNTI2YTQuODQ2LDQuODQ2LDAsMCwwLC4yNjgtLjU1OCw0LjQ0Myw0LjQ0MywwLDAsMCwuMjA2LS42NTYsMy40MDYsMy40MDYsMCwwLDAsLjA4NC0uOFYxOC42NTZoMi4wNTlsLS4wMDgsMS42MzZcIiBzdHlsZT1cImZpbGw6Izk5OVwiLz48cGF0aCBkPVwiTTI1LjUzOCwyMS45OTRhMS4yNTEsMS4yNTEsMCwwLDAsLjQ4OC0uMzI4LDEuNzA3LDEuNzA3LDAsMCwwLC4zMDYtLjUsMi41MjUsMi41MjUsMCwwLDAsLjE2LS42MzQsNS44MjYsNS44MjYsMCwwLDAsLjA0Ni0uNzR2LTEuNTVhMi44NDQsMi44NDQsMCwwLDEsLjMzNi0xLjM4MiwyLjM2NCwyLjM2NCwwLDAsMSwxLjA4NC0uOTgzLDIuMzY0LDIuMzY0LDAsMCwxLTEuMDg0LS45ODMsMi44NDQsMi44NDQsMCwwLDEtLjMzNi0xLjM4MnYtMS41NWE1LjgyNyw1LjgyNywwLDAsMC0uMDQ2LS43NCwyLjU4NiwyLjU4NiwwLDAsMC0uMTYtLjYzNCwxLjY4NCwxLjY4NCwwLDAsMC0uMzA2LS41LDEuMjIyLDEuMjIyLDAsMCwwLS40ODgtLjMyOGwuNDgtMS4zMzhBNC40NSw0LjQ1LDAsMCwxLDI3LjMyOSw5YTMuMDkyLDMuMDkyLDAsMCwxLC44NDguODE1LDIuODkyLDIuODkyLDAsMCwxLC40NSwxLjAwOCw0LjYwNiw0LjYwNiwwLDAsMSwuMTM4LDEuMTQzdjEuNTVhMi42NTUsMi42NTUsMCwwLDAsLjA2OC42MjYsMS40NDgsMS40NDgsMCwwLDAsLjIyMi40NzQsMS4wMzcsMS4wMzcsMCwwLDAsLjM4Mi4zLDEuMzc2LDEuMzc2LDAsMCwwLC41NjQuMTA2djEuNzMxYTEuMDc3LDEuMDc3LDAsMCwwLS45NDYuNDEyLDEuODI4LDEuODI4LDAsMCwwLS4yOSwxLjA4NHYxLjU1YTQuNjA2LDQuNjA2LDAsMCwxLS4xMzgsMS4xNDMsMi45MTUsMi45MTUsMCwwLDEtLjQ1LDEuMDA4LDMuMTU3LDMuMTU3LDAsMCwxLS44NDguODI0LDQuNDgyLDQuNDgyLDAsMCwxLTEuMzExLjU4bC0uNDgtMS4zNTJcIiBzdHlsZT1cImZpbGw6Izk5OVwiLz5gLFxuXHRcIkp1bGlhXCI6IGA8cGF0aCBkPVwiTTcuNDQ4LDIxLjk4M1YxMy43NzVsLTIuNDMyLjY2OXY4LjcyOWEyLjY2LDIuNjYsMCwwLDEtLjEwNi45MjkuMzM2LjMzNiwwLDAsMS0uMzA4LjIzOS40MDUuNDA1LDAsMCwxLS4yMTItLjA3NCwxLjI4MiwxLjI4MiwwLDAsMS0uMjg3LS4zLDIuODEzLDIuODEzLDAsMCwwLS4zNzctLjQwOS44NzQuODc0LDAsMCwwLS42MTEtLjIwNywxLjIyLDEuMjIsMCwwLDAtLjgxMi4yNTUuNzg5Ljc4OSwwLDAsMC0uMy42MjdBLjkwNy45MDcsMCwwLDAsMi41NDIsMjVhMy4xMTUsMy4xMTUsMCwwLDAsMS41NjEuMzE5LDcuMDY1LDcuMDY1LDAsMCwwLDEuMzctLjEyMiwyLjM2MSwyLjM2MSwwLDAsMCwxLjA1Ny0uNDgzLDIuMjkyLDIuMjkyLDAsMCwwLC42OC0xLjAxNCw1LjA5NCw1LjA5NCwwLDAsMCwuMjM5LTEuNzE1WlwiIHN0eWxlPVwiZmlsbDojMjUyNTI1XCIvPjxwYXRoIGQ9XCJNMTAuODI1LDE0LjAwOEg4LjR2NS42MThhMi4yNDEsMi4yNDEsMCwwLDAsLjIxOC45NzcsMi40ODksMi40ODksMCwwLDAsLjYuOCwyLjksMi45LDAsMCwwLC44OTIuNTM2LDMuMDQ1LDMuMDQ1LDAsMCwwLDEuMS4yLDIuNTUsMi41NSwwLDAsMCwxLjA1MS0uMjQ0LDQuMzQ3LDQuMzQ3LDAsMCwwLDEuMDE5LS42NDh2Ljc0M0gxNS43MVYxNC4wMDhIMTMuMjg5djUuNzU2YTIuNzY0LDIuNzY0LDAsMCwxLS42NDguNzA2LDEuMTM5LDEuMTM5LDAsMCwxLS42NDguMjgxLDEuMTU1LDEuMTU1LDAsMCwxLS40NTctLjA5LDEuMjYzLDEuMjYzLDAsMCwxLS4zNzItLjIzOSwxLjA2LDEuMDYsMCwwLDEtLjI1LS4zNTYsMS4wOTEsMS4wOTEsMCwwLDEtLjA5LS40NDFaXCIgc3R5bGU9XCJmaWxsOiMyNTI1MjVcIi8+PHBhdGggZD1cIk0xOS4wNzQsMjEuOTgzVjEwLjEzMmwtMi40MTEuNjY5VjIxLjk4M1pcIiBzdHlsZT1cImZpbGw6IzI1MjUyNVwiLz48cGF0aCBkPVwiTTIwLjAzOCwxNC40NDR2Ny41NGgyLjQyMVYxMy43NzVaXCIgc3R5bGU9XCJmaWxsOiMyNTI1MjVcIi8+PHBhdGggZD1cIk0yNy41NjgsMTcuODYzdjIuM3EtLjM3Mi4yNzYtLjY3NC40NTdhMS4xNjUsMS4xNjUsMCwwLDEtLjYuMTgxLjQ2OC40NjgsMCwwLDEtLjI3Ni0uMDksMSwxLDAsMCwxLS4yMzQtLjIzOSwxLjEzOCwxLjEzOCwwLDAsMS0uMTY1LS4zNTYsMS41NzYsMS41NzYsMCwwLDEtLjA1OC0uNDMuOTY4Ljk2OCwwLDAsMSwuMTgxLS41NTIsMi4zMDYsMi4zMDYsMCwwLDEsLjQ3My0uNSw0LjU3Miw0LjU3MiwwLDAsMSwuNjQ4LS40Myw3LjYxMiw3LjYxMiwwLDAsMSwuNzA2LS4zNDVaTTMwLDIxLjk4M1YxNmEyLjA4MywyLjA4MywwLDAsMC0uMTkxLS45LDEuNzc5LDEuNzc5LDAsMCwwLS41OTUtLjY5LDMuMDA2LDMuMDA2LDAsMCwwLTEuMDI1LS40NDEsNi4yMjUsNi4yMjUsMCwwLDAtMS40ODEtLjE1NCw1LjczNSw1LjczNSwwLDAsMC0xLjMyNy4xNDksNC42LDQuNiwwLDAsMC0xLjEuNCwyLjM3MywyLjM3MywwLDAsMC0uNzU5LjYxMSwxLjIxNiwxLjIxNiwwLDAsMC0uMjgxLjc3Ljk1OC45NTgsMCwwLDAsLjMxOS43MzgsMS4xNzgsMS4xNzgsMCwwLDAsLjgyOC4yOTIsMS4zNjQsMS4zNjQsMCwwLDAsLjU0Ny0uMS44LjgsMCwwLDAsLjMzNS0uMjU1Ljk4Ni45ODYsMCwwLDAsLjE2NS0uMzcyLDEuOTc4LDEuOTc4LDAsMCwwLC4wNDgtLjQzNSwxLjAzMSwxLjAzMSwwLDAsMSwuMjIzLS42NjkuOTc1Ljk3NSwwLDAsMSwuOC0uMjc2LDEuMDA4LDEuMDA4LDAsMCwxLC43ODEuMzE5LDEuNTk0LDEuNTk0LDAsMCwxLC4yOTIsMS4wODN2Ljc4NmwtLjI2NS4wNjRxLS40ODguMTQ5LS45ODguMzEzdC0uOTYxLjM2MWE3Ljg4NCw3Ljg4NCwwLDAsMC0uODY1LjQzLDMuNTExLDMuNTExLDAsMCwwLS43MDYuNTMxLDIuMzE5LDIuMzE5LDAsMCwwLS40NzguNjY5LDEuOTE4LDEuOTE4LDAsMCwwLS4xNzUuODI4LDIuMDM0LDIuMDM0LDAsMCwwLC4xNjUuODIzLDEuODc2LDEuODc2LDAsMCwwLC40NzMuNjUzLDIuMjU1LDIuMjU1LDAsMCwwLC43NDkuNDM1LDIuOTA3LDIuOTA3LDAsMCwwLC45OTMuMTU5LDMuNjc5LDMuNjc5LDAsMCwwLC43LS4wNTgsMi41MDksMi41MDksMCwwLDAsLjUzNi0uMTY1LDIuMjA5LDIuMjA5LDAsMCwwLC40My0uMjVxLjE5MS0uMTQzLjM5My0uMzEzdi42MzdaXCIgc3R5bGU9XCJmaWxsOiMyNTI1MjVcIi8+PGNpcmNsZSBjeD1cIjYuMjA0XCIgY3k9XCIxMS42NzJcIiByPVwiMS41XCIgc3R5bGU9XCJmaWxsOiM2NjgyZGZcIi8+PHBhdGggZD1cIk02LjIsMTMuMjg3YTEuNjE1LDEuNjE1LDAsMSwxLDEuNjE1LTEuNjE1QTEuNjE3LDEuNjE3LDAsMCwxLDYuMiwxMy4yODdabTAtM2ExLjM4NSwxLjM4NSwwLDEsMCwxLjM4NSwxLjM4NUExLjM4NiwxLjM4NiwwLDAsMCw2LjIsMTAuMjg3WlwiIHN0eWxlPVwiZmlsbDojNDA2M2Q4XCIvPjxjaXJjbGUgY3g9XCIyMS40MTdcIiBjeT1cIjExLjY3MlwiIHI9XCIxLjVcIiBzdHlsZT1cImZpbGw6I2Q1NjM1Y1wiLz48cGF0aCBkPVwiTTIxLjQxNywxMy4yODdhMS42MTUsMS42MTUsMCwxLDEsMS42MTUtMS42MTVBMS42MTcsMS42MTcsMCwwLDEsMjEuNDE3LDEzLjI4N1ptMC0zQTEuMzg1LDEuMzg1LDAsMSwwLDIyLjgsMTEuNjcyLDEuMzg2LDEuMzg2LDAsMCwwLDIxLjQxNywxMC4yODdaXCIgc3R5bGU9XCJmaWxsOiNjYjNjMzNcIi8+PGNpcmNsZSBjeD1cIjIzLjM4NVwiIGN5PVwiOC4yOTdcIiByPVwiMS41XCIgc3R5bGU9XCJmaWxsOiM2MGFkNTFcIi8+PHBhdGggZD1cIk0yMy4zODUsOS45MTJBMS42MTUsMS42MTUsMCwxLDEsMjUsOC4zLDEuNjE3LDEuNjE3LDAsMCwxLDIzLjM4NSw5LjkxMlptMC0zQTEuMzg1LDEuMzg1LDAsMSwwLDI0Ljc3LDguMywxLjM4NiwxLjM4NiwwLDAsMCwyMy4zODUsNi45MTJaXCIgc3R5bGU9XCJmaWxsOiMzODk4MjZcIi8+PGNpcmNsZSBjeD1cIjI1LjM1NFwiIGN5PVwiMTEuNjcyXCIgcj1cIjEuNVwiIHN0eWxlPVwiZmlsbDojYWE3OWMxXCIvPjxwYXRoIGQ9XCJNMjUuMzU0LDEzLjI4N2ExLjYxNSwxLjYxNSwwLDEsMSwxLjYxNS0xLjYxNUExLjYxNywxLjYxNywwLDAsMSwyNS4zNTQsMTMuMjg3Wm0wLTNhMS4zODUsMS4zODUsMCwxLDAsMS4zODUsMS4zODVBMS4zODYsMS4zODYsMCwwLDAsMjUuMzU0LDEwLjI4N1pcIiBzdHlsZT1cImZpbGw6Izk1NThiMlwiLz5gLFxuXHRcIktvdGxpblwiOiBgPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiMzExLjMzNlwiIHkxPVwiMTQ1Mi4wNjRcIiB4Mj1cIjI4My4zNDJcIiB5Mj1cIjE0ODAuMDU4XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTI4MS40IC0xNDUwKVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2U0NDg1N1wiLz48c3RvcCBvZmZzZXQ9XCIwLjQ3XCIgc3RvcC1jb2xvcj1cIiM5ZDRiOWRcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjNmQ1ZmFhXCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfa290bGluPC90aXRsZT48cGF0aCBkPVwiTTMwLDMwSDJWMkgzMEwxNiwxNlpcIiBzdHlsZT1cImZpbGw6dXJsKCNhKVwiLz5gLFxuXHRcIkt1c3RvXCI6IGA8cmVjdCB4PVwiMC41NVwiIHk9XCIyMi4zMzlcIiB3aWR0aD1cIjE1LjQzM1wiIGhlaWdodD1cIjIuNzk2XCIgcng9XCIwLjQzOVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTQuMzYzIDEyLjc5Nykgcm90YXRlKC00NC45OTkpXCIgc3R5bGU9XCJmaWxsOiNiOGQ0MzJcIi8+PHJlY3QgeD1cIjEuMzcyXCIgeT1cIjE2LjM4MlwiIHdpZHRoPVwiOS44NTlcIiBoZWlnaHQ9XCIyLjc5NlwiIHJ4PVwiMC40MzlcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEwLjcyNyA5LjY2Mykgcm90YXRlKC00NC45OTkpXCIgc3R5bGU9XCJmaWxsOiNiOGQ0MzJcIi8+PHJlY3QgeD1cIjkuMjMyXCIgeT1cIjI0LjMwMVwiIHdpZHRoPVwiOS44NTlcIiBoZWlnaHQ9XCIyLjc5NlwiIHJ4PVwiMC40MzlcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE0LjAyNCAxNy41NDEpIHJvdGF0ZSgtNDQuOTk5KVwiIHN0eWxlPVwiZmlsbDojYjhkNDMyXCIvPjxwb2x5Z29uIHBvaW50cz1cIjMwIDIgMiAyIDMwIDI5Ljk5OSAzMCAyXCIgc3R5bGU9XCJmaWxsOiMwMDc4ZDRcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTAuMjgyIDEwLjI4MiAyMS43MTggMjEuNzE4IDMwIDEzLjQzNiAzMCAyIDE4LjU2NCAyIDEwLjI4MiAxMC4yODJcIiBzdHlsZT1cImZpbGw6IzU5YjRkOVwiLz48cG9seWdvbiBwb2ludHM9XCIzMCAyOS45OTkgMzAgMiAxNiAxNiAzMCAyOS45OTlcIiBzdHlsZT1cImZpbGw6I2ZmZjtvcGFjaXR5OjAuMjAwMDAwMDAyOTgwMjMyMjQ7aXNvbGF0aW9uOmlzb2xhdGVcIi8+PHJlY3QgeD1cIjE2LjIyNlwiIHk9XCI5LjAwMVwiIHdpZHRoPVwiMi43OTZcIiBoZWlnaHQ9XCIyLjc5NlwiIHJ4PVwiMC42MjJcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIuMTkyIDE1LjUwNykgcm90YXRlKC00NC45OTkpXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHJlY3QgeD1cIjIwLjE4XCIgeT1cIjUuMDQ4XCIgd2lkdGg9XCIyLjc5NlwiIGhlaWdodD1cIjIuNzk2XCIgcng9XCIwLjYyMlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxLjc2MiAxNy4xNDYpIHJvdGF0ZSgtNDQuOTk5KVwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxyZWN0IHg9XCIyMC4xOFwiIHk9XCIxMi45NTVcIiB3aWR0aD1cIjIuNzk2XCIgaGVpZ2h0PVwiMi43OTZcIiByeD1cIjAuNjIyXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zLjgyOSAxOS40NjEpIHJvdGF0ZSgtNDQuOTk5KVwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxyZWN0IHg9XCIyNC4xMzNcIiB5PVwiOS4wMDJcIiB3aWR0aD1cIjIuNzk2XCIgaGVpZ2h0PVwiMi43OTZcIiByeD1cIjAuNjIyXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuMTI0IDIxLjA5OSkgcm90YXRlKC00NC45OTkpXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+YCxcblx0XCJMYVRlWFwiOiBgPHBhdGggZD1cIk0xMS4zMzMsMTMuMTIyYy0uMTI4LTEuNTYyLS4yNDEtMi43NTYtMi4yODctMi43NTZINy45MXY4LjRoMi4xNDV2LjYxMWwtMy4wODMtLjAyOS0zLjA4Mi4wMjl2LS42MTFINi4wMzR2LTguNEg0Ljg4NGMtMi4wNDYsMC0yLjE1OSwxLjIwOC0yLjI4NywyLjc1NkgybC4yODQtMy4zNjdoOS4zNjJsLjI4NCwzLjM2N2gtLjZaXCIgc3R5bGU9XCJmaWxsOiNjZmNmY2ZcIi8+PHBhdGggZD1cIk0xOS4yODksMjIuNTNIMTAuNDFWMjEuOTJoMS41MDZWMTMuNDY3SDEwLjQxdi0uNjExaDguNjM3bC40MTIsMy4zNjdoLS42Yy0uMjEzLTEuODMzLS42ODItMi43NTYtMi44NTUtMi43NTZIMTMuNzkxVjE3LjJoLjgzOGMxLjM2NCwwLDEuNTA1LS42LDEuNTA1LTEuNjYyaC42djMuOTM1aC0uNmMwLTEuMDgtLjE0Mi0xLjY2Mi0xLjUwNS0xLjY2MmgtLjgzOHY0LjEwNmgyLjIxNmMyLjQ3MiwwLDMtMS4xMDgsMy4zLTMuMjI1aC42WlwiIHN0eWxlPVwiZmlsbDojY2ZjZmNmXCIvPjxwYXRoIGQ9XCJNMjcuNzI3LDE5LjE4NmMtLjU0LDAtMS45NiwwLTIuNDE1LjAyOVYxOC42aDEuMTc5bC0yLjU1Ny0zLjU1Mi0yLjUyOSwzLjM4MUE0LjEsNC4xLDAsMCwwLDIyLjcsMTguNnYuNjExYy0uMzU1LS4wMjktMS41NzYtLjAyOS0yLjAxNy0uMDI5LS40LDAtMS41NDgsMC0xLjg3NS4wMjlWMTguNmguMzgzYTcuNDU5LDcuNDU5LDAsMCwwLC44MjQtLjA0M2MuNS0uMDQzLjU0LS4wODUuNjY3LS4yNTZMMjMuNTM2LDE0LjVsLTMuMTUzLTQuNDE4SDE5VjkuNDdjLjM4NC4wMjgsMS43OS4wMjgsMi4yNzMuMDI4LjU4MiwwLDEuOTE4LDAsMi40MjktLjAyOHYuNjExSDIyLjUyOGwyLjExNywyLjk1NSwyLjA3NC0yLjc4NGE0LjEsNC4xLDAsMCwwLTEuMjkzLS4xN1Y5LjQ3Yy4zNTYuMDI4LDEuNTkxLjAyOCwyLjAzMi4wMjguNCwwLDEuNTM0LDAsMS44NjEtLjAyOHYuNjExaC0uMzY5YTUuMjY0LDUuMjY0LDAsMCwwLS44MzguMDQzYy0uNDY5LjA0My0uNTI2LjA3MS0uNjY3LjI1NmwtMi40LDMuMjFMMjguNjM2LDE4LjZIMzB2LjYxMUMyOS42NDUsMTkuMTg2LDI4LjE4MiwxOS4xODYsMjcuNzI3LDE5LjE4NlpcIiBzdHlsZT1cImZpbGw6I2NmY2ZjZlwiLz5gLFxuXHRcIkxlc3NcIjogYDxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD1cImFcIiB4MT1cIi0zLjYwOVwiIHkxPVwiLTQ5Mi42ODVcIiB4Mj1cIi0zLjYwOVwiIHkyPVwiLTQ4MC4yNzFcIiBncmFkaWVudFRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxOS43MTIgNTAyLjg5MSlcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwLjE1XCIgc3RvcC1jb2xvcj1cIiMyYTRmODRcIi8+PHN0b3Agb2Zmc2V0PVwiMC4zODhcIiBzdG9wLWNvbG9yPVwiIzI5NGU4MlwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiMxNzJlNGVcIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHRpdGxlPmZpbGVfdHlwZV9sZXNzPC90aXRsZT48cGF0aCBkPVwiTTI4LjU1OSwyMC4yMjZhMi40LDIuNCwwLDAsMS0yLjM5NCwyLjM5NEg2LjA0YTIuNCwyLjQsMCwwLDEtMi4zOTQtMi4zOTRWMTIuNkEyLjQsMi40LDAsMCwxLDYuMDQsMTAuMjA2SDI2LjE2NUEyLjQsMi40LDAsMCwxLDI4LjU1OSwxMi42WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2EpXCIvPjxwYXRoIGQ9XCJNMjQuMzQ5LDE2LjI1YTEuOTcyLDEuOTcyLDAsMCwxLDEuNTc4LDEuODkxLDEuNjksMS42OSwwLDAsMS0uNjUzLDEuNCwyLjkzNCwyLjkzNCwwLDAsMS0xLjg2Mi41NTksNC41NTgsNC41NTgsMCwwLDEtMi4yNDEtLjYxOCwxLjk4NiwxLjk4NiwwLDAsMSwuMTYtLjY2OSwxLjgzLDEuODMsMCwwLDEsLjM1LS41NzYsMy43LDMuNywwLDAsMCwxLjY0OS40OTMuOTY1Ljk2NSwwLDAsMCwuNTEtLjExMi4zMzkuMzM5LDAsMCwwLC4xNzgtLjNxMC0uMzUzLS41NDYtLjUyOWwtLjY1My0uMjQ3cS0xLjQ4Mi0uNTQtMS40ODItMS43NjJhMS43NTMsMS43NTMsMCwwLDEsLjYyMy0xLjQxNiwyLjU4NywyLjU4NywwLDAsMSwxLjY3OC0uNjQ4LDUuMDk0LDUuMDk0LDAsMCwxLDEuMTUuMTQ3LDQuNTU1LDQuNTU1LDAsMCwxLDEuMDMyLjQ3MiwxLjY2OCwxLjY2OCwwLDAsMS0uMTMuNzIyLDEuMjIsMS4yMiwwLDAsMS0uMzguNTU4LDQuMjYxLDQuMjYxLDAsMCwwLTEuNjYtLjQ0Ni41NDQuNTQ0LDAsMCwwLS4zNjIuMTA2LjMzOC4zMzgsMCwwLDAtLjEyNC4yN3EwLC4yODIuNDUxLjQ0NmwuNzM2LjI1OVpcIiBzdHlsZT1cImZpbGw6I2Y2ZjZmNlwiLz48cGF0aCBkPVwiTTE5LjEsMTYuMjVhMS45NzIsMS45NzIsMCwwLDEsMS41NzcsMS44OTEsMS42OTEsMS42OTEsMCwwLDEtLjY1MiwxLjQsMi45MzcsMi45MzcsMCwwLDEtMS44NjIuNTU5LDQuNTYsNC41NiwwLDAsMS0yLjI0MS0uNjE4LDEuOTgxLDEuOTgxLDAsMCwxLC4xNi0uNjY5LDEuODIxLDEuODIxLDAsMCwxLC4zNS0uNTc2LDMuNywzLjcsMCwwLDAsMS42NDkuNDkzLjk2My45NjMsMCwwLDAsLjUxLS4xMTIuMzQuMzQsMCwwLDAsLjE3OC0uM3EwLS4zNTMtLjU0Ni0uNTI5bC0uNjUzLS4yNDdxLTEuNDgyLS41NC0xLjQ4Mi0xLjc2MmExLjc1MiwxLjc1MiwwLDAsMSwuNjIzLTEuNDE2LDIuNTg1LDIuNTg1LDAsMCwxLDEuNjc3LS42NDgsNS4wODgsNS4wODgsMCwwLDEsMS4xNS4xNDcsNC41NTIsNC41NTIsMCwwLDEsMS4wMzIuNDcyLDEuNjY4LDEuNjY4LDAsMCwxLS4xMy43MjIsMS4yMiwxLjIyLDAsMCwxLS4zOC41NTgsNC4yNjMsNC4yNjMsMCwwLDAtMS42NjEtLjQ0Ni41NDMuNTQzLDAsMCwwLS4zNjIuMTA2LjMzOS4zMzksMCwwLDAtLjEyNC4yN3EwLC4yODIuNDUxLjQ0NmwuNzM2LjI1OVpcIiBzdHlsZT1cImZpbGw6I2Y2ZjZmNlwiLz48cGF0aCBkPVwiTTE1LjI2NCwxNi4zMzNhMi44MjIsMi44MjIsMCwwLDAtLjE3Mi0xLDIuMjM5LDIuMjM5LDAsMCwwLS40OTItLjc4NywyLjI4LDIuMjgsMCwwLDAtLjc3Ny0uNTE3LDIuNzM3LDIuNzM3LDAsMCwwLTEuMDI2LS4zMTQsMi44LDIuOCwwLDAsMC0xLjE4LjM2MSwyLjI1NiwyLjI1NiwwLDAsMC0uODMuNjQ2LDIuNzY1LDIuNzY1LDAsMCwwLS40ODcuOTY5LDQuNCw0LjQsMCwwLDAtLjE2LDEuMjE2LDUuNjgxLDUuNjgxLDAsMCwwLC4xMywxLjI1NywyLjYyOCwyLjYyOCwwLDAsMCwuNDQ1LDEsMi4xMDcsMi4xMDcsMCwwLDAsLjgxOC42NTcsMi45MzUsMi45MzUsMCwwLDAsMS4yNTEuMjc3LDMuOTUyLDMuOTUyLDAsMCwwLDIuMzI0LS43MTIsMS44NjUsMS44NjUsMCwwLDAtLjQ4NC0xLjA4MSw2LjE4OCw2LjE4OCwwLDAsMS0uODU3LjI2MiwzLjIwOCwzLjIwOCwwLDAsMS0uNjU2LjA3OSwxLjAxNywxLjAxNywwLDAsMS0uODE1LS4yOSwxLjE4NywxLjE4NywwLDAsMS0uMjcxLS43N2gzLjA4M0E0LjQ0Nyw0LjQ0NywwLDAsMCwxNS4yNjQsMTYuMzMzWm0tMy4yNDguMDgxYTIuNDMzLDIuNDMzLDAsMCwxLC4yMTgtMSwuNjMyLjYzMiwwLDAsMSwuNTU5LS4yNjQuNjYuNjYsMCwwLDEsLjU4Mi4yODIsMS43NDksMS43NDksMCwwLDEsLjE5NC44NTZ2LjEzSDEyLjAxNlpcIiBzdHlsZT1cImZpbGw6I2Y2ZjZmNlwiLz48cGF0aCBkPVwiTTI5LjE4LDE3LjJhMS42MDUsMS42MDUsMCwwLDAtLjUzLDEuMjY1djIuMDUxYTEuODEsMS44MSwwLDAsMS0uNjgzLDEuNTU3LDIuOCwyLjgsMCwwLDEtMS42NTQuNTQ5bC0uMzczLDBWMjEuNTk0YTEuMjQxLDEuMjQxLDAsMCwwLC41OTUtLjMzNCwxLjM2OSwxLjM2OSwwLDAsMCwuNDE5LTEuMDQ3VjE4LjU1NmEyLjU0NSwyLjU0NSwwLDAsMSwuMjU3LTEuMzIzLDIuNSwyLjUsMCwwLDEsMS4yLS44MzgsMi41MjgsMi41MjgsMCwwLDEtMS4zMjQtMS4xNzksMi45NTYsMi45NTYsMCwwLDEtLjEzNS0xLjE2NVYxMi41MzNhMS40NTgsMS40NTgsMCwwLDAtLjM2Ni0xLjA1NCwxLjE1MiwxLjE1MiwwLDAsMC0uNjQ4LS4zMTR2LS45NmMuNDQ1LDAsLjY2OSwwLC45MjgsMGExLjY3NiwxLjY3NiwwLDAsMSwxLjAyMy40NDIsMiwyLDAsMCwxLC42NzMsMS4wMDksMi4zMywyLjMzLDAsMCwxLC4wODYuN3YxLjc1N2ExLjg0NiwxLjg0NiwwLDAsMCwuNSwxLjM4MywyLjExMywyLjExMywwLDAsMCwuODU0LjQ3OXYuNzk0YTEuOTQzLDEuOTQzLDAsMCwwLS44Mi40MjZaXCIgc3R5bGU9XCJmaWxsOiNmNmY2ZjY7c3Ryb2tlOiM0MDQwNDA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjAuMjVweFwiLz48cGF0aCBkPVwiTTUuNTk0LDEwLjIwNkg1LjI2YTEuNjczLDEuNjczLDAsMCwwLTEuMDIzLjQ0MiwxLjcxLDEuNzEsMCwwLDAtLjY3MywxLjAwOSwzLjUzMSwzLjUzMSwwLDAsMC0uMDM4Ljd2MS43NTdBMS44NjcsMS44NjcsMCwwLDEsMi45ODEsMTUuNSwyLjg0NywyLjg0NywwLDAsMSwyLDE1Ljk3N3YuNzkzYTIuNTUyLDIuNTUyLDAsMCwxLC45NDcuNDI2LDEuNjM4LDEuNjM4LDAsMCwxLC41NzcsMS4yNjV2Mi4wNTFBMS43ODEsMS43ODEsMCwwLDAsNC4xNiwyMi4wN2EyLjgsMi44LDAsMCwwLDEuNjU0LjU1bC40MjEsMFYyMS41OTRhMS40NywxLjQ3LDAsMCwxLS42NDMtLjMzNCwxLjM1NSwxLjM1NSwwLDAsMS0uMzcxLTEuMDQ3VjE4LjU1N2EyLjUxNiwyLjUxNiwwLDAsMC0uMzA1LTEuMzIzLDIuNSwyLjUsMCwwLDAtMS4yLS44MzgsMi41MjksMi41MjksMCwwLDAsMS4zMjQtMS4xNzgsMi44NTcsMi44NTcsMCwwLDAsLjE4My0xLjE2NVYxMi41MzRBMS40NjIsMS40NjIsMCwwLDEsNS41NCwxMS40OGExLjMxMywxLjMxMywwLDAsMSwuNTc1LS4yNzFsLjQyOCwwVjEwLjIwNkg1LjU5NFpcIiBzdHlsZT1cImZpbGw6I2Y2ZjZmNjtzdHJva2U6IzQwNDA0MDtzdHJva2UtbWl0ZXJsaW1pdDoxMDtzdHJva2Utd2lkdGg6MC4yNXB4XCIvPjxwYXRoIGQ9XCJNOS41MzcsMTguNTI5aC0uMzJjLS4zNDgsMC0uNDc5LS4xODMtLjQ3OS0uNTUxVjExLjIxOWExLjI1NiwxLjI1NiwwLDAsMC0uMjY4LS44NTZjLS4xNS0uMTY0LS40MTEtLjE2Mi0uNzgzLS4xNjJINi45NjRsLS4wODUsMHY4LjEwNmExLjg3NSwxLjg3NSwwLDAsMCwuMzUyLDEuMjQsMS40NDEsMS40NDEsMCwwLDAsMS4xNDUuMzkzLDcuODU5LDcuODU5LDAsMCwwLDEuMjY5LS4xMTgsMi4yMywyLjIzLDAsMCwwLC4wMzYtLjUwOSwyLjI3OCwyLjI3OCwwLDAsMC0uMTQyLS43ODJaXCIgc3R5bGU9XCJmaWxsOiNmNmY2ZjZcIi8+YCxcblx0XCJMaXF1aWRcIjogYDxwYXRoIGQ9XCJNMjkuOTg4LDIyLjM3MmwtLjc0OC4wNDhhNS4yMDksNS4yMDksMCwwLDEtMi45OS0uNjcxLDcuOCw3LjgsMCwwLDAtNy44LDAsNS4yNzUsNS4yNzUsMCwwLDEtNS4zLjAxQTcuMjYyLDcuMjYyLDAsMCwwLDkuMjYzLDIwLjdhNy4yMjksNy4yMjksMCwwLDAtMy45NCwxLjA2LDQuNzUxLDQuNzUxLDAsMCwxLTIuNDcuN2wtLjgzOCwwYzAsLjg4OS0uMDA5LDEuNzM5LS4wMTUsMi41MTVsLjg2MSwwYTcuMjM3LDcuMjM3LDAsMCwwLDMuNzUtMS4wNTIsNC43NjMsNC43NjMsMCwwLDEsMi42NTktLjcsNC44MzUsNC44MzUsMCwwLDEsMi42MzQuNzE4LDcuNzk0LDcuNzk0LDAsMCwwLDcuOCwwLDUuMjg3LDUuMjg3LDAsMCwxLDUuMzE5LDAsNy43MDksNy43MDksMCwwLDAsNC40Ljk4OUwzMCwyNC44ODhDMjkuOTk1LDI0LjEsMjkuOTkxLDIzLjI0OSwyOS45ODgsMjIuMzcyWlwiIHN0eWxlPVwiZmlsbDojMDA0OTk5XCIvPjxwYXRoIGQ9XCJNMjkuOTgzLDE1LjU4MWwtLjc0My4wNDdhNS4yMjYsNS4yMjYsMCwwLDEtMi45OS0uNjcxLDcuOCw3LjgsMCwwLDAtNy44LDAsNS4yNzgsNS4yNzgsMCwwLDEtNS4zLjAxQTcuMzEyLDcuMzEyLDAsMCwwLDkuMjYzLDEzLjkxYTcuMyw3LjMsMCwwLDAtMy45NDEsMS4wNiw0Ljc0Miw0Ljc0MiwwLDAsMS0yLjQ2OS43bC0uODI4LDBjMCwuODQ5LDAsMS42OTMsMCwyLjUxNWwuODQsMGE3LjIzNyw3LjIzNywwLDAsMCwzLjc1LTEuMDUyLDQuNyw0LjcsMCwwLDEsMi42NTktLjcsNC44LDQuOCwwLDAsMSwyLjYzNC43MTgsNy43OTQsNy43OTQsMCwwLDAsNy44LDAsNS4yODcsNS4yODcsMCwwLDEsNS4zMTksMCw3LjcwOSw3LjcwOSwwLDAsMCw0LjQuOTg5bC41NjgtLjAzN0MyOS45ODMsMTcuMjY5LDI5Ljk4MywxNi40MjQsMjkuOTgzLDE1LjU4MVpcIiBzdHlsZT1cImZpbGw6IzAwNDk5OVwiLz48cGF0aCBkPVwiTTI5LjI0LDkuMTM3YTUuMjU0LDUuMjU0LDAsMCwxLTIuOTktLjY3MSw3LjgsNy44LDAsMCwwLTcuOCwwLDUuMjc1LDUuMjc1LDAsMCwxLTUuMy4wMDlBNy4xNiw3LjE2LDAsMCwwLDkuMjYzLDcuNDJhNy4xNTksNy4xNTksMCwwLDAtMy45NCwxLjA1OSw0LjczOCw0LjczOCwwLDAsMS0yLjQ2OS43bC0uODM0LDBjMCwuODIsMCwxLjY2NCwwLDIuNTE3bC44MzYsMGE3LjIzNyw3LjIzNywwLDAsMCwzLjc1LTEuMDUyLDQuNzM4LDQuNzM4LDAsMCwxLDIuNjU5LS43MDYsNC44MTQsNC44MTQsMCwwLDEsMi42MzQuNzE5LDcuNzkxLDcuNzkxLDAsMCwwLDcuOCwwLDUuMjkzLDUuMjkzLDAsMCwxLDUuMzE5LDAsNy43MzIsNy43MzIsMCwwLDAsNC40Ljk4OGwuNTY4LS4wMzdjMC0uODU5LDAtMS43LjAwNy0yLjUxNlpcIiBzdHlsZT1cImZpbGw6IzAwNDk5OVwiLz5gLFxuXHRcIkxpc3BcIjogYDxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD1cImFcIiB4MT1cIjE5MjUuNzg1XCIgeTE9XCItMTM4My4wNzVcIiB4Mj1cIjIzMDIuMzUxXCIgeTI9XCItMTg2OC41NTdcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgwLjA0OCwgMCwgMCwgLTAuMDQ1LCAtODIuNTM5LCAtNTQuNjUpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjODM4MWM1XCIvPjxzdG9wIG9mZnNldD1cIjAuNTY2XCIgc3RvcC1jb2xvcj1cIiM3ZTU1YjNcIiBzdG9wLW9wYWNpdHk9XCIwLjk5NlwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNhNTJlY2JcIiBzdG9wLW9wYWNpdHk9XCIwLjk5MlwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImJcIiB4MT1cIjIyMTQuMTg3XCIgeTE9XCItMTc1MC4yMjVcIiB4Mj1cIjE5MzAuOTc0XCIgeTI9XCItMTQwOC4zNDJcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgwLjA1NCwgMCwgMCwgLTAuMDU0LCAtOTUuMTg4LCAtNjguNDg3KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzQxMWY1ZFwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM1YjJhODVcIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHRpdGxlPmZpbGVfdHlwZV9lbWFjczwvdGl0bGU+PHBhdGggZD1cIk0yOS4zNjMsMTZBMTMuMzY0LDEzLjM2NCwwLDEsMSwxNiwyLjUsMTMuNDMyLDEzLjQzMiwwLDAsMSwyOS4zNjMsMTZaXCIgc3R5bGU9XCJzdHJva2Utd2lkdGg6MC43NXB4O2ZpbGw6dXJsKCNhKTtzdHJva2U6dXJsKCNiKVwiLz48cGF0aCBkPVwiTTExLjQwNiwyNS40ODNhMTguMTU3LDE4LjE1NywwLDAsMCwyLjU4Ny0uMDQ4LDQxLjcyOCw0MS43MjgsMCwwLDAsNC41LS42MzksMzAuNjcxLDMwLjY3MSwwLDAsMCwzLjEzMi0uODM5YzEuMTQyLS40MjEsMS43NjQtLjc3OCwyLjA0My0xLjI4NGEuNjIuNjIsMCwwLDAtLjQ0MS0uNjkyYy0xLjM0Ny0uNTY1LTIuOTA4LS40NjMtNi0uNTI4LTMuNDI3LS4xMTgtNC41NjctLjY5MS01LjE3NC0xLjE1My0uNTgyLS40NjktLjI5LTEuNzY1LDIuMjA2LTIuOTA3YTU0LjI2Niw1NC4yNjYsMCwwLDEsNi4xODQtMS43M2MtMS42NTktLjgyLTQuNzUzLTIuMjYyLTUuMzg5LTIuNTczLS41NTgtLjI3My0xLjQ1MS0uNjg0LTEuNjQ0LTEuMTgyLS4yMTktLjQ3OC41MTgtLjg4OS45My0xLjAwN2EyMC4zLDIwLjMsMCwwLDEsNC45LS42NDcsNC4zMDgsNC4zMDgsMCwwLDAsMS0uMDY5QTEuNzY3LDEuNzY3LDAsMCwwLDIxLjg3OSw3LjlhMi43NzUsMi43NzUsMCwwLDAtMy4yODYtMS44MUMxNy4yMiw2LjMzOCwxMy45MDgsNy4zLDEzLjkwOCw3LjNjNC4wOTMtLjAzNSw0Ljc3OS4wMzMsNS4wODUuNDYxLjE4MS4yNTMtLjA4Mi42LTEuMTc0Ljc3Ny0xLjE4OS4xOTQtMy42NTkuNDI4LTMuNjU5LjQyOC0yLjM3LjE0MS00LjA0LjE1LTQuNTQsMS4yMS0uMzI3LjY5My4zNDksMS4zLjY0NSwxLjY4OGExMi43MjgsMTIuNzI4LDAsMCwwLDQuMjI1LDIuN2MuNDM4LjIwOCwxLjcyMy42LDEuNzIzLjZhMTEuNTIsMTEuNTIsMCwwLDAtOC4xLDIuMjg3Yy0xLjgwNywxLjY3Mi0xLjAwOCwzLjY2NSwyLjY5NSw0Ljg5MWExMi43NTUsMTIuNzU1LDAsMCwwLDYuNTM0Ljc3MmMxLjkyMi0uMSwyLjIyNC0uMDQyLDIuMjQ0LjExNi4wMjcuMjIyLTIuMTM0Ljc3My0yLjcyNC45NDQtMS41LjQzMy01LjQzNiwxLjMwNy01LjQ1NiwxLjMxMlpcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz5gLFxuXHRcIkxpdmVTY3JpcHRcIjogYDxwb2x5Z29uIHBvaW50cz1cIjUuNTA0IDIuMDA3IDguOTg2IDIgOC45ODYgMjEuNzQ2IDEwLjc1OSAxOS45ODcgMTAuNzU5IDMuNzU1IDEyLjQ5NyAzLjc1NSAxMi40OTcgMTguMjQgMTQuMjUzIDE2LjQ4NyAxNC4yNTMgMy43NTUgMTUuOTk3IDMuNzU1IDE1Ljk5NyAxNC43MjkgMTcuNzM1IDEyLjk2MiAxNy43MzUgMy43NTUgMTkuNDYxIDMuNzU1IDE5LjQ2MSAxMS4yMjUgMjEuMjQ1IDkuNDYxIDIxLjI0NSAzLjc1NSAyMi45NzIgMy43NTUgMjIuOTcyIDcuNzIzIDI0LjczOCA1Ljk3NSAyNC43MzkgMy43NTUgMjYuNDgzIDMuNzU1IDI2LjQ4MyA1LjQ4MiAyOC4yMDkgNS40ODIgMjguMjA5IDcuMjY3IDI1LjkxMSA3LjI2OCAyNC4xODQgOC45OTMgMjguMjA5IDguOTkzIDI4LjIwOSAxMC43MTkgMjIuNDM4IDEwLjcxOSAyMC42OTggMTIuNTA0IDI4LjIwOSAxMi41MDQgMjguMjA5IDE0LjIzIDE4Ljk2MSAxNC4yMyAxNy4yMDUgMTYuMDE0IDI4LjIwOSAxNi4wMTQgMjguMjA5IDE3Ljc0MSAxNS40NTUgMTcuNzQxIDEzLjcxNSAxOS40OTYgMjguMjA5IDE5LjQ5NiAyOC4yMDkgMjEuMjUyIDExLjk4IDIxLjI1MiAxMC4yNDIgMjIuOTc4IDI5Ljk4MiAyMi45NzggMjkuOTg5IDI2LjQ4OSA4Ljk4NiAyNi40ODkgOC45ODYgMzAgNS41MDQgMzAgNS41MDQgMjYuNDg5IDIuMDExIDI2LjQ4OSAyLjAxMSAyMi45NzggNS41MDQgMjIuOTc4IDUuNTAzIDIgNS41MDQgMi4wMDdcIiBzdHlsZT1cImZpbGw6IzMxN2VhY1wiLz5gLFxuXHRcIkxvZyBmaWxlXCI6IGA8cGF0aCBkPVwiTTI5LjQsMjcuNkgyLjVWNC41SDI5LjRabS0yNS45LTFIMjguNFY1LjVIMy41WlwiIHN0eWxlPVwiZmlsbDojMDBiZDAyXCIvPjxyZWN0IHg9XCIyLjVcIiB5PVwiNS41XCIgd2lkdGg9XCIyNi45XCIgaGVpZ2h0PVwiMS45XCIgc3R5bGU9XCJmaWxsOiMwMGJkMDJcIi8+PHJlY3QgeD1cIjExLjMzM1wiIHk9XCI5LjVcIiB3aWR0aD1cIjguMTY3XCIgaGVpZ2h0PVwiMVwiIHN0eWxlPVwiZmlsbDojMDBiZDAyXCIvPjxyZWN0IHg9XCIxMS4zMzNcIiB5PVwiMTIuMDgzXCIgd2lkdGg9XCIxMi41XCIgaGVpZ2h0PVwiMVwiIHN0eWxlPVwiZmlsbDojMDBiZDAyXCIvPjxyZWN0IHg9XCIxMS4zMzNcIiB5PVwiMTQuNzVcIiB3aWR0aD1cIjEwLjYxN1wiIGhlaWdodD1cIjFcIiBzdHlsZT1cImZpbGw6IzAwYmQwMlwiLz48cmVjdCB4PVwiMTEuMzMzXCIgeT1cIjE3LjU4M1wiIHdpZHRoPVwiMTQuMTY3XCIgaGVpZ2h0PVwiMVwiIHN0eWxlPVwiZmlsbDojMDBiZDAyXCIvPjxyZWN0IHg9XCIxMS4zMzNcIiB5PVwiMjAuNVwiIHdpZHRoPVwiOS44MzRcIiBoZWlnaHQ9XCIxXCIgc3R5bGU9XCJmaWxsOiMwMGJkMDJcIi8+PHJlY3QgeD1cIjExLjVcIiB5PVwiMjMuMDgzXCIgd2lkdGg9XCIxMi4xNjdcIiBoZWlnaHQ9XCIxXCIgc3R5bGU9XCJmaWxsOiMwMGJkMDJcIi8+PHJlY3QgeD1cIjUuNVwiIHk9XCI5LjVcIiB3aWR0aD1cIjQuMzMzXCIgaGVpZ2h0PVwiMVwiIHN0eWxlPVwiZmlsbDojMDBiZDAyXCIvPjxyZWN0IHg9XCI1LjVcIiB5PVwiMTIuMDgzXCIgd2lkdGg9XCI0LjMzM1wiIGhlaWdodD1cIjFcIiBzdHlsZT1cImZpbGw6IzAwYmQwMlwiLz48cmVjdCB4PVwiNS41XCIgeT1cIjEyLjA4M1wiIHdpZHRoPVwiNC4zMzNcIiBoZWlnaHQ9XCIxXCIgc3R5bGU9XCJmaWxsOiMwMGJkMDJcIi8+PHJlY3QgeD1cIjUuNVwiIHk9XCIxNC42NjdcIiB3aWR0aD1cIjQuMzMzXCIgaGVpZ2h0PVwiMVwiIHN0eWxlPVwiZmlsbDojMDBiZDAyXCIvPjxyZWN0IHg9XCI1LjVcIiB5PVwiMTcuMjVcIiB3aWR0aD1cIjQuMzMzXCIgaGVpZ2h0PVwiMVwiIHN0eWxlPVwiZmlsbDojMDBiZDAyXCIvPjxyZWN0IHg9XCI1LjVcIiB5PVwiMjAuNVwiIHdpZHRoPVwiNC4zMzNcIiBoZWlnaHQ9XCIxXCIgc3R5bGU9XCJmaWxsOiMwMGJkMDJcIi8+PHJlY3QgeD1cIjUuNVwiIHk9XCIyMy4wODNcIiB3aWR0aD1cIjQuMzMzXCIgaGVpZ2h0PVwiMVwiIHN0eWxlPVwiZmlsbDojMDBiZDAyXCIvPmAsXG5cdFwiTE9MQ09ERVwiOiBgPHBhdGggZD1cIk0yMS4zLDMuNzNhMy45NCwzLjk0LDAsMCwxLDEuMDQxLS42Miw4LjQzNSw4LjQzNSwwLDAsMSwuNTU2LDMuMzg1LDI0Ljg2NSwyNC44NjUsMCwwLDEtLjY0Myw1LjAxOWMtLjM2OC0uMTgtLjczNi0uMzY0LTEuMS0uNTU0YTExLjc1NCwxMS43NTQsMCwwLDAsLjI3My0zLjc0NywzLjA4LDMuMDgsMCwwLDAtLjI1NS0uODY1LDUuMTQyLDUuMTQyLDAsMCwwLTIuMDE2LDIuMDdjLS4zMTktLjI0LS42NTItLjQ1OS0uOTg1LS42NzZBMTUuNzE2LDE1LjcxNiwwLDAsMSwyMS4zLDMuNzNaXCIgc3R5bGU9XCJmaWxsOiNlZGVkZWRcIi8+PHBhdGggZD1cIk0xOS40NTEsOC42YTQuNTc0LDQuNTc0LDAsMCwxLDEuNTA5LTEuNTYzLDYuNjg1LDYuNjg1LDAsMCwxLC4wOSwyLjY3MUMyMC41MTcsOS4zNDMsMTkuOTc1LDguOTg3LDE5LjQ1MSw4LjZaXCIgc3R5bGU9XCJmaWxsOiNlZGVkZWRcIi8+PHBhdGggZD1cIk0xNi40NjEsMTAuMDc2Yy0uMDM4LTEuMTM0LS4wMzEtMi4yNjktLjAyNi0zLjQtLjkuNDkzLTEuNzU4LDEuMDcxLTIuNjQ4LDEuNTg5LS40NTMuMjctLjkwOC41MzYtMS4zNi44MDguMjI0LS4xNjMuNDU3LS4zMTIuNjktLjQ2Mi0uODYxLTEuMjI0LTEuOTcxLTIuNS0zLjUzLTIuNzQ4YTEwLjk2NCwxMC45NjQsMCwwLDAtLjM2NSw1LjE0N2MuMzE4LS4xOTUuNjMzLS40Ljk2Mi0uNTcyLS40NzQuMzE5LS45NjQuNjE1LTEuNDQ2LjkyLS45NTcuNi0xLjkyMiwxLjE5Mi0yLjg5MiwxLjc3N2ExLjIzMiwxLjIzMiwwLDAsMC0uMzkxLjMyYy0uMSwxLjM5NS0uMzQsNC4zOTItLjM0LDQuMzkyLS4yNTQsMy42NjgtLjUyMiw3LjMzNi0uODI2LDExLDQuMDYyLjM0Myw4LjExOC43NDIsMTIuMTc5LDEuMDc2QzE2LjQ1OCwyMy4zLDE2LjQ3MiwxNi42OSwxNi40NjEsMTAuMDc2WlwiIHN0eWxlPVwiZmlsbDojZWRlZGVkXCIvPjxwYXRoIGQ9XCJNMjEuMSwyLjk3N0E1Ljg4NCw1Ljg4NCwwLDAsMSwyMi43MDYsMmExMC4wNjQsMTAuMDY0LDAsMCwxLC43NzIsNC42MDYsMjQuNTkxLDI0LjU5MSwwLDAsMS0uNTA4LDQuNDU5YzEuMi44NDYsMi40MzMsMS42NDUsMy42MTgsMi41MDlxLjQ0LDYuMzguOTA3LDEyLjc1OGMuMDY2LjgzOS4wOTQsMS42OC4yMTYsMi41MTMtMy4wMjkuMjc5LTYuMDU3LjU5MS05LjA4NS44ODZhMTkuMTM3LDE5LjEzNywwLDAsMC0yLjE1OC4yN3YtLjA4M2MtLjAxLTYuNjE0LDAtMTMuMjI3LS4wMDctMTkuODQxLS4wMzgtMS4xMzQtLjAzMS0yLjI2OS0uMDI2LTMuNHYtLjFjLjQwNi4yOTIuODI2LjU2MiwxLjI0My44MzlBMTYuMjc0LDE2LjI3NCwwLDAsMSwyMS4xLDIuOTc3Wm0uMi43NTJhMTUuNzE2LDE1LjcxNiwwLDAsMC0zLjEyOCw0LjAxMWMuMzM0LjIxNy42NjYuNDM3Ljk4NS42NzZhNS4xNDIsNS4xNDIsMCwwLDEsMi4wMTYtMi4wNywzLjA4LDMuMDgsMCwwLDEsLjI1NS44NjUsMTEuNzU0LDExLjc1NCwwLDAsMS0uMjczLDMuNzQ3Yy4zNjQuMTkuNzMxLjM3NCwxLjEuNTU0YTI0Ljg2NSwyNC44NjUsMCwwLDAsLjY0My01LjAxOSw4LjQzNSw4LjQzNSwwLDAsMC0uNTU2LTMuMzg1QTMuOTQsMy45NCwwLDAsMCwyMS4zLDMuNzNaTTE5LjQ1MSw4LjZjLjUyNC4zODMsMS4wNjYuNzM5LDEuNiwxLjEwOGE2LjY4NSw2LjY4NSwwLDAsMC0uMDktMi42NzFBNC41NzQsNC41NzQsMCwwLDAsMTkuNDUxLDguNlpcIiBzdHlsZT1cImZpbGw6IzhkMjcwMVwiLz48cGF0aCBkPVwiTTkuMjE5LDUuMDYyYTMuNTgxLDMuNTgxLDAsMCwxLDIuMjA1Ljc0OEExMi45LDEyLjksMCwwLDEsMTMuNzg4LDguMjZjLS40NTMuMjctLjkwOC41MzYtMS4zNi44MDguMjI0LS4xNjMuNDU3LS4zMTIuNjktLjQ2Mi0uODYxLTEuMjI0LTEuOTcxLTIuNS0zLjUzLTIuNzQ4YTEwLjk2NCwxMC45NjQsMCwwLDAtLjM2NSw1LjE0N2MuMzE4LS4xOTUuNjMzLS40Ljk2Mi0uNTcyLS40NzQuMzE5LS45NjQuNjE1LTEuNDQ2LjkyQTE0LjEsMTQuMSwwLDAsMSw5LjIxOSw1LjA2MlpcIiBzdHlsZT1cImZpbGw6IzhkMjcwMVwiLz48cGF0aCBkPVwiTTEwLjUwNyw4LjQ3NmEyLjQ1NSwyLjQ1NSwwLDAsMSwxLjUxNy44OGwtLjM2LjJBMi42OSwyLjY5LDAsMCwwLDEwLjczOSw5YTMuMzE4LDMuMzE4LDAsMCwwLS4xNjUsMS4yODFsLS4zNDQuMTFBNy4wMjEsNy4wMjEsMCwwLDEsMTAuNTA3LDguNDc2WlwiIHN0eWxlPVwiZmlsbDojOGQyNzAxXCIvPjxwYXRoIGQ9XCJNMTIuMTM5LDEwLjY5M2EuNDg3LjQ4NywwLDAsMSwuNTQyLjAxLDEuNTUyLDEuNTUyLDAsMCwxLC4wNjIuNmMtLjAzOS43ODQuMDI0LDEuNTczLS4wNzYsMi4zNTRhMS4wMTMsMS4wMTMsMCwwLDEtMS4wMTIuODg2Yy0uMjMzLS4wNS0uMjc4LS4zNDEtLjI3OC0uNTQxLDAtLjY3NS4xLTEuMzQ3LjA2Ni0yLjAyNEExLjMsMS4zLDAsMCwxLDEyLjEzOSwxMC42OTNabS4xNSwxLjA4NGEuODkxLjg5MSwwLDAsMCwuMjUxLS44NjZDMTIuMjE4LDExLjA2MSwxMS45LDExLjUwNywxMi4yODksMTEuNzc3WlwiIHN0eWxlPVwiZmlsbDojOGQyNzAxXCIvPjxwYXRoIGQ9XCJNMTQuNSwxMy43MjhhMTcuNjcxLDE3LjY3MSwwLDAsMSwxLjkyOC0uODIyYy0uMDI0LjA2NC0uMDY5LjE5MS0uMDkyLjI1NS0uNjQ5LjM1OC0xLjM2LjYtMi4wMjEuOTM4YTEyLjExOCwxMi4xMTgsMCwwLDAtMy4yMzgsMi4yNDhBNy4yLDcuMiwwLDAsMSwxMCwxNy4zODFhNC4xNjYsNC4xNjYsMCwwLDEsLjk4LTEuMjQ2QTEyLjcyNywxMi43MjcsMCwwLDEsMTQuNSwxMy43MjhaXCIgc3R5bGU9XCJmaWxsOiM4ZDI3MDFcIi8+PHBhdGggZD1cIk03LjYyOCwxMy4yMzFhLjk4OS45ODksMCwwLDEsLjU5NC0uMTUyLDE4LjExNCwxOC4xMTQsMCwwLDEtLjEsMi42NTQuNzEzLjcxMywwLDAsMS0uODkyLjY1OCwyMS4xLDIxLjEsMCwwLDEsLjA4Mi0yLjIyNkExLjM4MywxLjM4MywwLDAsMSw3LjYyOCwxMy4yMzFabS4xNzkuODMxYy4yNjgtLjExMi4zMTktLjQxMy40MTItLjY1NEM3LjgyLDEzLjMxMiw3Ljc3NSwxMy43ODMsNy44MDcsMTQuMDYyWlwiIHN0eWxlPVwiZmlsbDojOGQyNzAxXCIvPjxwYXRoIGQ9XCJNMTAuODIzLDE3LjA5NGExMy45MzQsMTMuOTM0LDAsMCwxLDQuNjEyLTEuOTY4Yy0uMDEuMDY4LS4wMjkuMjA2LS4wMzkuMjc0YTE0LjI3MywxNC4yNzMsMCwwLDAtNC40NzUsMS45MTQsMi42MjYsMi42MjYsMCwwLDEtLjY4MS4zNDNDMTAuMywxNy4zNTYsMTAuNiwxNy4yNDksMTAuODIzLDE3LjA5NFpcIiBzdHlsZT1cImZpbGw6IzhkMjcwMVwiLz48cGF0aCBkPVwiTTUuMjY0LDE3LjU5QTUuMTQ0LDUuMTQ0LDAsMCwxLDgsMTcuMWExLjUsMS41LDAsMCwxLDEuMTQyLjY2NUE2Ljg1NCw2Ljg1NCwwLDAsMCw3LjYsMTcuMjc4YTYuOTY3LDYuOTY3LDAsMCwwLTIuNDg0LjU2NFpcIiBzdHlsZT1cImZpbGw6IzhkMjcwMVwiLz48cGF0aCBkPVwiTTEwLjU3OCwxNy43MjVhOS41OSw5LjU5LDAsMCwxLDMuNjEtLjU2NmMuMjQuMDIxLjMyMS4yLjMxMy40MjRhMy4yMzgsMy4yMzgsMCwwLDAtMS45NTYtLjA5LDIxLjY4OCwyMS42ODgsMCwwLDAtMi41NTcuNjU4QzkuOTk1LDE3LjgyOSwxMC4zNDUsMTcuODA5LDEwLjU3OCwxNy43MjVaXCIgc3R5bGU9XCJmaWxsOiM4ZDI3MDFcIi8+PHBhdGggZD1cIk05LjI2OCwxNy42NzZjLjE0OS0uMTc2LjUzMy0uMzMyLjY2NC0uMDYyYTEuMywxLjMsMCwwLDEtLjUxNi45OTNDOS4yNjgsMTguMzM3LDguOTczLDE3Ljk1Miw5LjI2OCwxNy42NzZaXCIgc3R5bGU9XCJmaWxsOiM4ZDI3MDFcIi8+PHBhdGggZD1cIk01Ljc0NCwxOC42MjlhNS45LDUuOSwwLDAsMSwzLjE4Mi0uNjE4Yy0uMTgyLjIzNS0uNDkzLjE3OC0uNzUxLjIwOGE1LjY2Myw1LjY2MywwLDAsMC0xLjcyLjMzYy0uMzQ0LjEyOC0uNjY1LjMxLTEuMDIuNDA5QS42LjYsMCwwLDEsNS43NDQsMTguNjI5WlwiIHN0eWxlPVwiZmlsbDojOGQyNzAxXCIvPjxwYXRoIGQ9XCJNNi45LDE5LjExNGE5LjY3Niw5LjY3NiwwLDAsMSwyLjItLjg1NGMtLjEuMy0uNDQxLjMzOC0uNy40NDRhNy44MzksNy44MzksMCwwLDAtMi41NjQsMS40MTVDNS45MzgsMTkuNTg0LDYuNDg4LDE5LjM2OSw2LjksMTkuMTE0WlwiIHN0eWxlPVwiZmlsbDojOGQyNzAxXCIvPjxwYXRoIGQ9XCJNMTEuNjM1LDE5LjdhMy4xMSwzLjExLDAsMCwwLDEuOTEtMS4zODNjLjM0Ny0uMS4yNzMuMjc1LjI2LjQ5NGEyLjA1NiwyLjA1NiwwLDAsMS0uOTUsMS4wMzYsMTIuMzY1LDEyLjM2NSwwLDAsMS0xLjgyNyw2LjQxOUEyLjM0MiwyLjM0MiwwLDAsMSw4Ljg3OSwyNy41YTIuMjUxLDIuMjUxLDAsMCwxLTEuNTM1LTEuNDksMTAuODk0LDEwLjg5NCwwLDAsMS0uNjktNC42NjVjLS4xNTctLjExMi0uMzY5LS4xNzktLjQ2LS4zNjItLjEzLS4yLjAxMS0uNDI1LjA0Ny0uNjMxLjE5LjE1MS4zNDUuMzkyLjYwNi40MmEzLjYxNywzLjYxNywwLDAsMCwxLjg2My0uNCwxLjU4OCwxLjU4OCwwLDAsMCwuNzA5LS42NjIsMy44ODEsMy44ODEsMCwwLDAsLjQzMS4yNjZBNC4yOCw0LjI4LDAsMCwwLDExLjYzNSwxOS43Wm0tMi4yLjgzNWE0LjEzMiw0LjEzMiwwLDAsMS0yLjQ2Mi44MDksMTEuMDQ5LDExLjA0OSwwLDAsMCwuMzU4LDMuNTI2LDMuMjI2LDMuMjI2LDAsMCwxLC45LTEuMjgyLDIuMDU1LDIuMDU1LDAsMCwxLDIuMy0uMiwyLjMsMi4zLDAsMCwxLC44ODQsMS4xNzIsMTQuNjU5LDE0LjY1OSwwLDAsMCwxLjAwNS00LjQ4OUE1LjE2Nyw1LjE2NywwLDAsMSw5LjQzNSwyMC41MzJabS0uMzI5LDMuMjZhMi4yNzMsMi4yNzMsMCwwLDAtMS41LDEuNDM0Yy0uMTIzLjI2OS4xLjUxNy4yMjUuNzM4LjMzMS40NjIuNzk1LDEsMS40MzEuODkzYTIuODY4LDIuODY4LDAsMCwwLDEuNzY5LTEuNkExLjYsMS42LDAsMCwwLDkuMTA2LDIzLjc5MlpcIiBzdHlsZT1cImZpbGw6IzhkMjcwMVwiLz5gLFxuXHRcIkx1YVwiOiBgPHBhdGggZD1cIk0xNi41LDMwbC0uMDExLS4zMjFjLjQtLjAxNC44LS4wNDUsMS4xOS0uMDk0bC4wMzkuMzE5QzE3LjMxMiwyOS45NTIsMTYuOSwyOS45ODQsMTYuNSwzMFptLTEuMjIyLS4wMTFjLS40LS4wMjEtLjgxNC0uMDYxLTEuMjE2LS4xMThsLjA0NS0uMzE4Yy4zOTMuMDU1Ljc5My4wOTQsMS4xODguMTE1Wk0xOC45MiwyOS43bC0uMDY3LS4zMTRjLjM4Ny0uMDgzLjc3Ni0uMTg0LDEuMTU1LS4zbC4wOTQuMzA3QzE5LjcxNCwyOS41MTEsMTkuMzE2LDI5LjYxNSwxOC45MiwyOS43Wm0tNi4wNjMtLjA1M2MtLjQtLjA5MS0uNzkxLS4yLTEuMTc3LS4zMjZsLjEtLjMwNmMuMzc3LjEyMi43NjQuMjMsMS4xNS4zMTlabTguNC0uNjY1LS4xMjEtLjNjLjM2NC0uMTQ4LjcyOC0uMzE0LDEuMDgtLjQ5M2wuMDA2LDAsLjE0NS4yODYsMCwwQzIyLDI4LjY2MSwyMS42MjYsMjguODMxLDIxLjI1MywyOC45ODJabS0xMC43MTgtLjA4OGMtLjM3NC0uMTU4LS43NDUtLjMzNS0xLjEtLjUyNGwuMTUtLjI4NGMuMzUuMTg2LjcxMy4zNTgsMS4wNzguNTEyWm0xMi44OTMtMS4wMjEtLjE3LS4yNzNjLjMzNy0uMjEuNjY4LS40MzcuOTg0LS42NzVsLjE5My4yNTdDMjQuMTExLDI3LjQyNSwyMy43NzIsMjcuNjU4LDIzLjQyOCwyNy44NzNaTTguMzc5LDI3Ljc1MWMtLjM0MS0uMjItLjY3Ni0uNDU5LTEtLjcwOGwuMi0uMjUzYy4zMTIuMjQzLjY0LjQ3Ni45NzIuNjkxWm0xNy0xLjM0Ni0uMjE1LS4yMzljLjI5NC0uMjY1LjU4LS41NDYuODUxLS44MzZsLjIzNS4yMTlDMjUuOTcyLDI1Ljg0NiwyNS42NzksMjYuMTM0LDI1LjM3OCwyNi40Wk02LjQ1NCwyNi4yNTJjLS4zLS4yNzYtLjU4NS0uNTY5LS44NTYtLjg3bC4yMzktLjIxNWMuMjY1LjI5NC41NDcuNTguODM2Ljg1Wk0yNy4wNDEsMjQuNjJsLS4yNTMtLjJjLjI0NC0uMzEyLjQ3Ni0uNjM5LjY5Mi0uOTcybC4yNy4xNzVDMjcuNTI5LDIzLjk2NiwyNy4yOSwyNC4zLDI3LjA0MSwyNC42MlpNNC44MiwyNC40MzljLS4yNDQtLjMyNC0uNDc2LS42NjItLjY5Mi0xLjAwN2wuMjcyLS4xN2MuMjEuMzM3LjQzOC42NjguNjc2Ljk4NFptMjMuNTQ3LTEuODY3LS4yODQtLjE1MWMuMTg2LS4zNS4zNTgtLjcxMy41MTMtMS4wNzhsLjMuMTI1QzI4LjczNSwyMS44NDMsMjguNTU4LDIyLjIxNCwyOC4zNjgsMjIuNTcyWm0tMjQuODQxLS4yLS4wMDYtLjAxMmMtLjE4My0uMzU5LS4zNTItLjcyOC0uNS0xLjFsLjMtLjEyMWMuMTQ3LjM2Mi4zMTIuNzI0LjQ5MSwxLjA3NGwuMDA2LjAxMlpNMjkuMzIsMjAuMzI1bC0uMzA2LS4xYy4xMjItLjM3Ny4yMy0uNzY0LjMxOS0xLjE1bC4zMTMuMDcyQzI5LjU1NSwxOS41NDMsMjkuNDQ2LDE5LjkzOSwyOS4zMiwyMC4zMjVaTTIuNjA4LDIwLjEwN2MtLjEyLS4zODgtLjIyMy0uNzg2LS4zMDgtMS4xODJsLjMxNC0uMDY3Yy4wODMuMzg3LjE4NC43NzYuMywxLjE1NVpNMjkuODcsMTcuOTQ2bC0uMzE4LS4wNDVjLjA1Ni0uMzkzLjA5NC0uNzkzLjExNS0xLjE4OGwuMzIxLjAxN0MyOS45NjcsMTcuMTM1LDI5LjkyNywxNy41NDQsMjkuODcsMTcuOTQ2Wk0yLjEsMTcuNzJjLS4wNS0uNC0uMDgyLS44MTItLjEtMS4yMThsLjMyMS0uMDExYy4wMTQuNC4wNDYuOC4wOTQsMS4xOVptMjcuNTgyLTIuMmMtLjAxNC0uNC0uMDQ1LS44LS4wOTMtMS4xOWwuMzE5LS4wMzljLjA0OS40LjA4Mi44MTMuMSwxLjIxOFpNMi4zMzEsMTUuMywyLjAxLDE1LjI4Yy4wMjEtLjQwNS4wNjEtLjgxNC4xMTctMS4yMTZsLjMxOC4wNDVDMi4zOSwxNC41LDIuMzUyLDE0LjksMi4zMzEsMTUuM1ptMjcuMDU3LTIuMTQ0Yy0uMDgzLS4zODctLjE4NC0uNzc2LS4zLTEuMTU1TDI5LjQsMTEuOWMuMTE5LjM4OC4yMjMuNzg2LjMwNywxLjE4M1pNMi42NjMsMTIuOTM0bC0uMzEzLS4wNzJjLjA5MS0uNC4yLS43OTEuMzI2LTEuMTc3bC4zMDYuMUMyLjg1OSwxMi4xNjEsMi43NTIsMTIuNTQ4LDIuNjYzLDEyLjkzNFptMjYuMDI2LTIuMDYyYy0uMTQ5LS4zNjYtLjMxNS0uNzMyLS41LTEuMDg2bC4yODYtLjE0NmMuMTg1LjM2My4zNTUuNzM2LjUwNywxLjExMVpNMy40LDEwLjY2NWwtLjMtLjEyNWMuMTU4LS4zNzQuMzM0LS43NDUuNTI0LTEuMWwuMjg0LjE1QzMuNzI0LDkuOTM3LDMuNTUyLDEwLjMsMy40LDEwLjY2NVpNNC41MTMsOC41NTdsLS4yNy0uMTc0Yy4yMi0uMzQxLjQ1OC0uNjc2LjcwNy0xbC4yNTQuMkM0Ljk2MSw3LjksNC43MjgsOC4yMjQsNC41MTMsOC41NTdaTTUuOTc3LDYuNjc2bC0uMjM1LS4yMTljLjI3Ni0uMy41NjktLjU4NS44Ny0uODU3bC4yMTUuMjM5QzYuNTMzLDYuMSw2LjI0Nyw2LjM4Niw1Ljk3Nyw2LjY3NlptMS43Ny0xLjYtLjE5My0uMjU3Yy4zMjMtLjI0NC42NjItLjQ3NywxLjAwNy0uNjkybC4xNy4yNzJDOC4zOTQsNC42MTQsOC4wNjMsNC44NDEsNy43NDcsNS4wNzlabTE1LjcwNS0uNTU4LS4wMTgtLjAxMi4xNzUtLjI3LjAxOC4wMTFabS0xLjA0Ny0uNjE2Yy0uMzUtLjE4Ni0uNzEzLS4zNTgtMS4wNzgtLjUxMmwuMTI1LS4zYy4zNzQuMTU4Ljc0NS4zMzQsMS4xLjUyNFpNOS43NjksMy44MTVsLS4xNDYtLjI4Ni4wMTgtLjAwOWMuMzU2LS4xODEuNzI0LS4zNDksMS4wOTMtLjVsLjEyMS4zYy0uMzYxLjE0Ny0uNzIuMzExLTEuMDY4LjQ4OFptMTAuNDQtLjgzOGMtLjM3Ny0uMTIyLS43NjQtLjIyOS0xLjE1MS0uMzE3bC4wNzItLjMxM2MuNC4wOTEuNzkyLjIsMS4xNzguMzI1Wm0tOC4yMjktLjA2LS4wOTQtLjMwN2MuMzg4LS4xMTkuNzg2LS4yMjMsMS4xODItLjMwOGwuMDY3LjMxNEMxMi43NDcsMi43LDEyLjM1OSwyLjgsMTEuOTgsMi45MTdabTUuOS0uNDczYy0uMzkzLS4wNTUtLjc5My0uMDkyLTEuMTg4LS4xMTNsLjAxNi0uMzIxYy40MDUuMDIxLjgxNC4wNTksMS4yMTYuMTE1Wm0tMy41NzItLjAyNi0uMDQtLjMxOWMuNC0uMDUuODEyLS4wODMsMS4yMTgtLjFsLjAxMi4zMjFDMTUuMTA2LDIuMzM3LDE0LjcwNSwyLjM2OSwxNC4zMTIsMi40MThaXCIgc3R5bGU9XCJmaWxsOmdyYXlcIi8+PGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNS45OThcIiByPVwiMTAuNzA4XCIgc3R5bGU9XCJmaWxsOm5hdnlcIi8+PGNpcmNsZSBjeD1cIjIwLjQzNVwiIGN5PVwiMTEuNTYyXCIgcj1cIjMuMTM2XCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PGNpcmNsZSBjeD1cIjI2LjcwOFwiIGN5PVwiNS4yOVwiIHI9XCIzLjEzN1wiIHN0eWxlPVwiZmlsbDpuYXZ5XCIvPjxwYXRoIGQ9XCJNMTMuMSwyMS4zNTJ2LS43OUg5LjYyOVYxNC4zMjZoLS45djcuMDI2SDEzLjFcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cGF0aCBkPVwiTTE3LjkxNiwyMS4zNTJWMTYuM2gtLjh2Mi43ODVjMCwxLjAzMS0uNTQsMS43MDYtMS4zNzgsMS43MDZBLjk1Ljk1LDAsMCwxLDE0LjcsMTkuOFYxNi4zaC0uOHYzLjgxN2MwLC44MzguNjI2LDEuMzc4LDEuNjA5LDEuMzc4YTEuODYzLDEuODYzLDAsMCwwLDEuNjg3LS45MjV2Ljc4MWguNzIzXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHBhdGggZD1cIk0yMy43OTEsMjEuMzMzdi0uNjA3YS42NjQuNjY0LDAsMCwxLS4xNzMuMDE5Yy0uMjc5LDAtLjQzNC0uMTQ1LS40MzQtLjRWMTcuNTM2YzAtLjktLjY1NS0xLjM3OC0xLjktMS4zNzgtMS4yMjQsMC0xLjk3Ni40NzItMi4wMjQsMS42MzhoLjgxYy4wNjctLjYxNy40MzQtLjksMS4xODUtLjkuNzIzLDAsMS4xMjguMjcsMS4xMjguNzUydi4yMTJjMCwuMzM3LS4yLjQ4Mi0uODM4LjU1OWE1Ljc2Myw1Ljc2MywwLDAsMC0xLjYxOS4zMDgsMS4zMjcsMS4zMjcsMCwwLDAtLjg4NywxLjMxMWMwLC45MTYuNjM2LDEuNDU1LDEuNjU4LDEuNDU1YTIuMzYzLDIuMzYzLDAsMCwwLDEuNzE1LS43NDIuODU1Ljg1NSwwLDAsMCwuODI5LjY2NSwxLjk2NywxLjk2NywwLDAsMCwuNTQ5LS4wODdtLTEuNDA3LTEuNzI1YTEuMzY2LDEuMzY2LDAsMCwxLTEuNTEzLDEuMTg1Yy0uNjI2LDAtLjk5My0uMjIyLS45OTMtLjc3MSwwLS41My4zNTctLjc2MSwxLjIxNC0uODg3YTQsNCwwLDAsMCwxLjI5MS0uMjc5di43NTJcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz5gLFxuXHRcIk1hcmtkb3duXCI6IGA8cmVjdCB4PVwiMi41XCIgeT1cIjcuOTU1XCIgd2lkdGg9XCIyN1wiIGhlaWdodD1cIjE2LjA5MVwiIHN0eWxlPVwiZmlsbDpub25lO3N0cm9rZTojNzU1ODM4XCIvPjxwb2x5Z29uIHBvaW50cz1cIjUuOTA5IDIwLjYzNiA1LjkwOSAxMS4zNjQgOC42MzYgMTEuMzY0IDExLjM2NCAxNC43NzMgMTQuMDkxIDExLjM2NCAxNi44MTggMTEuMzY0IDE2LjgxOCAyMC42MzYgMTQuMDkxIDIwLjYzNiAxNC4wOTEgMTUuMzE4IDExLjM2NCAxOC43MjcgOC42MzYgMTUuMzE4IDguNjM2IDIwLjYzNiA1LjkwOSAyMC42MzZcIiBzdHlsZT1cImZpbGw6Izc1NTgzOFwiLz48cG9seWdvbiBwb2ludHM9XCIyMi45NTUgMjAuNjM2IDE4Ljg2NCAxNi4xMzYgMjEuNTkxIDE2LjEzNiAyMS41OTEgMTEuMzY0IDI0LjMxOCAxMS4zNjQgMjQuMzE4IDE2LjEzNiAyNy4wNDUgMTYuMTM2IDIyLjk1NSAyMC42MzZcIiBzdHlsZT1cImZpbGw6Izc1NTgzOFwiLz5gLFxuXHRcIk1BVExBQlwiOiBgPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiMTYuODAzXCIgeTE9XCIxNi42MzFcIiB4Mj1cIjE1LjAxM1wiIHkyPVwiMjIuNDExXCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMSwgMCwgMCwgLTEsIDAsIDMyKVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzUxMlwiLz48c3RvcCBvZmZzZXQ9XCIwLjIzXCIgc3RvcC1jb2xvcj1cIiM1MjNcIi8+PHN0b3Agb2Zmc2V0PVwiMC4zNlwiIHN0b3AtY29sb3I9XCIjNTM0XCIvPjxzdG9wIG9mZnNldD1cIjAuNTFcIiBzdG9wLWNvbG9yPVwiIzY0NVwiLz48c3RvcCBvZmZzZXQ9XCIwLjY2XCIgc3RvcC1jb2xvcj1cIiM1NjhcIi8+PHN0b3Agb2Zmc2V0PVwiMC44NFwiIHN0b3AtY29sb3I9XCIjMjlkXCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiYlwiIHgxPVwiMjkuNzFcIiB5MT1cIjE4Ljk4M1wiIHgyPVwiMTEuNzFcIiB5Mj1cIjE0LjU2M1wiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjAuMDgxXCIgc3RvcC1jb2xvcj1cIiNjMzNcIi8+PHN0b3Agb2Zmc2V0PVwiMC4xODlcIiBzdG9wLWNvbG9yPVwiI2RlNTIzOVwiLz48c3RvcCBvZmZzZXQ9XCIwLjMxM1wiIHN0b3AtY29sb3I9XCIjZjA2ZTNlXCIvPjxzdG9wIG9mZnNldD1cIjAuNDIxXCIgc3RvcC1jb2xvcj1cIiNmYTgwNDJcIi8+PHN0b3Agb2Zmc2V0PVwiMC41XCIgc3RvcC1jb2xvcj1cIiNmZTg2NDNcIi8+PHN0b3Agb2Zmc2V0PVwiMC41OFwiIHN0b3AtY29sb3I9XCIjZmE3ZjQyXCIvPjxzdG9wIG9mZnNldD1cIjAuNjk2XCIgc3RvcC1jb2xvcj1cIiNlZjZjM2VcIi8+PHN0b3Agb2Zmc2V0PVwiMC44MzNcIiBzdG9wLWNvbG9yPVwiI2RjNGMzN1wiLz48c3RvcCBvZmZzZXQ9XCIwLjkxNlwiIHN0b3AtY29sb3I9XCIjY2YzNjMzXCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfbWF0bGFiPC90aXRsZT48cGF0aCBkPVwiTTIsMTcuNTVsNy45Ny0zLjIyYTIwLjcsMjAuNywwLDAsMSwyLjcyLTIuOTVjLjY2LS4zNSwxLjktLjE2LDQuMTctMi45OCwyLjItMi43NSwyLjktNS4xLDMuOTMtNS4xLDEuNjMsMCwyLjgzLDMuNTIsNC42NSw4Ljg1QTExNS42MjksMTE1LjYyOSwwLDAsMCwzMCwyNC4xMmMtMS45LTEuNzctMy41Mi0zLjY4LTUuMzctMy42My0xLjcyLjA0LTMuNjMsMi4wOC01LjcyLDQuNy0xLjY2LDIuMS0zLjg2LDMuNTQtNC43MiwzLjUxLDAsMC0yLjIyLTYuMjgtNC4wOC03LjNhMi42NDEsMi42NDEsMCwwLDAtMi4zOS4yTDIsMTcuNTRaXCIgc3R5bGU9XCJmaWxsOiM0OWRcIi8+PHBhdGggZD1cIk0xOS44LDQuMDJjLS42Ny45LTEuNDgsMi41NS0yLjk0LDQuMzgtMi4yNywyLjgyLTMuNSwyLjYzLTQuMTcsMi45OGExOS42NzQsMTkuNjc0LDAsMCwwLTIuNzIsMi45NWwzLjMsMi40MWMyLjgtMy44Miw0LjMtNy45Niw1LjQ3LTEwLjY0QTEzLjU3OSwxMy41NzksMCwwLDEsMTkuOCw0LjAyWlwiIHN0eWxlPVwiZmlsbDp1cmwoI2EpXCIvPjxwYXRoIGQ9XCJNMjAuOCwzLjNjLTIuMTgsMC0zLjY3LDExLjQ4LTExLjcyLDE3Ljg5LDIuMjYtLjM3LDQuMjIsNS4yNCw1LjEyLDcuNTEsNC0uNjgsNy4yLTguMzMsMTAuNDMtOC4yMSwxLjg1LjA3LDMuNDcsMS44Niw1LjM3LDMuNjNDMjUuNjYsMTUsMjMuNjMsMy4zLDIwLjgsMy4zWlwiIHN0eWxlPVwiZmlsbDp1cmwoI2IpXCIvPmAsXG5cdFwiTUFYU2NyaXB0XCI6IGA8cGF0aCBkPVwiTTE0LjQsNy41NjgsMjAuMjEyLDJINy4yNzNMNC44NDgsNy41MzZsOS41NTcuMDMyWk00Ljg0OCw3LjUzNmw2Ljg0NCwyLjZMMTQuNCw3LjU2OG0tLjAxMywzLjYyMi0yLjctMS4wNTNMNS4yNjMsMTYuMWw2LjI4Niw1LjgyMywyLjgwOC0xLjFMMTQuNCw3LjU2OG0wLDAsMTIuOCw4LjM3NkwyMC4yMTIsMk0yNy4yLDE1Ljk0NCwxNC4zOTEsMTEuMTltLS4wMzUsOS42MzYtLjAzMiwzLjY4NU0yMC4yMjgsMzBsLTguNjc5LTguMDczTDQuOCwyNC40NjQsNy4yNTcsMzBabTAsMEwyNy4yLDE1Ljk0NCwxNC4zMjUsMjQuNTEyTTI3LjIsMTUuOTQ0LDE0LjM1NywyMC44MjZcIiBzdHlsZT1cImZpbGw6bm9uZTtzdHJva2U6IzFkMWQxYjtzdHJva2UtbWl0ZXJsaW1pdDoyMi45MjU1ODQ3OTMwOTA4MjtzdHJva2Utd2lkdGg6MC4wMjgzNDk5OTkzMzgzODg0NDNweFwiLz48cG9seWdvbiBwb2ludHM9XCIxNC4zOTEgMTEuMTkgMjcuMiAxNS45NDQgMTQuNDA1IDcuNTY4IDE0LjM5MSAxMS4xOSAxNC4zOTEgMTEuMTlcIiBzdHlsZT1cImZpbGw6IzE4MWIxNztmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cG9seWdvbiBwb2ludHM9XCIyNy4yIDE1Ljk0NCAxNC4zNTcgMjAuODI2IDE0LjMyNSAyNC41MDkgMTQuMzI2IDI0LjUxMSAyNy4yIDE1Ljk0NCAyNy4yIDE1Ljk0NFwiIHN0eWxlPVwiZmlsbDojMWExZDFhO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5Z29uIHBvaW50cz1cIjE0LjQwNSA3LjU2OCAyNy4yIDE1Ljk0NCAyMC4yMTIgMiAxNC40MDUgNy41NjggMTQuNDA1IDcuNTY4XCIgc3R5bGU9XCJmaWxsOiMwMDVmNWU7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjcuMiAxNS45NDQgMTQuMzI2IDI0LjUxMSAyMC4yMjggMzAgMjcuMiAxNS45NDQgMjcuMiAxNS45NDRcIiBzdHlsZT1cImZpbGw6IzAwNDI0MjtmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cG9seWdvbiBwb2ludHM9XCIxNC4zNTcgMjAuODI2IDI3LjIgMTUuOTQ0IDE0LjM5MSAxMS4xOSAxNC4zNTcgMjAuODI2IDE0LjM1NyAyMC44MjZcIiBzdHlsZT1cImZpbGw6IzAwNTE1MjtmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cG9seWdvbiBwb2ludHM9XCIxNC4zNTcgMjAuODI2IDE0LjM5MSAxMS4xOSAxMS42OTIgMTAuMTM3IDUuMjYzIDE2LjEwNCAxMS41NDkgMjEuOTI3IDE0LjM1NyAyMC44MjYgMTQuMzU3IDIwLjgyNlwiIHN0eWxlPVwiZmlsbDojMDA2OTZiO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5Z29uIHBvaW50cz1cIjExLjY5MiAxMC4xMzcgMTQuMzkxIDExLjE5IDE0LjQwNSA3LjU2OCAxMS42OTIgMTAuMTM3IDExLjY5MiAxMC4xMzdcIiBzdHlsZT1cImZpbGw6IzFiMjcyNTtmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cG9seWdvbiBwb2ludHM9XCIxNC4zNTcgMjAuODI2IDExLjU0OSAyMS45MjcgMTQuMzI1IDI0LjUwOSAxNC4zNTcgMjAuODI2IDE0LjM1NyAyMC44MjZcIiBzdHlsZT1cImZpbGw6IzFjMjYyNDtmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cG9seWdvbiBwb2ludHM9XCIxNC4zMjUgMjQuNTEyIDQuOCAyNC40NjQgNy4yNTcgMzAgMjAuMjI4IDMwIDE0LjMyNiAyNC41MTEgMTQuMzI1IDI0LjUxMiAxNC4zMjUgMjQuNTEyXCIgc3R5bGU9XCJmaWxsOiMwMDY0NjY7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlnb24gcG9pbnRzPVwiNC44NDggNy41MzYgMTQuNDA1IDcuNTY4IDIwLjIxMiAyIDcuMjczIDIgNC44NDggNy41MzYgNC44NDggNy41MzZcIiBzdHlsZT1cImZpbGw6IzAwNzY3YTtmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cG9seWdvbiBwb2ludHM9XCIxNC40MDUgNy41NjggNC44NDggNy41MzYgMTEuNjkyIDEwLjEzNyAxNC40MDUgNy41NjggMTQuNDA1IDcuNTY4XCIgc3R5bGU9XCJmaWxsOiMxZTM5Mzg7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTEuNTQ5IDIxLjkyNyA0LjggMjQuNDY0IDE0LjMyNSAyNC41MTIgMTQuMzI1IDI0LjUwOSAxMS41NDkgMjEuOTI3IDExLjU0OSAyMS45MjdcIiBzdHlsZT1cImZpbGw6IzIwMzAyZTtmaWxsLXJ1bGU6ZXZlbm9kZFwiLz5gLFxuXHRcIk1FTFwiOiBgPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiLTYxMS4zNDhcIiB5MT1cIi02Ny40ODhcIiB4Mj1cIi02MDAuMjcyXCIgeTI9XCItNjUuMzM1XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMS40MzcsIDAsIDAsIC0xLjQzNywgODk0LjQxNywgLTgyLjI5MilcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiMwZjYwNjdcIi8+PHN0b3Agb2Zmc2V0PVwiMC41XCIgc3RvcC1jb2xvcj1cIiMwNWFiYWNcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjNThiZWM0XCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiYlwiIHgxPVwiLTYwMy41OTRcIiB5MT1cIi03Ny42OTlcIiB4Mj1cIi02MDIuMDExXCIgeTI9XCItNTkuNjA0XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMS40MzcsIDAsIDAsIC0xLjQzNywgODk0LjQxNywgLTgyLjI5MilcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiMxMTdjODNcIi8+PHN0b3Agb2Zmc2V0PVwiMC41XCIgc3RvcC1jb2xvcj1cIiMyMWI1YjVcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjN2VkNGQ0XCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiY1wiIHgxPVwiLTYxMi43NTdcIiB5MT1cIi01OS45MDZcIiB4Mj1cIi02MTYuOTM0XCIgeTI9XCItNzIuNzZcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgxLjQzNywgMCwgMCwgLTEuNDM3LCA4OTQuNDE3LCAtODIuMjkyKVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzlhY2NkM1wiLz48c3RvcCBvZmZzZXQ9XCIwLjVcIiBzdG9wLWNvbG9yPVwiIzcyYWViM1wiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiMzMTdkN2ZcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJkXCIgeDE9XCItNjIxLjg1MVwiIHkxPVwiLTc0LjU3OVwiIHgyPVwiLTYxNC44NFwiIHkyPVwiLTcyLjMwMVwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDEuNDM3LCAwLCAwLCAtMS40MzcsIDg5NC40MTcsIC04Mi4yOTIpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjMjE2MjZlXCIvPjxzdG9wIG9mZnNldD1cIjAuNVwiIHN0b3AtY29sb3I9XCIjMTU3Yzg0XCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzAzYTNhNVwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImVcIiB4MT1cIi02MTYuMzY5XCIgeTE9XCItNjQuNDY5XCIgeDI9XCItNjI1LjM0XCIgeTI9XCItNzIuODM1XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMS40MzcsIDAsIDAsIC0xLjQzNywgODk0LjQxNywgLTgyLjI5MilcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiMwYjdjODFcIi8+PHN0b3Agb2Zmc2V0PVwiMC41XCIgc3RvcC1jb2xvcj1cIiMwNjhkOTBcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjMTZiMWIxXCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiZlwiIHgxPVwiLTYwOC4wNzJcIiB5MT1cIi03NC42NzhcIiB4Mj1cIi02MDMuNDg4XCIgeTI9XCItNzAuOTY2XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMS40MzcsIDAsIDAsIC0xLjQzNywgODk0LjQxNywgLTgyLjI5MilcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiMwYThhOGZcIi8+PHN0b3Agb2Zmc2V0PVwiMC41XCIgc3RvcC1jb2xvcj1cIiMwZjdjODJcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjMWE1OTY0XCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiZ1wiIHgxPVwiLTYwMS4xMzRcIiB5MT1cIi03MC4xMTNcIiB4Mj1cIi02MDYuMDA4XCIgeTI9XCItNjcuMDY3XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMS40MzcsIDAsIDAsIC0xLjQzNywgODk0LjQxNywgLTgyLjI5MilcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiMyNTZhNzdcIi8+PHN0b3Agb2Zmc2V0PVwiMC41XCIgc3RvcC1jb2xvcj1cIiMwZDk0OTlcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjMDZhMGEyXCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfbWF5YTwvdGl0bGU+PHBhdGggZD1cIk0yMS42LDMuNDYySDMwTDE4Ljc2NywyNC4yMTFzLTEuODkzLTUuNS0yLjcwNi03LjQ1OVwiIHN0eWxlPVwiZmlsbDp1cmwoI2EpXCIvPjxwYXRoIGQ9XCJNMjMuNjY5LDI5LjExOEgzMFYzLjQ2MkMyOS45OTUsMTYuODY5LDI0LjM2LDI5LjExOCwyMy42NjksMjkuMTE4WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2IpXCIvPjxwYXRoIGQ9XCJNMTguNzY3LDI0LjIxMUgxMy41NDFMMiwzLjQ2MmMyLjA0Ny0uMjYsNi4xMzUtLjYxMSw4LjE2LS43NzZaXCIgc3R5bGU9XCJmaWxsOnVybCgjYylcIi8+PHBhdGggZD1cIk04LjY5MywxNi4wMTlDNi45NiwyMi44NjYsMS45OTUsMjkuMzIsMiwyOS4zMTRjNS43NTIsMCw2Ljk5MS0uODM1LDYuOTkxLTEuMjc2VjE2LjU0QzguODksMTYuMzcsOC43OTQsMTYuMTk0LDguNjkzLDE2LjAxOVpcIiBzdHlsZT1cImZpbGw6dXJsKCNkKVwiLz48cGF0aCBkPVwiTTIsMy40NjJWMjkuMzE0YzMuMTQ3LTUuMiw0Ljk4MS04LjYsNi42LTEzLjQ1QzQuNiw4Ljc5NCwyLDMuNDYyLDIsMy40NjJaXCIgc3R5bGU9XCJmaWxsOnVybCgjZSlcIi8+PHBvbHlsaW5lIHBvaW50cz1cIjIzLjIzMyAyOC4xMDIgMjMuNjY5IDI5LjExOCAyMy42NjkgMTUuNjQ3IDIzLjIzMyAxNi4zNzVcIiBzdHlsZT1cImZpbGw6dXJsKCNmKVwiLz48cGF0aCBkPVwiTTIzLjY0NywxNS42NzN2MTMuNGwuMDE2LjA0M2MuNDUyLDAsNi4zMzItMTQuNSw2LjMzMi0yNS42NTZDMjkuOTk1LDMuNDYyLDI2LjQwNiwxMC45NDcsMjMuNjQ3LDE1LjY3M1pcIiBzdHlsZT1cImZpbGw6dXJsKCNnKVwiLz5gLFxuXHRcIk1vbmdvREJcIjogYDxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD1cImFcIiB4MT1cIi02NDUuNzMyXCIgeTE9XCI4MzkuMTg4XCIgeDI9XCItNjU0LjU5XCIgeTI9XCI4MzkuMjVcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgtMC45NzcsIC0wLjMyMywgLTAuMjksIDAuODc3LCAtMzc1Ljk0NCwgLTkyOC4yODcpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMC4yMzFcIiBzdG9wLWNvbG9yPVwiIzk5OTg3NVwiLz48c3RvcCBvZmZzZXQ9XCIwLjU2M1wiIHN0b3AtY29sb3I9XCIjOWI5OTc3XCIvPjxzdG9wIG9mZnNldD1cIjAuNjgzXCIgc3RvcC1jb2xvcj1cIiNhMDlmN2VcIi8+PHN0b3Agb2Zmc2V0PVwiMC43NjhcIiBzdG9wLWNvbG9yPVwiI2E5YTg4OVwiLz48c3RvcCBvZmZzZXQ9XCIwLjgzN1wiIHN0b3AtY29sb3I9XCIjYjdiNjlhXCIvPjxzdG9wIG9mZnNldD1cIjAuODk2XCIgc3RvcC1jb2xvcj1cIiNjOWM3YjBcIi8+PHN0b3Agb2Zmc2V0PVwiMC45NDhcIiBzdG9wLWNvbG9yPVwiI2RlZGRjYlwiLz48c3RvcCBvZmZzZXQ9XCIwLjk5NFwiIHN0b3AtY29sb3I9XCIjZjhmNmViXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2ZiZjllZlwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImJcIiB4MT1cIi02NDQuMjg3XCIgeTE9XCI4MjMuNDA1XCIgeDI9XCItNjU3LjAyOFwiIHkyPVwiODQ1LjQ3NlwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KC0wLjk3NywgLTAuMzIzLCAtMC4yOSwgMC44NzcsIC0zNzUuOTQ0LCAtOTI4LjI4NylcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiM0OGE1NDdcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjM2Y5MTQzXCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiY1wiIHgxPVwiLTY0My4zODZcIiB5MT1cIjgzOS40ODVcIiB4Mj1cIi02NTIuNDE4XCIgeTI9XCI4MzMuNDE3XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoLTAuOTc3LCAtMC4zMjMsIC0wLjI5LCAwLjg3NywgLTM3NS45NDQsIC05MjguMjg3KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzQxYTI0N1wiLz48c3RvcCBvZmZzZXQ9XCIwLjM1MlwiIHN0b3AtY29sb3I9XCIjNGJhNzRiXCIvPjxzdG9wIG9mZnNldD1cIjAuOTU2XCIgc3RvcC1jb2xvcj1cIiM2N2I1NTRcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjNjliNjU1XCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfbW9uZ288L3RpdGxlPjxwYXRoIGQ9XCJNMTYuNjIsMzBsLS43NTEtLjI0OXMuMS0zLjgtMS4yNzUtNC4wNjdjLS45LTEuMDQ4LjEzMy00NC43NDEsMy40MjMtLjE0OWEyLjcxMiwyLjcxMiwwLDAsMC0xLjMzMywxLjUyM0ExNC4xLDE0LjEsMCwwLDAsMTYuNjIsMzBaXCIgc3R5bGU9XCJmaWxsOnVybCgjYSlcIi8+PHBhdGggZD1cIk0xNy4wMjYsMjYuMzI5YTEzLjIyMywxMy4yMjMsMCwwLDAsNS0xMy4yMjVDMjAuNTU2LDYuNjE5LDE3LjA3NSw0LjQ4NywxNi43LDMuNjczYTkuNzkyLDkuNzkyLDAsMCwxLS44MjUtMS42bC4yNzcsMTguMDY5UzE1LjU3OCwyNS42NjQsMTcuMDI2LDI2LjMyOVpcIiBzdHlsZT1cImZpbGw6dXJsKCNiKVwiLz48cGF0aCBkPVwiTTE1LjQ4NywyNi41NjlTOS4zNjYsMjIuNCw5LjcyLDE1LjAyNUExNS41NCwxNS41NCwwLDAsMSwxNS4yMzksMy4zNzcsMS43MjUsMS43MjUsMCwwLDAsMTUuODQ2LDJjLjM4MS44Mi4zMTksMTIuMjQzLjM1OSwxMy41NzlDMTYuMzYsMjAuNzc2LDE1LjkxNiwyNS41ODgsMTUuNDg3LDI2LjU2OVpcIiBzdHlsZT1cImZpbGw6dXJsKCNjKVwiLz5gLFxuXHRcIm5naW54XCI6IGA8cGF0aCBkPVwiTTE1Ljk0OCwyaC4wNjVhMTAuNDE4LDEwLjQxOCwwLDAsMSwuOTcyLjUyOFEyMi40MTQsNS42NSwyNy44NDMsOC43NzRhLjc5Mi43OTIsMCwwLDEsLjQxNC43ODhjLS4wMDgsNC4zODksMCw4Ljc3Ny0uMDA1LDEzLjE2NGEuODEzLjgxMywwLDAsMS0uMzU2LjUwN3EtNS43NzMsMy4zMjQtMTEuNTQ3LDYuNjQ0YS41ODcuNTg3LDAsMCwxLS42NTcuMDM3UTkuOTEyLDI2LjYsNC4xNDMsMjMuMjc0YS43LjcsMCwwLDEtLjQtLjY2NnEwLTYuNTgyLDAtMTMuMTYzYS42OTMuNjkzLDAsMCwxLC4zODctLjY3UTkuNTUyLDUuNjU3LDE0Ljk3NCwyLjUzNWMuMzIyLS4xODQuNjM4LS4zNzkuOTc0LS41MzVcIiBzdHlsZT1cImZpbGw6IzAxOTYzOVwiLz48cGF0aCBkPVwiTTguNzY3LDEwLjUzOHEwLDUuNDI5LDAsMTAuODU5YTEuNTA5LDEuNTA5LDAsMCwwLC40MjcsMS4wODcsMS42NDcsMS42NDcsMCwwLDAsMi4wNi4yMDYsMS41NjQsMS41NjQsMCwwLDAsLjY4NS0xLjI5M2MwLTIuNjItLjAwNS01LjI0LDAtNy44NnEzLjU4Myw0LjI5LDcuMTgxLDguNTY4YTIuODMzLDIuODMzLDAsMCwwLDIuNi43ODIsMS41NjEsMS41NjEsMCwwLDAsMS4yNTEtMS4zNzFxLjAwOC01LjU0MSwwLTExLjA4MWExLjU4MiwxLjU4MiwwLDAsMC0zLjE1MiwwYzAsMi42NjItLjAxNiw1LjMyMSwwLDcuOTgyLTIuMzQ2LTIuNzY2LTQuNjYzLTUuNTU2LTctOC4zMzJBMi44MTcsMi44MTcsMCwwLDAsMTAuMTcsOS4wMzMsMS41NzksMS41NzksMCwwLDAsOC43NjcsMTAuNTM4WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPmAsXG5cdFwiTmltXCI6IGA8cGF0aCBkPVwiTTE2LjExMSw2LjQwNXMtMS4wNzMuODQ3LTIuMTY3LDEuNjlhMTUuMzYxLDE1LjM2MSwwLDAsMC00LjUyNy42NTFjLTEuMS0uNy0yLjA3LTEuNDY5LTIuMDctMS40NjlTNi41Miw4LjcsNiw5LjUzNWExMS4zODIsMTEuMzgyLDAsMCwwLTIuMjM2LDEuNDgyQzIuOTYxLDEwLjcsMi4wMywxMC4zMSwyLDEwLjNjMS4wNjMsMi4xNDUsMS43NzgsNC4yOTIsMy43MjIsNS41ODMsMy4xLTQuODg5LDE3LjQ4LTQuNDM5LDIwLjYzOS0uMDI4QzI4LjQsMTQuNzg3LDI5LjIsMTIuNSwzMCwxMC4zOGMtLjA4OC4wMjktMS4xODEuMzk1LTEuODg5LjY2NWExMS40ODksMTEuNDg5LDAsMCwwLTEuOTg2LTEuNTFjLS41MzctLjk4NC0xLjMxOS0yLjMxMy0xLjMxOS0yLjMxM3MtLjkyNy42ODktMiwxLjQ0YTIxLjI2NSwyMS4yNjUsMCwwLDAtNC42ODEtLjUxMmMtMS0uODI2LTIuMDE0LTEuNzQ2LTIuMDE0LTEuNzQ2WlwiIHN0eWxlPVwiZmlsbDojZjNkNDAwXCIvPjxwYXRoIGQ9XCJNMy4xLDE0Ljg1NGwyLjU1NCw2LjE4NWM0LjQzNSw1Ljg1LDE1Ljc1OSw2LjI1NywyMC43LjExMywxLjE2OC0yLjYzMywyLjc0NS02LjMzMywyLjc0NS02LjMzM2ExMy4zNzksMTMuMzc5LDAsMCwxLTQuNiwzLjg2OSwxMi4yMTcsMTIuMjE3LDAsMCwxLTIuOTgzLjc5M2wtNS40NjUtMi44MzItNS41LDIuNzc1YTE1LjY3OSwxNS42NzksMCwwLDEtMi45ODMtLjc2NEExNC4wNzYsMTQuMDc2LDAsMCwxLDMuMSwxNC44NTRaXCIgc3R5bGU9XCJmaWxsOiNmZmU5NTNcIi8+YCxcblx0XCJOaXhcIjogYDxwYXRoIGQ9XCJNMTMsMTEuMTE1LDYuMTgzLDIzLjc2LDQuNTksMjAuODdsMS44MzktMy4zODctMy42NTEtLjAxTDIsMTYuMDI5bC44LTEuNDc3LDUuMi4wMTgsMS44NjgtMy40NDdaXCIgc3R5bGU9XCJmaWxsOiM3ZWJhZTQ7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBhdGggZD1cIk0xMy41MjcsMjEuMjIzaDEzLjY0bC0xLjU0MSwyLjkyMi0zLjY1OC0uMDExLDEuODE3LDMuMzg5LS43NzksMS40NDktMS41OTMsMC0yLjU4NC00LjgyNS0zLjcyMi0uMDA4WlwiIHN0eWxlPVwiZmlsbDojN2ViYWU0O2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwYXRoIGQ9XCJNMjEuNDY3LDE1LjY4MiwxNC42NDcsMy4wMzdsMy4xMzQtLjAzMkwxOS42LDYuNGwxLjgzNC0zLjM3OWgxLjU1N0wyMy43ODYsNC41LDIxLjE3NCw5LjMwN2wxLjg1NCwzLjQ1NVpcIiBzdHlsZT1cImZpbGw6IzdlYmFlNDtmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cGF0aCBkPVwiTTEwLjU0MiwxNi4zMjRsNi44MjEsMTIuNjQ1TDE0LjIyOSwyOWwtMS44MjEtMy40LTEuODM0LDMuMzhIOS4wMTZsLS44LTEuNDc2TDEwLjgzMSwyMi43LDguOTc2LDE5LjI0M1pcIiBzdHlsZT1cImZpbGw6IzUyNzdjMztmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cGF0aCBkPVwiTTE4LjQ2NCwxMC43NTFINC44MjNMNi4zNjUsNy44MjlsMy42NTguMDExTDguMjA3LDQuNDUxLDguOTg2LDNsMS41OTIsMCwyLjU4NCw0LjgyNSwzLjcyMi4wMDhaXCIgc3R5bGU9XCJmaWxsOiM1Mjc3YzM7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBhdGggZD1cIk0xOSwyMC44ODgsMjUuODE3LDguMjQ0bDEuNTkzLDIuODlMMjUuNTcxLDE0LjUybDMuNjUxLjAxTDMwLDE1Ljk3OWwtLjgsMS40NzctNS4yLS4wMTgtMS44NjgsMy40NDdaXCIgc3R5bGU9XCJmaWxsOiM1Mjc3YzM7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+YCxcblx0XCJOU0lTXCI6IGA8cGF0aCBkPVwiTTI3LjQzNSwxNi4wMzcsMjIuMDEyLDIxLjQ2bDUuNDIzLDUuNDIzXCIgc3R5bGU9XCJmaWxsOiMwMDU3N2JcIi8+PHBhdGggZD1cIk0yNi44ODQsMTUuNUgxNi4wNDhsNS40MjMsNS40MjNcIiBzdHlsZT1cImZpbGw6IzAwNzlhYVwiLz48cGF0aCBkPVwiTTI2Ljg4NCwxNC43MTIsMjEuNDYxLDkuMjg5bC01LjQyMyw1LjQyM1wiIHN0eWxlPVwiZmlsbDojMDA5NmQzXCIvPjxwYXRoIGQ9XCJNMjAuNTI4LDkuMTMxSDkuNjgzbDUuNDIzLDUuNDIzTTI3LjQzNSwzLjMyNSwyMi4wMTIsOC43NDhsNS40MjMsNS40MjNcIiBzdHlsZT1cImZpbGw6IzAxYjBmMFwiLz48cGF0aCBkPVwiTTIwLjUyOCw4LjM1NiwxNS4xMDUsMi45MzMsOS42ODMsOC4zNTZcIiBzdHlsZT1cImZpbGw6IzI3YmNmM1wiLz48cGF0aCBkPVwiTTE0LjE3MiwyLjc3NUgzLjMyN0w4Ljc0OSw4LjJcIiBzdHlsZT1cImZpbGw6IzRmYzlmNVwiLz48cGF0aCBkPVwiTTQuNTY4LDE1Ljk2Myw5Ljk5MSwxMC41NCw0LjU2OCw1LjExN1wiIHN0eWxlPVwiZmlsbDojNzkyMDFiXCIvPjxwYXRoIGQ9XCJNMTAuNTQxLDExLjA5MSw1LjExOSwxNi41MTNIMTUuOTY0XCIgc3R5bGU9XCJmaWxsOiNhNDJkMjZcIi8+PHBhdGggZD1cIk01LjExOSwxNy4yODhsNS40MjMsNS40MjMsNS40MjMtNS40MjNcIiBzdHlsZT1cImZpbGw6I2NjMzgyZlwiLz48cGF0aCBkPVwiTTQuNTY4LDE3LjgyOVYyOC42NzVsNS40MjMtNS40MjNMOC40LDIxLjY2NW0xMy45MTYsMS4yTDE2LjksMTcuNDQ3bC01LjQyMyw1LjQyM1wiIHN0eWxlPVwiZmlsbDojZjA0NTNmXCIvPjxwYXRoIGQ9XCJNMTEuNDc1LDIzLjY0NCwxNi45LDI5LjA2N2w1LjQyMy01LjQyM1wiIHN0eWxlPVwiZmlsbDojZjI2MjVkXCIvPjxwYXRoIGQ9XCJNMTcuODQsMjkuMjI1SDI4LjY4NUwyMy4yNjMsMjMuOFwiIHN0eWxlPVwiZmlsbDojZjQ3ZjdkXCIvPjxwYXRoIGQ9XCJNMjkuODg5LDI5LjMzN2wtMS42OC0xLjY4VjIuMzkyYS4zNzQuMzc0LDAsMCwwLS4yNDMtLjM1NUEuMjYzLjI2MywwLDAsMCwyNy44MjcsMmEuMzU5LjM1OSwwLDAsMC0uMjcxLjExMkwyMS40NzEsOC4yLDE1LjM4NSwyLjExMiwxNS4zLDIuMDM3aC0uMDM3QS4zMDcuMzA3LDAsMCwwLDE1LjEwNSwySDIuNGEuNDM0LjQzNCwwLDAsMC0uMjg5LjExMkEuMzguMzgsMCwwLDAsMiwyLjM5MmEuMzU5LjM1OSwwLDAsMCwuMTEyLjI3MWwxLjY4LDEuNjhWMjkuNjE3YS4zNzQuMzc0LDAsMCwwLC4yNDMuMzU1QS4zODcuMzg3LDAsMCwwLDQuMTg1LDMwYS4zNTkuMzU5LDAsMCwwLC4yNzEtLjExMkwxMC41NDEsMjMuOGw2LjA4NSw2LjA4NS4wODQuMDc1aC4wMzdBLjI1NC4yNTQsMCwwLDAsMTYuOSwzMEgyOS42MDlhLjM5NS4zOTUsMCwwLDAsLjI4LS42NjNaTTI3LjQzNSwzLjMyNVYxNC4xNzFMMjIuMDEyLDguNzQ4bDUuNDIzLTUuNDIzWk05Ljk5MSwxMC41NCw0LjU2OCwxNS45NjNWNS4xMTdMOS45OTEsMTAuNTRaTTkuNjgzLDkuMTMxSDIwLjUyOGwtNS40MjMsNS40MjNMOS42ODMsOS4xMzFabS44NTksMS45Niw1LjQyMyw1LjQyM0g1LjExOWw1LjQyMy01LjQyM1pNMTYuOSwxNy40NDdsNS40MjMsNS40MjNIMTEuNDc1TDE2LjksMTcuNDQ3Wk0xNi4wNDgsMTUuNUgyNi44OTNsLTUuNDIzLDUuNDIzTDE2LjA0OCwxNS41Wm01Ljk2NCw1Ljk2NCw1LjQyMy01LjQyM1YyNi44ODNMMjIuMDEyLDIxLjQ2Wm00Ljg3Mi02Ljc0OEgxNi4wNDhsNS40MjMtNS40MjMsNS40MTMsNS40MjNaTTIwLjUyOCw4LjM1Nkg5LjY4M2w1LjQyMy01LjQyMyw1LjQyMyw1LjQyM1pNMy4zMjcsMi43NzVIMTQuMTcyTDguNzQ5LDguMlptMS4yNDEsMjUuOVYxNy44MjlMOC40LDIxLjY2NWwxLjU4NywxLjU4N0w0LjU2OCwyOC42NzVabS41NTEtMTEuMzg3SDE1Ljk2NGwtNS40MjMsNS40MjNMNS4xMTksMTcuMjg4Wk0xNi45LDI5LjA2N2wtNS40MjMtNS40MjNIMjIuMzJMMTYuOSwyOS4wNjdabS45NDMuMTU5TDIzLjI2MywyMy44bDUuNDIzLDUuNDIzWlwiIHN0eWxlPVwiZmlsbDojNDY0MDQ5XCIvPmAsXG5cdFwiT2JqZWN0IFBhc2NhbFwiOiBgPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiMTZcIiB5MT1cIi0wLjQ0M1wiIHgyPVwiMTZcIiB5Mj1cIjIyLjA0MlwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjAuMDIxXCIgc3RvcC1jb2xvcj1cIiNmZjBjMTVcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjOWEwYzBmXCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfZGVscGhpPC90aXRsZT48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE0XCIgc3R5bGU9XCJmaWxsOnVybCgjYSlcIi8+PHBhdGggZD1cIk0yNy41NDUsMTYuMjQzSDQuOTI0YS45MTQuOTE0LDAsMCwwLTEuMDkyLjgycS4wMzMuNDI5LjEuODQ5YTEyLjQsMTIuNCwwLDAsMCwyNC41MzIsMHEuMDc1LS41LjEwOC0xLjAyMUMyOC40NzgsMTYuNTIzLDI4LjIxMSwxNi4yMDcsMjcuNTQ1LDE2LjI0M1pcIiBzdHlsZT1cImZpbGw6I2ZmNjQ0M1wiLz48cG9seWxpbmUgcG9pbnRzPVwiMTguNDggMTEuNjQgMjMuNzA3IDcuMjY2IDE5Ljc4NyA1Ljg4IDE2IDExLjA1M1wiIHN0eWxlPVwiZmlsbDojZmFlN2UzO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5bGluZSBwb2ludHM9XCIxNS42OCAxMS4wMjYgMTguNjQgNS44OCAxNC44NTMgNS44OCAxMy4zMDcgMTEuMjkzXCIgc3R5bGU9XCJmaWxsOiNmYWU3ZTM7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlsaW5lIHBvaW50cz1cIjEzLjA0IDExLjM3MyAxMy42IDYuNzA2IDEwLjU4NyA3Ljk2IDExLjAxMyAxMi43NlwiIHN0eWxlPVwiZmlsbDojZmFlN2UzO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5bGluZSBwb2ludHM9XCIxMC43NDcgMTMgOS43ODcgOC43NiA3LjcwNyAxMC44NCA5LjY1MyAxNC42OFwiIHN0eWxlPVwiZmlsbDojZmFlN2UzO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5bGluZSBwb2ludHM9XCI5LjM4NyAxNS4wNTMgNy40OTMgMTIuMzc2IDYuNjQgMTQuNDY2IDkuMDQgMTYuNTE3XCIgc3R5bGU9XCJmaWxsOiNmYWU3ZTM7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlsaW5lIHBvaW50cz1cIjkuMDQgMTYuNzU3IDYuNjQgMTUuMjEzIDYuNDggMTcuNCA5LjIgMTguMzMzXCIgc3R5bGU9XCJmaWxsOiNmYWU3ZTM7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlsaW5lIHBvaW50cz1cIjkuMjI3IDE4Ljg0NiA2LjY0IDE4LjA0IDcuMjI3IDE5LjggOS41NDcgMTkuOFwiIHN0eWxlPVwiZmlsbDojZmFlN2UzO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5bGluZSBwb2ludHM9XCI5LjcwNyAyMC4wOTMgNy43MDcgMjAuMzg2IDguNjI3IDIxLjc0NiAxMC4yNjcgMjFcIiBzdHlsZT1cImZpbGw6I2ZhZTdlMztmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cGF0aCBkPVwiTTIwLjAyMywxMy4wODlhNi42MSw2LjYxLDAsMCwwLTQuNTMtMkE2LjI5Myw2LjI5MywwLDAsMCwxMS4zLDIyLjA3bDQuOTQxLjEyOS0yLjA4LTQuMTZaXCIgc3R5bGU9XCJmaWxsOiNlZWU7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBhdGggZD1cIk0xNi41LDIyLjM2NmwtNS4yNjctLjEzOC0uMDQ0LS4wMzlhNi40NTMsNi40NTMsMCwwLDEsNC4zLTExLjI2NCw2Ljc4Nyw2Ljc4NywwLDAsMSw0LjY0MywyLjA1bC4xMjMuMTIzLTUuOSw0Ljk4MlptLTUuMTQtLjQ1NSw0LjYxNi4xMjFMMTMuOTYxLDE4bDUuODI1LTQuOTE5YTYuNDMsNi40MywwLDAsMC00LjI5Mi0xLjgzNSw2LjEzMyw2LjEzMywwLDAsMC00LjEzMSwxMC42NjdaXCIgc3R5bGU9XCJmaWxsOiNlZTRiMmVcIi8+PHBhdGggZD1cIk0xMi4wMTMsMjAuNDkzYy00LjE3My01LjgxMywyLjEwOS04LjE3MiwyLjQ3OC04LjQ1My40NTEtLjM0NC03LjU5LDEuNzg1LTMuMjI2LDguODhaXCIgc3R5bGU9XCJmaWxsOiNmMDRlMzE7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjAuNzIgMTIuNiAxMy41MiAxNy41NjcgMTMuNzMzIDE4LjU3MyAyMS40NjcgMTcuMDI2IDIwLjcyIDEyLjZcIiBzdHlsZT1cImZpbGw6I2VlZTtmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cGF0aCBkPVwiTTEzLjYxLDE4Ljc2MSwxMy4zNDEsMTcuNWw3LjQ5NS01LjE3LjgxNCw0LjgyOFptLjA4OS0xLjEyMy4xNTguNzQ3TDIxLjI4MywxNi45LDIwLjYsMTIuODc0WlwiIHN0eWxlPVwiZmlsbDojZWU0YjJlXCIvPjxwYXRoIGQ9XCJNMTUuNzIzLDIxLjMxOWMtMy45My0uNjY4LTQuMjgzLjQyOC00LjI4My40MjhMMTAuMjY3LDI0LjQ0czEuMTItLjkwNyw1LjQ5MywwbC43Ni0xLjM4OFpcIiBzdHlsZT1cImZpbGw6I2RkMGMxMztmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cGF0aCBkPVwiTTE0LjEyMiwyMS42Yy0uMDItLjItMS4xLS4zMTktMS42NzctLjEyMy0uNzMyLjI0OS0xLjIxOSwxLjE0Mi0xLjA0NSwxLjIxM2ExLjk3NSwxLjk3NSwwLDAsMSwxLjEyNS0uOTg2QzEzLjQ0NywyMS40OTMsMTQuMTQyLDIxLjgsMTQuMTIyLDIxLjZaXCIgc3R5bGU9XCJmaWxsOiNmZjZlNGY7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBhdGggZD1cIk0xNS41MiwxOC42MDZhMTEuMSwxMS4xLDAsMCwwLDEuNTQ3LDEuNDg3LDYuOSw2LjksMCwwLDEsMi43Miw0LjEwN2MtLjEwNywxLjA2Ny0xLjk3MywxLjc2LTEuOTczLDEuNzZsLTMuMzA3LTcuMTk0WlwiIHN0eWxlPVwiZmlsbDojZWVlO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwYXRoIGQ9XCJNMTcuNzMsMjYuMTYxbC0zLjQ1Ny03LjUyMSwxLjMyLS4yMDguMDU3LjA4MWExMC44NjksMTAuODY5LDAsMCwwLDEuNTEyLDEuNDUxLDcsNywwLDAsMSwyLjc4Miw0LjIwN2wwLC4wMjIsMCwuMDIyYy0uMTE1LDEuMTUzLTIsMS44NjQtMi4wNzcsMS44OTRabS0yLjk5LTcuMjcsMy4xNTUsNi44NjNjLjQxNC0uMTc4LDEuNjMtLjc2MywxLjczLTEuNTQ4YTYuNzkzLDYuNzkzLDAsMCwwLTIuNjQ4LTMuOTgxbC0uMDEtLjAwN2ExMS45NCwxMS45NCwwLDAsMS0xLjUxNy0xLjQzOVpcIiBzdHlsZT1cImZpbGw6I2VlNGIyZVwiLz48cGF0aCBkPVwiTTI4LDEyLjc0MmMuMDI1LjM5NC4wMzQuNzkyLjAyNSwxLjE5NGExMy45NDYsMTMuOTQ2LDAsMCwxLTE5LjksMTIuM0ExMi44NiwxMi44NiwwLDAsMCwyOCwxMi43NDJaXCIgc3R5bGU9XCJmaWxsOiNlYWUwZGY7ZmlsbC1ydWxlOmV2ZW5vZGQ7b3BhY2l0eTowLjJcIi8+PHBhdGggZD1cIk0yLjM4MywxMy44OTNBMTMuOTQxLDEzLjk0MSwwLDAsMSwyNS43LDUuODNzLTUuMDA5LDUuOTc5LTEwLjU4NCw3LjkwN1MyLjM4MywxMy44OTMsMi4zODMsMTMuODkzWlwiIHN0eWxlPVwiZmlsbDojZWFlMGRmO29wYWNpdHk6MC4yXCIvPjxwYXRoIGQ9XCJNMy42MTgsMTguNjk0Yy0uMDQ0LS4zOTItLjA3Mi0uNzktLjA4My0xLjE5MUMzLjMyOSw5LjgwNywxMC4wMTIsNC4yLDE3LjcwOCwzLjk5MWExNC4yLDE0LjIsMCwwLDEsNS43MTksMS40NTgsMTMuMTI4LDEzLjEyOCwwLDAsMC03LjE4OC0yLjM2OWMtNy4xLjE5LTEzLjMwNiw1LjMtMTMuMTE2LDEyLjRBMTIuODczLDEyLjg3MywwLDAsMCwzLjYxOCwxOC42OTRaXCIgc3R5bGU9XCJmaWxsOiNlYWUwZGY7ZmlsbC1ydWxlOmV2ZW5vZGQ7b3BhY2l0eTowLjJcIi8+YCxcblx0XCJPYmplY3RpdmUtQ1wiOiBgPHBhdGggZD1cIk0xMS4yOSwxNS45NzZhOC44OTIsOC44OTIsMCwwLDAsMS4wMzksNC41NTcsNC44MTgsNC44MTgsMCwwLDAsNS41NzksMi4xMywzLjc4OSwzLjc4OSwwLDAsMCwyLjczNC0zLjE4MWMuMDk1LS41MzUuMS0uNTQuMS0uNTQsMS41MzcuMjIyLDQuMDE0LjU4Miw1LjU1LjhsLS4xLjM4OUE5Ljk1OCw5Ljk1OCwwLDAsMSwyMy44LDI0LjlhOC4zNSw4LjM1LDAsMCwxLTQuNzQ3LDIuMzc4LDEyLjkyNSwxMi45MjUsMCwwLDEtNy4zMjItLjcyNSw4Ljk4LDguOTgsMCwwLDEtNS4xMDYtNS41MjRBMTQuMzUzLDE0LjM1MywwLDAsMSw2LjY0MiwxMC45YTkuMzIzLDkuMzIzLDAsMCwxLDcuOTI5LTYuMjQsMTEuODEyLDExLjgxMiwwLDAsMSw1LjkuNDkxLDguNDY3LDguNDY3LDAsMCwxLDUuNDU2LDYuMWMuMDgzLjMxMS4xLjM2OS4xLjM2OS0xLjcwOS4zMTEtMy44MjEuNzA1LTUuNTE4LDEuMDc1QzIwLjE4NiwxMSwxOS4zODcsOS42NjYsMTcuNjc4LDkuMjVhNC42NTYsNC42NTYsMCwwLDAtNS44NTMsMy4xNTgsOS4yOCw5LjI4LDAsMCwwLS4zNDEsMS4yNzNBMTAuODksMTAuODksMCwwLDAsMTEuMjksMTUuOTc2WlwiIHN0eWxlPVwiZmlsbDojYzJjMmMyXCIvPjxwb2x5Z29uIHBvaW50cz1cIjIuMDMzIDMwIDIuMDMzIDIgNy45NjcgMiA3Ljk2NyA0LjIyNyA0LjcyMyA0LjIyNyA0LjcyMyAyNy43NzMgNy45NjcgMjcuNzczIDcuOTY3IDMwIDIuMDMzIDMwXCIgc3R5bGU9XCJmaWxsOiNjMmMyYzJcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjkuOTY3IDI5Ljk5OSAyNC4wMzMgMjkuOTk5IDI0LjAzMyAyNy43NzEgMjcuMjc3IDI3Ljc3MSAyNy4yNzcgNC4yMjYgMjQuMDMzIDQuMjI2IDI0LjAzMyAxLjk5OSAyOS45NjcgMS45OTkgMjkuOTY3IDI5Ljk5OVwiIHN0eWxlPVwiZmlsbDojYzJjMmMyXCIvPmAsXG5cdFwiT0NhbWxcIjogYDxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD1cImFcIiB4MT1cIi03NDUuNjIzXCIgeTE9XCItOTIuNzZcIiB4Mj1cIi03NDUuNjIzXCIgeTI9XCItODUuMTA4XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJ0cmFuc2xhdGUoNzU4IDExMy4yOClcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNmMjkxMDRcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZWM2ODEzXCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiYlwiIHgxPVwiLTc0MS45OVwiIHkxPVwiLTEwOS40NzdcIiB4Mj1cIi03NDEuOTlcIiB5Mj1cIi04NS4wOTlcIiB4bGluazpocmVmPVwiI2FcIi8+PGxpbmVhckdyYWRpZW50IGlkPVwiY1wiIHgxPVwiLTc1Mi4xMTFcIiB5MT1cIi05My45MThcIiB4Mj1cIi03NTIuMTExXCIgeTI9XCItODUuMjg0XCIgeGxpbms6aHJlZj1cIiNhXCIvPjwvZGVmcz48dGl0bGU+ZmlsZV90eXBlX29jYW1sPC90aXRsZT48cGF0aCBkPVwiTTE2LjU3MSwyNS4yNDZhNC4yOCw0LjI4LDAsMCwwLS4wMzktLjcwOWMtLjA1OS0uMi0uMi0uMjE3LS4zLS4zNzRhMy41MDcsMy41MDcsMCwwLDEtLjUzMi0xLjQ3N2MtLjAyLS40NTMtLjItLjg4Ni0uMjE3LTEuMzM5LS4wMi0uMjE3LjAyLS40NTMsMC0uNjY5YTEuOTYzLDEuOTYzLDAsMCwwLS4wMzktLjMxNSwxLjEzMywxLjEzMywwLDAsMC0uMDM5LS4ybC4wNTktLjEzOGEyLjcyLDIuNzIsMCwwLDEsLjY1LS4wMzljLjI1NiwwLC41MTIuMDIuNzY4LjAyYTcuOTYxLDcuOTYxLDAsMCwwLDEuNTM2LS4wNTksMy43MjIsMy43MjIsMCwwLDAsMS45NDktLjg0Nyw0Ljk0Niw0Ljk0NiwwLDAsMCwxLjUzNi0yLjAwOGMuMTc3LS4zOTQuMTc3LTEuMDgzLjU1MS0xLjQuNDMzLS4zNzQsMS4xODEtLjMzNSwxLjY5My0uNTcxYTEuMTg3LDEuMTg3LDAsMCwxLC44MDctLjEzOGMuMjE3LjAzOS42My4zMTUuNzI5LS4wNTktLjA3OS0uMDM5LS4xLS4xMzgtLjEzOC0uMTc3LjQxNC0uMDM5LDAtMS0uMTU4LTEuMkEyLjIyNSwyLjIyNSwwLDAsMCwyNC4yNSwxM2EzLjUwOSwzLjUwOSwwLDAsMC0xLjUzNi0uMjE3Yy0uODg2LjE3Ny0uODI3LS4zMzUtMS4zMzktLjMzNS0uNjMsMC0xLjczMy4wMzktMS45My42M2ExLjU0LDEuNTQsMCwwLDEtLjMzNS41MTJjLS4xMzguMTc3LjAyLjM1NC0uMDM5LjU3MS0uMDc5LjIxNy0uMTc3Ljk4NS0uMjc2LDEuMjYtLjE3Ny40NTMtLjM5NCwxLjAyNC0uNzg4LDEuMDI0YTMuMTUyLDMuMTUyLDAsMCwxLTEuNDM3LS4wNzljLS4yNzYtLjEtLjcyOS0uMjU2LS45NDUtLjMzNS0xLjAyNC0uNDMzLTEuMi0uOTA2LTEuMi0uOTA2YTMuMDI2LDMuMDI2LDAsMCwxLS41MTItLjg2NmMtLjExOC0uNDE0LS4zMTUtLjc2OC0uMzk0LTFzLS4zLS41OTEtLjQ1My0uOTg1YTIuNjY3LDIuNjY3LDAsMCwwLS43MDktMS4wNjNjLS4zMTUtLjI3Ni0uNjEtLjcyOS0xLjI2LS41OTFhMS42NDEsMS42NDEsMCwwLDAtLjg2Ni4zMTVjLS4yMTcuMTc3LS4zLjU3MS0uNDkyLjg4Ni0uMTE4LjE3Ny0uMzE1LjcwOS0uNTEyLDEuMTYyYTEuOTI5LDEuOTI5LDAsMCwxLS4zMzUuNjVjLS4xMTguMDc5LS4yNTYuMi0uNDE0LjEzOGEuOTI0LjkyNCwwLDAsMS0uMzE1LS4yLDUuMzM0LDUuMzM0LDAsMCwxLS43MDktMS4xMjIsMTEuMSwxMS4xLDAsMCwwLS43ODgtMS4yNDEsMS4wMTYsMS4wMTYsMCwwLDAtLjk4NS0uNTUxYy0xLjAyNCwwLTEuMS41NzEtMS41NTYsMS40MThhNS41NzQsNS41NzQsMCwwLDEtLjY2OSwxLjRjLS4yMzYuMjU2LS45NDUsMS4zMzktMS40NTcsMS41MTZIMnY3LjYyYy4wMzktLjEuMDU5LS4yLjEtLjI3Ni4yLS40MTQuNjUtLjgwNy45MDYtMS4yMjFhMy41LDMuNSwwLDAsMCwuMzc0LS43MDksMy43NDMsMy43NDMsMCwwLDEsLjIzNi0uNzA5Ljc5NC43OTQsMCwwLDEsLjU3MS0uMzM1Yy4zNTQtLjA1OS42NS40OTIsMS4wODMuNzA5LjIuMDc5LDEuMDYzLjM5NCwxLjMxOS40NTMuNDMzLjEuOTA2LjIsMS4zMzkuMjc2LjIzNi4wMzkuNDUzLjA3OS43MDkuMWE3LjMsNy4zLDAsMCwxLDEuMDgzLjEsMi4yNzcsMi4yNzcsMCwwLDAtLjgwNywxLjIyMWMtLjE1OC40MzMtLjI3Ni45MjUtLjQ3MywxLjMzOS0uMjE3LjQ3My0uNjY5LjY2OS0uNjEsMS4yMjFhMi42NjgsMi42NjgsMCwwLDEsLjAyLjY4OSw0LjAwOSw0LjAwOSwwLDAsMS0uMjE3LjY4OWMtLjEuMzE1LS4yMTcsMS4zNTktLjM1NCwxLjY3NGwuOTA2LS4xMThoMEExMC42OTIsMTAuNjkyLDAsMCwwLDguNCwyNi4zODhhMy43MzcsMy43MzcsMCwwLDEsLjcyOS0xLjI4Yy4zMzUtLjM3NC4zMTUtLjg0Ny41MTItMS4zYTEyLjQ4OCwxMi40ODgsMCwwLDEsLjc2OC0xLjNjLjQ5Mi0uODA3LjgwNy0xLjgxMiwxLjg1MS0yLjAyOGEzLjMsMy4zLDAsMCwxLDEuMDI0LjcwOSw0LjQ1Miw0LjQ1MiwwLDAsMSwuODg2LDEuMSwxMi44NTEsMTIuODUxLDAsMCwxLC44ODYsMi42NzgsMS4yMjcsMS4yMjcsMCwwLDAsLjM5NC43MDksNS40NjIsNS40NjIsMCwwLDEsLjQzMy43MjljLjA3OS4xNzcuMi41NzEuMy43ODhhNi4yNjcsNi4yNjcsMCwwLDEsLjMxNS44MjdsLjg0Ny0uMDJoLjAydi0uMDJBOS43NTQsOS43NTQsMCwwLDEsMTYuNTcxLDI1LjI0NlpcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cGF0aCBkPVwiTTE2LjIxNywyNy4yMzVjLS4xLS4yLS4yMTctLjYxLS4zLS43ODhhNS40NjIsNS40NjIsMCwwLDAtLjQzMy0uNzI5LDEuMTE5LDEuMTE5LDAsMCwxLS4zOTQtLjcwOSwxMi40ODcsMTIuNDg3LDAsMCwwLS44ODYtMi42NzgsNC40NTIsNC40NTIsMCwwLDAtLjg4Ni0xLjEsMy4zLDMuMywwLDAsMC0xLjAyNC0uNzA5Yy0xLjA0NC4yLTEuMzU5LDEuMjIxLTEuODUxLDIuMDI4YTEyLjQ4OCwxMi40ODgsMCwwLDAtLjc2OCwxLjNjLS4yLjQzMy0uMTc3LjkyNS0uNTEyLDEuM2EzLjQ0MywzLjQ0MywwLDAsMC0uNzI5LDEuMjhjLS4wMzkuMS0uMTE4LDEuMDgzLS4yMTcsMS4zMTloMGwxLjUzNi0uMWMxLjQzNy4xLDEuMDI0LjY1LDMuMjQ5LjUzMmwzLjUyNS0uMTE4aDBBNi4yNjcsNi4yNjcsMCwwLDAsMTYuMjE3LDI3LjIzNVpcIiBzdHlsZT1cImZpbGw6dXJsKCNhKVwiLz48cGF0aCBkPVwiTTI2LjQ1NiwzLjhINS41NDRBMy41MjEsMy41MjEsMCwwLDAsMi4wMiw3LjMyOHY3LjY3OWgwYy41MTItLjE3NywxLjIyMS0xLjI2LDEuNDU3LTEuNTE2YTUuOTEzLDUuOTEzLDAsMCwwLC42NjktMS40Yy40NTMtLjgyNy41MzItMS40MTgsMS41NTYtMS40MThhMS4wMTYsMS4wMTYsMCwwLDEsLjk4NS41NTEsOS41NDcsOS41NDcsMCwwLDEsLjc4OCwxLjI0MSw0Ljg0OSw0Ljg0OSwwLDAsMCwuNzA5LDEuMTIyLDIsMiwwLDAsMCwuMzE1LjJjLjE1OC4wNTkuMy0uMDU5LjQxNC0uMTM4QTEuOTI5LDEuOTI5LDAsMCwwLDkuMjQ2LDEzYy4yLS40NTMuMzk0LS45NjUuNTEyLTEuMTYyLjItLjMxNS4yNzYtLjcwOS40OTItLjg4NmExLjU5LDEuNTksMCwwLDEsLjg2Ni0uMzE1Yy42NS0uMTM4Ljk0NS4zMTUsMS4yNi41OTFhMy4yODUsMy4yODUsMCwwLDEsLjcwOSwxLjA2M2MuMTU4LjM5NC4zNTQuNzY4LjQ1My45ODVhOC45NDYsOC45NDYsMCwwLDEsLjM5NCwxLDMuNzEzLDMuNzEzLDAsMCwwLC41MTIuODY2cy4xNzcuNDczLDEuMi45MDZhOC43NDksOC43NDksMCwwLDAsLjk0NS4zMzUsMy4xNTIsMy4xNTIsMCwwLDAsMS40MzcuMDc5Yy4zOTQsMCwuNjEtLjU3MS43ODgtMS4wMjQuMS0uMjc2LjIxNy0xLjA0NC4yNzYtMS4yNnMtLjEtLjM3NC4wMzktLjU3MWMuMTU4LS4yMTcuMjU2LS4yMzYuMzM1LS41MTIuMi0uNjEsMS4zLS42MywxLjkzLS42My41MzIsMCwuNDUzLjUxMiwxLjMzOS4zMzVhMy4yNDMsMy4yNDMsMCwwLDEsMS41MzYuMjE3LDIuMjI1LDIuMjI1LDAsMCwxLDEuMTQyLjU1MWMuMTU4LjIuNTcxLDEuMTYyLjE1OCwxLjIuMDM5LjAzOS4wNzkuMTM4LjEzOC4xNzctLjEuMzc0LS40OTIuMS0uNzI5LjA1OWExLjE4NywxLjE4NywwLDAsMC0uODA3LjEzOGMtLjUxMi4yMTctMS4yNDEuMi0xLjY5My41NzEtLjM3NC4zMTUtLjM3NCwxLS41NTEsMS40YTUuMTY3LDUuMTY3LDAsMCwxLTEuNTM2LDIuMDA4LDMuOSwzLjksMCwwLDEtMS45NDkuODQ3LDcuOTYxLDcuOTYxLDAsMCwxLTEuNTM2LjA1OWMtLjI1Ni0uMDItLjUxMi0uMDItLjc2OC0uMDItLjE1OCwwLS42NjktLjAyLS42NS4wMzlsLS4wNTkuMTM4YS43LjcsMCwwLDAsLjAzOS4yYy4wMi4xMTguMDIuMjE3LjAzOS4zMTUsMCwuMjE3LS4wMi40NTMsMCwuNjY5LjAyLjQ1My4yLjg2Ni4yMTcsMS4zMzlhMy4yNiwzLjI2LDAsMCwwLC41MzIsMS40NzdjLjEuMTU4LjIzNi4xNzcuMy4zNzRhNC4xNjMsNC4xNjMsMCwwLDEsLjAzOS43MDksOS42ODUsOS42ODUsMCwwLDAsLjgyNywyLjc1N3YuMDJoMGMuNTEyLS4wNzksMS4wNDQtLjI3NiwxLjcxMy0uMzc0LDEuMjQxLS4xNzcsMi45NTQtLjEsNC4wNTYtLjIsMi44LS4yNTYsNC4zMTIsMS4xNDIsNi44MTMuNTcxVjcuMzI4QTMuNTUxLDMuNTUxLDAsMCwwLDI2LjQ1NiwzLjhaTTE2LjAyLDIwLjM0M1pcIiBzdHlsZT1cImZpbGw6dXJsKCNiKVwiLz48cGF0aCBkPVwiTTguNDc4LDIzLjU3M2MuMi0uNDMzLjMxNS0uOTA2LjQ3My0xLjMzOWEyLjI3NywyLjI3NywwLDAsMSwuODA3LTEuMjIxLDcuMyw3LjMsMCwwLDAtMS4wODMtLjFjLS4yMzYtLjAyLS40NzMtLjA1OS0uNzA5LS4xLS40MzMtLjA3OS0uOTI1LS4xNzctMS4zMzktLjI3Ni0uMjU2LS4wNTktMS4xNDItLjM3NC0xLjMxOS0uNDUzLS40NTMtLjItLjc0OC0uNzY4LTEuMDgzLS43MDlhLjc5NC43OTQsMCwwLDAtLjU3MS4zMzUsMy43NDMsMy43NDMsMCwwLDAtLjIzNi43MDljLS4xLjIzNi0uMjU2LjQ3My0uMzc0LjcwOWExMi4yODksMTIuMjg5LDAsMCwwLS45MjUsMS4yYy0uMDM5LjEtLjA1OS4yLS4xLjN2NC43NDVhNS40LDUuNCwwLDAsMSwuNzI5LjE1OCw4Ljc3LDguNzcsMCwwLDAsNC4zNzEuMzU0bC4xNzctLjAyaDBjLjEzOC0uMzE1LjI1Ni0xLjM1OS4zNTQtMS42NzRhNS40OTQsNS40OTQsMCwwLDAsLjIxNy0uNjg5LDIuNjY4LDIuNjY4LDAsMCwwLS4wMi0uNjg5QzcuODA5LDI0LjI0Miw4LjI2MiwyNC4wNDUsOC40NzgsMjMuNTczWlwiIHN0eWxlPVwiZmlsbDp1cmwoI2MpXCIvPmAsXG5cdFwiT3BlbkNMXCI6IGA8ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9XCJhXCIgeDE9XCIyOS42NjJcIiB5MT1cIjE4LjAyNlwiIHgyPVwiMjEuNDE5XCIgeTI9XCIyMC4yMzRcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cInJlZFwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNmZjZhNmFcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJiXCIgeDE9XCIyNC41ODhcIiB5MT1cIjkuNzQ4XCIgeDI9XCIxOC43NzZcIiB5Mj1cIjE1LjU2XCIgeGxpbms6aHJlZj1cIiNhXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cImNcIiB4MT1cIjE4LjQ2NlwiIHkxPVwiNi42MTlcIiB4Mj1cIjE1LjkyNFwiIHkyPVwiMTMuNjAzXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjY2ZhNDBjXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2VkZDQ4MFwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImRcIiB4MT1cIjEzLjE3XCIgeTE9XCI2LjUxXCIgeDI9XCIxMy4xN1wiIHkyPVwiMTIuOTk3XCIgeGxpbms6aHJlZj1cIiNjXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cImVcIiB4MT1cIjguODA4XCIgeTE9XCI4LjQ4NlwiIHgyPVwiMTAuOTg4XCIgeTI9XCIxMy4xNjFcIiB4bGluazpocmVmPVwiI2NcIi8+PGxpbmVhckdyYWRpZW50IGlkPVwiZlwiIHgxPVwiNS41MDVcIiB5MT1cIjExLjQ3N1wiIHgyPVwiOC41NDZcIiB5Mj1cIjE0LjUxOVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzExYTExOVwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiMzN2FlM2RcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJnXCIgeDE9XCIzLjYzOVwiIHkxPVwiMTQuMjg1XCIgeDI9XCI2Ljg4M1wiIHkyPVwiMTYuMTU4XCIgeGxpbms6aHJlZj1cIiNmXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cImhcIiB4MT1cIjIuMjY1XCIgeTE9XCIxNy43OTlcIiB4Mj1cIjUuMzc5XCIgeTI9XCIxOC45MzNcIiB4bGluazpocmVmPVwiI2ZcIi8+PGxpbmVhckdyYWRpZW50IGlkPVwiaVwiIHgxPVwiMlwiIHkxPVwiMjEuNjE0XCIgeDI9XCI0LjgzM1wiIHkyPVwiMjEuNjE0XCIgeGxpbms6aHJlZj1cIiNmXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cImpcIiB4MT1cIjIwLjY2MlwiIHkxPVwiMTguOTQ5XCIgeDI9XCIxOC4wMjZcIiB5Mj1cIjE3LjQyOFwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjAuNVwiIHN0b3AtY29sb3I9XCIjNjQ2NDY0XCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2NiY2JjYlwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImtcIiB4MT1cIjE2LjAyMVwiIHkxPVwiMjUuMjY0XCIgeDI9XCIxNi4wMjFcIiB5Mj1cIjIyLjY5MVwiIHhsaW5rOmhyZWY9XCIjalwiLz48L2RlZnM+PHRpdGxlPmZpbGVfdHlwZV9vcGVuY2w8L3RpdGxlPjxwYXRoIGQ9XCJNMjcuODI4LDEzLjU3NGExNC42NzYsMTQuNjc2LDAsMCwxLC44MzUsMS41NDJBMTQuOTY0LDE0Ljk2NCwwLDAsMSwyOS45MiwyMi45SDIyLjEzM2ExMC4zNzcsMTAuMzc3LDAsMCwwLS45NjctNC40MjRaXCIgc3R5bGU9XCJmaWxsOnVybCgjYSlcIi8+PHBhdGggZD1cIk0xNy43NTMsMTQuNDNhMTAuMDc0LDEwLjA3NCwwLDAsMSwyLjc3MiwyLjg3OGw2LjI3My01LjJhMTUuNTQsMTUuNTQsMCwwLDAtNC45ODgtNC4xNVpcIiBzdHlsZT1cImZpbGw6dXJsKCNiKVwiLz48cGF0aCBkPVwiTTE0Ljc4MSwxMy4wODZhOC44MjcsOC44MjcsMCwwLDEsMi4zNzYuOTY2TDIwLjY2Niw3LjQzYTEyLjcsMTIuNywwLDAsMC00LjY0NS0uOTUyWlwiIHN0eWxlPVwiZmlsbDp1cmwoI2MpXCIvPjxwYXRoIGQ9XCJNMTQuMzY0LDEzbC42MTItNi40ODhhMTIuNDYsMTIuNDYsMCwwLDAtMy42MTEuODEzbC41MDcsNS42MzhBNy4yMTksNy4yMTksMCwwLDEsMTQuMzY0LDEzXCIgc3R5bGU9XCJmaWxsOnVybCgjZClcIi8+PHBhdGggZD1cIk0xMC45NDgsMTMuMTc5bC0uNjgzLTUuMzczQTE0LjU4OCwxNC41ODgsMCwwLDAsNy43NzMsOS4zNzlsMS43NCw0LjQyYTcuNTE4LDcuNTE4LDAsMCwxLDEuNDM1LS42MTlcIiBzdHlsZT1cImZpbGw6dXJsKCNlKVwiLz48cGF0aCBkPVwiTTguODYsMTQuMjA2LDYuNDc0LDEwLjUxMWMtLjQ1My40NC0uNzkuODItMS4wMDYsMS4wNzRxLS4yMjcuMjY3LS40MzYuNTM4TDcuNDgsMTUuMzg3YTguODcsOC44NywwLDAsMSwxLjM4LTEuMTgyXCIgc3R5bGU9XCJmaWxsOnVybCgjZilcIi8+PHBhdGggZD1cIk03LjA0NiwxNS44NzUsNC4zMzUsMTMuMTEyYTE0LjI1OSwxNC4yNTksMCwwLDAtMS4yNSwyLjQyOWwzLjAwNywxLjcxYTkuODI2LDkuODI2LDAsMCwxLC45NTQtMS4zNzZcIiBzdHlsZT1cImZpbGw6dXJsKCNnKVwiLz48cGF0aCBkPVwiTTUuNTI3LDE4LjM5M2wtMi43Ny0xLjk0NWExNS40NTIsMTUuNDUyLDAsMCwwLS42MywyLjgzbDIuOTA2LjYwN2ExMC4zNDMsMTAuMzQzLDAsMCwxLC40OTQtMS40OTJcIiBzdHlsZT1cImZpbGw6dXJsKCNoKVwiLz48cGF0aCBkPVwiTTQuODMzLDIwLjlhMTAuNjg0LDEwLjY4NCwwLDAsMC0uMSwySDIuMDkzYTE0LjMzMywxNC4zMzMsMCwwLDEtLjA2NC0yLjU3M1pcIiBzdHlsZT1cImZpbGw6dXJsKCNpKVwiLz48cGF0aCBkPVwiTTIyLjU1MSwxMi40NzgsMTQuNzUxLDIzLjFBMS41NDQsMS41NDQsMCwwLDEsMTcuNSwyNC40MjhaXCIgc3R5bGU9XCJmaWxsOnVybCgjailcIi8+PHBhdGggZD1cIk0xNi4wMjEsMjUuNTIyYTEuNTQ0LDEuNTQ0LDAsMSwxLDEuMDkyLS40NTJBMS41MzMsMS41MzMsMCwwLDEsMTYuMDIxLDI1LjUyMlpcIiBzdHlsZT1cImZpbGw6IzY0NjQ2NFwiLz48cGF0aCBkPVwiTTE3LjMwOCwyMy45NzhhMS4yODcsMS4yODcsMCwxLDEtLjM3Ny0uOTFBMS4yODMsMS4yODMsMCwwLDEsMTcuMzA4LDIzLjk3OFpcIiBzdHlsZT1cImZpbGw6dXJsKCNrKVwiLz5gLFxuXHRcIlBhc2NhbFwiOiBgPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiMTZcIiB5MT1cIi0wLjQ0M1wiIHgyPVwiMTZcIiB5Mj1cIjIyLjA0MlwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjAuMDIxXCIgc3RvcC1jb2xvcj1cIiNmZjBjMTVcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjOWEwYzBmXCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfZGVscGhpPC90aXRsZT48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE0XCIgc3R5bGU9XCJmaWxsOnVybCgjYSlcIi8+PHBhdGggZD1cIk0yNy41NDUsMTYuMjQzSDQuOTI0YS45MTQuOTE0LDAsMCwwLTEuMDkyLjgycS4wMzMuNDI5LjEuODQ5YTEyLjQsMTIuNCwwLDAsMCwyNC41MzIsMHEuMDc1LS41LjEwOC0xLjAyMUMyOC40NzgsMTYuNTIzLDI4LjIxMSwxNi4yMDcsMjcuNTQ1LDE2LjI0M1pcIiBzdHlsZT1cImZpbGw6I2ZmNjQ0M1wiLz48cG9seWxpbmUgcG9pbnRzPVwiMTguNDggMTEuNjQgMjMuNzA3IDcuMjY2IDE5Ljc4NyA1Ljg4IDE2IDExLjA1M1wiIHN0eWxlPVwiZmlsbDojZmFlN2UzO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5bGluZSBwb2ludHM9XCIxNS42OCAxMS4wMjYgMTguNjQgNS44OCAxNC44NTMgNS44OCAxMy4zMDcgMTEuMjkzXCIgc3R5bGU9XCJmaWxsOiNmYWU3ZTM7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlsaW5lIHBvaW50cz1cIjEzLjA0IDExLjM3MyAxMy42IDYuNzA2IDEwLjU4NyA3Ljk2IDExLjAxMyAxMi43NlwiIHN0eWxlPVwiZmlsbDojZmFlN2UzO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5bGluZSBwb2ludHM9XCIxMC43NDcgMTMgOS43ODcgOC43NiA3LjcwNyAxMC44NCA5LjY1MyAxNC42OFwiIHN0eWxlPVwiZmlsbDojZmFlN2UzO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5bGluZSBwb2ludHM9XCI5LjM4NyAxNS4wNTMgNy40OTMgMTIuMzc2IDYuNjQgMTQuNDY2IDkuMDQgMTYuNTE3XCIgc3R5bGU9XCJmaWxsOiNmYWU3ZTM7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlsaW5lIHBvaW50cz1cIjkuMDQgMTYuNzU3IDYuNjQgMTUuMjEzIDYuNDggMTcuNCA5LjIgMTguMzMzXCIgc3R5bGU9XCJmaWxsOiNmYWU3ZTM7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlsaW5lIHBvaW50cz1cIjkuMjI3IDE4Ljg0NiA2LjY0IDE4LjA0IDcuMjI3IDE5LjggOS41NDcgMTkuOFwiIHN0eWxlPVwiZmlsbDojZmFlN2UzO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5bGluZSBwb2ludHM9XCI5LjcwNyAyMC4wOTMgNy43MDcgMjAuMzg2IDguNjI3IDIxLjc0NiAxMC4yNjcgMjFcIiBzdHlsZT1cImZpbGw6I2ZhZTdlMztmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cGF0aCBkPVwiTTIwLjAyMywxMy4wODlhNi42MSw2LjYxLDAsMCwwLTQuNTMtMkE2LjI5Myw2LjI5MywwLDAsMCwxMS4zLDIyLjA3bDQuOTQxLjEyOS0yLjA4LTQuMTZaXCIgc3R5bGU9XCJmaWxsOiNlZWU7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBhdGggZD1cIk0xNi41LDIyLjM2NmwtNS4yNjctLjEzOC0uMDQ0LS4wMzlhNi40NTMsNi40NTMsMCwwLDEsNC4zLTExLjI2NCw2Ljc4Nyw2Ljc4NywwLDAsMSw0LjY0MywyLjA1bC4xMjMuMTIzLTUuOSw0Ljk4MlptLTUuMTQtLjQ1NSw0LjYxNi4xMjFMMTMuOTYxLDE4bDUuODI1LTQuOTE5YTYuNDMsNi40MywwLDAsMC00LjI5Mi0xLjgzNSw2LjEzMyw2LjEzMywwLDAsMC00LjEzMSwxMC42NjdaXCIgc3R5bGU9XCJmaWxsOiNlZTRiMmVcIi8+PHBhdGggZD1cIk0xMi4wMTMsMjAuNDkzYy00LjE3My01LjgxMywyLjEwOS04LjE3MiwyLjQ3OC04LjQ1My40NTEtLjM0NC03LjU5LDEuNzg1LTMuMjI2LDguODhaXCIgc3R5bGU9XCJmaWxsOiNmMDRlMzE7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjAuNzIgMTIuNiAxMy41MiAxNy41NjcgMTMuNzMzIDE4LjU3MyAyMS40NjcgMTcuMDI2IDIwLjcyIDEyLjZcIiBzdHlsZT1cImZpbGw6I2VlZTtmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cGF0aCBkPVwiTTEzLjYxLDE4Ljc2MSwxMy4zNDEsMTcuNWw3LjQ5NS01LjE3LjgxNCw0LjgyOFptLjA4OS0xLjEyMy4xNTguNzQ3TDIxLjI4MywxNi45LDIwLjYsMTIuODc0WlwiIHN0eWxlPVwiZmlsbDojZWU0YjJlXCIvPjxwYXRoIGQ9XCJNMTUuNzIzLDIxLjMxOWMtMy45My0uNjY4LTQuMjgzLjQyOC00LjI4My40MjhMMTAuMjY3LDI0LjQ0czEuMTItLjkwNyw1LjQ5MywwbC43Ni0xLjM4OFpcIiBzdHlsZT1cImZpbGw6I2RkMGMxMztmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cGF0aCBkPVwiTTE0LjEyMiwyMS42Yy0uMDItLjItMS4xLS4zMTktMS42NzctLjEyMy0uNzMyLjI0OS0xLjIxOSwxLjE0Mi0xLjA0NSwxLjIxM2ExLjk3NSwxLjk3NSwwLDAsMSwxLjEyNS0uOTg2QzEzLjQ0NywyMS40OTMsMTQuMTQyLDIxLjgsMTQuMTIyLDIxLjZaXCIgc3R5bGU9XCJmaWxsOiNmZjZlNGY7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBhdGggZD1cIk0xNS41MiwxOC42MDZhMTEuMSwxMS4xLDAsMCwwLDEuNTQ3LDEuNDg3LDYuOSw2LjksMCwwLDEsMi43Miw0LjEwN2MtLjEwNywxLjA2Ny0xLjk3MywxLjc2LTEuOTczLDEuNzZsLTMuMzA3LTcuMTk0WlwiIHN0eWxlPVwiZmlsbDojZWVlO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwYXRoIGQ9XCJNMTcuNzMsMjYuMTYxbC0zLjQ1Ny03LjUyMSwxLjMyLS4yMDguMDU3LjA4MWExMC44NjksMTAuODY5LDAsMCwwLDEuNTEyLDEuNDUxLDcsNywwLDAsMSwyLjc4Miw0LjIwN2wwLC4wMjIsMCwuMDIyYy0uMTE1LDEuMTUzLTIsMS44NjQtMi4wNzcsMS44OTRabS0yLjk5LTcuMjcsMy4xNTUsNi44NjNjLjQxNC0uMTc4LDEuNjMtLjc2MywxLjczLTEuNTQ4YTYuNzkzLDYuNzkzLDAsMCwwLTIuNjQ4LTMuOTgxbC0uMDEtLjAwN2ExMS45NCwxMS45NCwwLDAsMS0xLjUxNy0xLjQzOVpcIiBzdHlsZT1cImZpbGw6I2VlNGIyZVwiLz48cGF0aCBkPVwiTTI4LDEyLjc0MmMuMDI1LjM5NC4wMzQuNzkyLjAyNSwxLjE5NGExMy45NDYsMTMuOTQ2LDAsMCwxLTE5LjksMTIuM0ExMi44NiwxMi44NiwwLDAsMCwyOCwxMi43NDJaXCIgc3R5bGU9XCJmaWxsOiNlYWUwZGY7ZmlsbC1ydWxlOmV2ZW5vZGQ7b3BhY2l0eTowLjJcIi8+PHBhdGggZD1cIk0yLjM4MywxMy44OTNBMTMuOTQxLDEzLjk0MSwwLDAsMSwyNS43LDUuODNzLTUuMDA5LDUuOTc5LTEwLjU4NCw3LjkwN1MyLjM4MywxMy44OTMsMi4zODMsMTMuODkzWlwiIHN0eWxlPVwiZmlsbDojZWFlMGRmO29wYWNpdHk6MC4yXCIvPjxwYXRoIGQ9XCJNMy42MTgsMTguNjk0Yy0uMDQ0LS4zOTItLjA3Mi0uNzktLjA4My0xLjE5MUMzLjMyOSw5LjgwNywxMC4wMTIsNC4yLDE3LjcwOCwzLjk5MWExNC4yLDE0LjIsMCwwLDEsNS43MTksMS40NTgsMTMuMTI4LDEzLjEyOCwwLDAsMC03LjE4OC0yLjM2OWMtNy4xLjE5LTEzLjMwNiw1LjMtMTMuMTE2LDEyLjRBMTIuODczLDEyLjg3MywwLDAsMCwzLjYxOCwxOC42OTRaXCIgc3R5bGU9XCJmaWxsOiNlYWUwZGY7ZmlsbC1ydWxlOmV2ZW5vZGQ7b3BhY2l0eTowLjJcIi8+YCxcblx0XCJQZXJsXCI6IGA8cGF0aCBkPVwiTTI5LjI1LDEzLjhhNi44ODgsNi44ODgsMCwwLDAtLjc0Mi0yLjI2OCwxLjAxMSwxLjAxMSwwLDAsMC0uMTcyLS4yMzMsOS40NzEsOS40NzEsMCwwLDEtMS43MjUtMi40LDguNjMyLDguNjMyLDAsMCwwLTEuMzk1LTIuMzgyQTYuOTA2LDYuOTA2LDAsMCwxLDI0LjEsNC42NDQsNC41NzIsNC41NzIsMCwwLDAsMjEuOTksMS43MjdhMS4wMDksMS4wMDksMCwwLDAtLjEtLjA1NCw4Ljg4Niw4Ljg4NiwwLDAsMC0xLjMtLjQ2OCwxLjAyMiwxLjAyMiwwLDAsMC0uMjYzLS4wMzUsMS4wMDksMS4wMDksMCwwLDAtLjIuMDIxLDUuNjA3LDUuNjA3LDAsMCwxLS44MDcuMTA3Yy0uMDUsMC0uMS0uMDA2LS4xNDktLjAwNmEyLjg0MiwyLjg0MiwwLDAsMC0xLjQxNi40NTNjLS4wOTQuMDUyLS4xODguMTA2LS4yODQuMTQ5cS0uMDQxLjAxOC0uMDc4LjAzOUExLjYzNywxLjYzNywwLDAsMSwxNy4wNjYsMmEzLjEwOSwzLjEwOSwwLDAsMC0uNzcyLjE5NCwxLDEsMCwwLDAtLjUwOC40ODMsMi4xODQsMi4xODQsMCwwLDEtLjQ2OS41QTQuMzgyLDQuMzgyLDAsMCwwLDE0LjU1NSw0YS45NjQuOTY0LDAsMCwwLS4xMTYuMjM0LDQuNjg3LDQuNjg3LDAsMCwxLTEuNTc0LDIuMiw2LjQ3MSw2LjQ3MSwwLDAsMC0uOC42MTMsMi43MzQsMi43MzQsMCwwLDAtLjYyNy0xLjYzNGMtLjAxNy0uMDE5LS4wMzUtLjAzOC0uMDUzLS4wNTZsMC0uMDE0YTIuMzc4LDIuMzc4LDAsMCwwLS4xMzUtLjU4NiwxLDEsMCwwLDAtLjEzMi0uMjM2QTUuMTY3LDUuMTY3LDAsMCwwLDkuNTExLDMuMTEzYS45ODguOTg4LDAsMCwwLS4zNDYtLjExOSwxLjUsMS41LDAsMCwxLS4xNDgtLjA3NywyLjA2LDIuMDYsMCwwLDAtMS0uMzExLDEuNDc2LDEuNDc2LDAsMCwwLS42ODEuMTY2Ljk4Ny45ODcsMCwwLDAtLjI3NC4yMDYsMS4zMjgsMS4zMjgsMCwwLDEtLjEyNS4wNjMsMS45LDEuOSwwLDAsMC0uOTA4Ljc3OCwyLjUzOSwyLjUzOSwwLDAsMC0uNTQxLjEwNiwxLjY1NiwxLjY1NiwwLDAsMS0uMzgzLjA1NywyLjMsMi4zLDAsMCwwLTEuNS41NDVsLS4xMDYuMWEyLjUzMywyLjUzMywwLDAsMC0xLDIuNTI1LDEuMDgsMS4wOCwwLDAsMCwuMDY4LjE2NUEyLjI5NCwyLjI5NCwwLDAsMCw0LjQ0Niw4LjQ3OGMtLjEuMjM4LS4yLjQ3My0uMzE0LjdhMS4wMDksMS4wMDksMCwwLDAtLjA4Ny4yOTNBMTEuMDUyLDExLjA1MiwwLDAsMCw0LDEyLjAzOWMwLC4wMiwwLC4wNC4wMDcuMDZhNS4yNzgsNS4yNzgsMCwwLDEsLjA0MS41NDcsMi45MjYsMi45MjYsMCwwLDAsLjkzMSwyLjRjLjAxNy4wMTQuMDM0LjAyNi4wNTIuMDM5bC4wMDguMDMxYTIuOCwyLjgsMCwwLDAsLjE1MS40NDcsMS4xODUsMS4xODUsMCwwLDAsLjYzMi42MTcsMS4yODksMS4yODksMCwwLDAsLjI0OC41NzEsMSwxLDAsMCwwLC4zMzIuMjc5LDIuNDUzLDIuNDUzLDAsMCwwLC40NjUuMTc2bC4wNjQuMDE4YS45NzYuOTc2LDAsMCwwLC4xOTIuMTcxQTUuODc5LDUuODc5LDAsMCwxLDcuODczLDE4YTEuMTMsMS4xMywwLDAsMCwxLjM1MS40MjcsMS41LDEuNSwwLDAsMCwuNzY1LjIxNSwxLjQyMSwxLjQyMSwwLDAsMCwuNjI0LS4xNDVsLjExNC0uMDI2Yy4wMjQuNDA4LjAzMy44MTcuMDI4LDEuMjIzYTEuMDQzLDEuMDQzLDAsMCwwLC4wMjYuMjQyLDEwLjc0NCwxMC43NDQsMCwwLDEsLjI2NiwxLjgyOC45MzEuOTMxLDAsMCwwLC4wMzEuMiw4LjQ5Miw4LjQ5MiwwLDAsMSwuMjY4LDEuODE1YzAsLjAzMSwwLC4wNjMuMDA4LjA5NGE2LjA4Myw2LjA4MywwLDAsMS0uNjEsMy41NzUuOTk0Ljk5NCwwLDAsMC0uMDg5LjI2MSwxLjA5MywxLjA5MywwLDAsMC0uMjM0LjA3OWwtLjA1LjAyMmEyLjAxMywyLjAxMywwLDAsMC0xLjIsMS4wNjUsMS4zMjIsMS4zMjIsMCwwLDAsLjA3NCwxLjA1NCwxLDEsMCwwLDAsLjMyNC4zNzEsMy41NDcsMy41NDcsMCwwLDAsMy41MDkuMywxLjU0NiwxLjU0NiwwLDAsMCwuODI5LTEuNjUzbC0uMDA1LS4wNjdhLjk4OS45ODksMCwwLDAsLjA1Ni0uMTU4LDExLjE4NiwxMS4xODYsMCwwLDAsLjI4OC0yLjA2OCw4LjkzOSw4LjkzOSwwLDAsMSwuMjU5LTEuODIyLDQuNzI3LDQuNzI3LDAsMCwwLC4zODktMS41ODhsLjA0Mi4wNDhhMTIuNjYxLDEyLjY2MSwwLDAsMCwxLjI1NSwxLjEyOSwxMC4zLDEwLjMsMCwwLDEsMS4xLjk4OWwtLjAxMS4wMzhhLjUzMi41MzIsMCwwLDEtLjM0Mi4zNTlsLS4wNDkuMDE3YTEuOTIxLDEuOTIxLDAsMCwwLTEuMTg0LDEuMzM0LDEuMzEzLDEuMzEzLDAsMCwwLC40NTIsMS4yMzQsMSwxLDAsMCwwLC40NDEuMjIyLDQuOTA4LDQuOTA4LDAsMCwwLDIuNzM1LS4xODEsMS41NTYsMS41NTYsMCwwLDAsLjI2Ni0uMTI0LDEuNDExLDEuNDExLDAsMCwwLC45Ny4zNzIsMi4zMjYsMi4zMjYsMCwwLDAsMS0uMjc0Yy4wNDktLjAyMy4xLS4wNDUuMTQtLjA2MmExLDEsMCwwLDAsLjYzNy0uODY0LDQuNTUzLDQuNTUzLDAsMCwwLS40NjgtMi4zNDMsMS41NiwxLjU2LDAsMCwwLS41MS0uNiwxMC44LDEwLjgsMCwwLDEsMS4zLTIuMTUsMi4xOTMsMi4xOTMsMCwwLDAsLjQ1MS0yLjAyNiwyLjUxOSwyLjUxOSwwLDAsMS0uMDQzLS4zOTQsMS4wNDYsMS4wNDYsMCwwLDAsMC0uMTQ4LDUuNzU2LDUuNzU2LDAsMCwxLC4wMTItMS4yNzksNy4xNjEsNy4xNjEsMCwwLDAsLjk1MSwxLjc5Myw3Ljg5Miw3Ljg5MiwwLDAsMSwuMTMzLDEuMSwxMC43MzMsMTAuNzMzLDAsMCwwLC4xMzMsMS4xODYsOS4zNiw5LjM2LDAsMCwxLS4yMjQsMy45LDEsMSwwLDAsMC0uMDMyLjM0aDBhLjk4Ljk4LDAsMCwwLS4xLjE3OSwyLjIzOCwyLjIzOCwwLDAsMC0uMzEyLDEuMjM1LDEuMDA3LDEuMDA3LDAsMCwwLC4wMzkuMiwxLjMxNSwxLjMxNSwwLDAsMCwxLjMyOC45NjNjLjA4NiwwLC4xNzctLjAwNi4yNjgtLjAxNGwuMDE5LDAsLjAzOC4wMTNhMi4xMDksMi4xMDksMCwwLDAsMi41MTctMS4wODgsMSwxLDAsMCwwLC4wNTgtLjczNSw1LjI4NSw1LjI4NSwwLDAsMS0uMjA4LTEuMDI3LDEuMDExLDEuMDExLDAsMCwwLS4wNDYtLjIxNyw2LjQ3LDYuNDcsMCwwLDEtLjIyMS0zLjIyLDEuMTEyLDEuMTEyLDAsMCwwLC4wMTUtLjExNCwzLjkwNywzLjkwNywwLDAsMSwuMDc0LS40NDMsMi43MzgsMi43MzgsMCwwLDAtLjE5My0yLjEsNC4zMzksNC4zMzksMCwwLDEsLjAyMS0uNDc2Yy4wMTEtLjE0Ny4wMjMtLjMuMDI3LS40NjNhMS41OSwxLjU5LDAsMCwwLC44NjItLjg1MSwxMi44MywxMi44MywwLDAsMCwuOTQ3LTIuMjMsMS43MTksMS43MTksMCwwLDAsLjE3Mi0xLjE4NSwxLjIzNCwxLjIzNCwwLDAsMCwuMTExLS4yNTFBMS40NjcsMS40NjcsMCwwLDAsMjkuMjUsMTMuOFpNMTguODYzLDIyLjc2OGMtLjAyNiwwLS4wNTMtLjAwOC0uMDgtLjAxbC0uMDI0LDBhMi43NDgsMi43NDgsMCwwLDEtLjIzNi0uMzIzYy0uMDU5LS4wODgtLjExOC0uMTc1LS4xNzgtLjI1OGEyLjI1MywyLjI1MywwLDAsMCwuMjA4LS4yMzQsMS4yNTUsMS4yNTUsMCwwLDAsLjYyOS0uMzIxQTMuMTg2LDMuMTg2LDAsMCwxLDE4Ljg2MywyMi43NjhaXCIgc3R5bGU9XCJmaWxsOiNlZGVkZWRcIi8+PHBhdGggZD1cIk0xOS4yODksMi4zYy0uNTQ4LS4wNjUtLjk2MS4zLTEuNDE5LjUwNi0uMzY4LjIwNi0uODE1LjE1Mi0xLjE4NS4zMDktLjI4Mi41NzktLjk0MS45MDgtMS4zLDEuNDQzYTUuNyw1LjcsMCwwLDEtMS45NDIsMi42OTQsNS40NjQsNS40NjQsMCwwLDAtMi4zNjgsMy4zOTRjLS4xNDUuMy0uMTIyLjc0Ni0uMjc3LDEtLjUxMS4xNDMtLjIzOS0uNTE2LS4zLS44MjUtLjA3NC0uNDcuMzQxLS43Ny4zNzMtMS4yMjZhMS44MzQsMS44MzQsMCwwLDAsLjIwOS0xLjA1M2MtLjA1Ni0uODE0LjE4OS0xLjgwNy0uMzkzLTIuNDc3LS4zNDktLjItLjIzOS0uNjIzLS4zNjYtLjk0N2E0LjIxNCw0LjIxNCwwLDAsMC0xLjMtMS4xMzljLS40MTktLjA0MS0uODA2LS41NDItMS4yMzItLjMyMy0uMjY2LjMwOS0uNzYzLjMwNS0uOTIyLjcxMy0uMS41MTYtLjY4OC4zNzQtMS4wNjguNS0uNDg4LjE4NS0xLjExOC4wMDYtMS41MTguMzgyLS40MTEuNDEtMS4wMzQuOTYxLS44MzUsMS42MDYuNDU3Ljg4MiwxLjY0NS40MzgsMi4zMTcuOTc0QTE3Ljk5LDE3Ljk5LDAsMCwxLDUuMDM2LDkuNjFhMTAuMDUxLDEwLjA1MSwwLDAsMC0uMDQ0LDIuMzMyYy4xMjMuNzczLS4wODMsMS43NzIuNjA2LDIuMzE5LjM4LjEzNy4zNTcuNTcyLjUuODg3LjEzNC4yOS40MjctLjExMy41NDMuMTkzLjMzOC4xODQuMDM3LjU2MS4yMi44LjI2My4xMzcuNjM5LjEyOC44MjIuNDI2YTYuODQ0LDYuODQ0LDAsMCwxLC45NzUuODA2Yy4yMy40NjcuNTMxLS40NTQuNzgzLS4xMDkuMTcuMjg1LjUwNi41MjIuODE5LjI4NWEyLjk5MywyLjk5MywwLDAsMCwxLjMyNC0uNTU2LDE4LjAzMywxOC4wMzMsMCwwLDEsLjE3MSwyLjcxOCwxMS43MzMsMTEuNzMzLDAsMCwxLC4yOSwyLDkuNDA5LDkuNDA5LDAsMCwxLC4zLDIuMDMsNy4xMTEsNy4xMTEsMCwwLDEtLjcwOSw0LjE2LDEuMDEyLDEuMDEyLDAsMCwxLS44MDcuOGMtLjI5MS4xMy0uOS4zNjYtLjY5Mi43NzZhMi41NDksMi41NDksMCwwLDAsMi41Mi4yMTRjLjUxLS4yNDMuMDczLS44NTguMzM0LTEuMjI2LjM0My0xLjMuMTc0LTIuNjkxLjU3NS0zLjk4NWEzLjc2MiwzLjc2MiwwLDAsMCwuMy0yLjFjLjA3OS0uNDQtLjEwNS0uOTY5LjE4Ny0xLjMyOWExLjgxMywxLjgxMywwLDAsMSwuNDgzLTEuMiwxNC43NjIsMTQuNzYyLDAsMCwwLC4xNDQtMi4wMjYsMy4yMTQsMy4yMTQsMCwwLDEsMS4yNjctLjEyN2MuMDE4LjM3NS0uMjcyLjgxMi0uMTksMS4yMzRBMS45NDgsMS45NDgsMCwwLDEsMTUuNSwyMC4zYTIuODQ5LDIuODQ5LDAsMCwwLC4xNjgsMi4zMDhjLjc4Mi44MzksMS44LDEuNDMyLDIuNTM2LDIuMzI3LjMxNC4yMDUuMi41MTcuMDM4Ljc4NGExLjUyOCwxLjUyOCwwLDAsMS0uOTg3LDEuMDM0Yy0uMzA4LjEyMS0uODA2LjU2Ni0uNDQyLjg4MmEzLjkwNiwzLjkwNiwwLDAsMCwyLjE3OC0uMTQ0Yy40NzYtLjE3MS4zLS43MzguNDg4LTEuMDg4LjMuMjMzLjQyMy43NjUuNzExLDEuMDY5LjMuNDMzLjgwNy4wNzMsMS4xNTYtLjA2MmEzLjU0OSwzLjU0OSwwLDAsMC0uMzcyLTEuODQyYy0uMTY3LS4zNzgtLjgtLjM4NS0uNzctLjg1MmExMS43NjEsMTEuNzYxLDAsMCwxLDEuNzEyLTNjLjUxLS40NzkuMTMtMS4xOTEuMTU4LTEuOEE2Ljc2NSw2Ljc2NSwwLDAsMSwyMy4xNTgsMTUuNWExNS44ODksMTUuODg5LDAsMCwwLC42OTIsMi4xNCw2LjIzLDYuMjMsMCwwLDAsMS4xLDIuMjQ2Yy4yMzcuODExLjE3NiwxLjcxLjMzMSwyLjU1MWExMC40NCwxMC40NCwwLDAsMS0uMjQyLDQuMzQ3Yy4wNC41MTgtLjQ1Ny45LS40MTUsMS40MDguMTQuNDY5LjcuMDkzLjk5LjI5YTEuMTEsMS4xMSwwLDAsMCwxLjMyNC0uNTcyLDYuMjEyLDYuMjEyLDAsMCwxLS4yNDctMS4yMjMsNy40NTQsNy40NTQsMCwwLDEtLjI1NS0zLjcxOWMuMDQ2LS42NjkuNDU3LTEuNS0uMDczLTIuMDcyLS4xNDgtLjYxOS4xLTEuMjg1LS4wNDktMS45MTVhMTIuODc3LDEyLjg3NywwLDAsMS0uMTIyLTQuOTMzYy4wOTMtLjIyNy4wMTMtLjY0OS4yNDctLjc3NWExLjg1MSwxLjg1MSwwLDAsMSwuMzE1LDEuMjMyLDMuNywzLjcsMCwwLDEsLjA3OSwyLjA4MWMtLjQyNC41MzEtLjE2MywxLjI0OC0uMTA5LDEuODUuMDY4LjQyMi41MTYuMTE4LjU4OS0uMTQ0YTExLjg1MSwxMS44NTEsMCwwLDAsLjk0NC0yLjI0MWMuMjY5LS4zNTYuMDE0LS43NywwLTEuMTQyLjQxMy0uMDQ5LjI1Ni0uNTA2LjAzNS0uN2E1LjkzLDUuOTMsMCwwLDAtLjY2Ny0yLjIsMTAuNDY0LDEwLjQ2NCwwLDAsMS0xLjk0MS0yLjcyM2MtLjUyOC0xLjYzOS0yLjA0Mi0yLjcyNi0yLjU1Ni00LjM3OWEzLjU1NiwzLjU1NiwwLDAsMC0xLjY1Mi0yLjMxN0E3Ljg4MSw3Ljg4MSwwLDAsMCwyMC4zMiwyLjE3LDYuNSw2LjUsMCwwLDEsMTkuMjg5LDIuM1ptLjQsMTQuNjZhMzguOTA3LDM4LjkwNywwLDAsMSwuNSw0LjI5MSw0LjE3NSw0LjE3NSwwLDAsMS0uNzYsMi41MTdjLS4xMi40MjUtLjQ4Ni4wMTItLjc1MS0uMDE2LS42NDMtLjAxOC0uODgyLS42ODMtMS4yMzItMS4xMDctLjM2LS4zNDQtLjEtLjguMTMzLTEuMTMxLjI1Mi0uMTc5LjM1LS41NzkuNzA4LS41NDguNC0uMDA3LjMxNi0uNDg3LjI2LS43NDMuMjM4LS4zNjIuMDkyLS44OTIuMzI4LTEuMjgzLjQxOS0uMTgyLjI5NC0uODIuNDQyLTEuMTguMTE1LS4yNTYuMDE3LS43NDkuMzM0LS44NTQuMDM3LS4wMDYuMDQ5LjAxMi4wNDIuMDUyWlwiIHN0eWxlPVwiZmlsbDojM2EzYzViXCIvPmAsXG5cdFwiUEhQXCI6IGA8ZGVmcz48cmFkaWFsR3JhZGllbnQgaWQ9XCJhXCIgY3g9XCItMTYuMTE0XCIgY3k9XCIyMC41MzJcIiByPVwiMTguMzg0XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJ0cmFuc2xhdGUoMjYuNTIgLTkuMzA3KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2ZmZlwiLz48c3RvcCBvZmZzZXQ9XCIwLjVcIiBzdG9wLWNvbG9yPVwiIzRjNmI5NlwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiMyMzFmMjBcIi8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PHRpdGxlPmZpbGVfdHlwZV9waHA8L3RpdGxlPjxlbGxpcHNlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcng9XCIxNFwiIHJ5PVwiNy4zNjVcIiBzdHlsZT1cImZpbGw6dXJsKCNhKVwiLz48ZWxsaXBzZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHJ4PVwiMTMuNDUzXCIgcnk9XCI2LjgxOFwiIHN0eWxlPVwiZmlsbDojNjI4MGI2XCIvPjxwYXRoIGQ9XCJNMTguNzI1LDE4LjJsLjY2Ny0zLjQzNGExLjc1MiwxLjc1MiwwLDAsMC0uMzcyLTEuNzE5LDIuOTI5LDIuOTI5LDAsMCwwLTItLjUyNUgxNS44NjdsLjMzMS0xLjdhLjIxOS4yMTksMCwwLDAtLjIxNS0uMjZoLTEuNmEuMjE5LjIxOSwwLDAsMC0uMjE1LjE3N2wtLjcwOSwzLjY0NmEyLjA1MSwyLjA1MSwwLDAsMC0uNDc3LTEuMDU0LDIuNzgzLDIuNzgzLDAsMCwwLTIuMi0uODA3SDcuN2EuMjE5LjIxOSwwLDAsMC0uMjE1LjE3N2wtMS40MzQsNy4zOGEuMjE5LjIxOSwwLDAsMCwuMjE1LjI2SDcuODY5YS4yMTkuMjE5LDAsMCwwLC4yMTUtLjE3N2wuMzQ3LTEuNzg1aDEuMmE1LjE2Nyw1LjE2NywwLDAsMCwxLjU2OC0uMiwzLjA2OCwzLjA2OCwwLDAsMCwxLjE1LS42ODksMy41MzgsMy41MzgsMCwwLDAsLjY4LS44NDRsLS4yODcsMS40NzVhLjIxOS4yMTksMCwwLDAsLjIxNS4yNmgxLjZhLjIxOS4yMTksMCwwLDAsLjIxNS0uMTc3bC43ODctNC4wNTFoMS4wOTRjLjQ2NiwwLC42LjA5My42NC4xMzNzLjEuMTY1LjAyNS41NjlsLS42MzUsMy4yNjVhLjIxOS4yMTksMCwwLDAsLjIxNS4yNmgxLjYyQS4yMTkuMjE5LDAsMCwwLDE4LjcyNSwxOC4yWk0xMS4zMywxNS4zNjZhMS43NDksMS43NDksMCwwLDEtLjU2MSwxLjA5MiwyLjE3MSwyLjE3MSwwLDAsMS0xLjMxNS4zMjFIOC43NDJsLjUxNS0yLjY1MWguOTIxYy42NzcsMCwuOTQ5LjE0NSwxLjA1OS4yNjZBMS4xODEsMS4xODEsMCwwLDEsMTEuMzMsMTUuMzY2WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwYXRoIGQ9XCJNMjUuNTQ2LDEzLjMzMmEyLjc4MywyLjc4MywwLDAsMC0yLjItLjgwN0gyMC4yNTVhLjIxOS4yMTksMCwwLDAtLjIxNS4xNzdsLTEuNDM0LDcuMzhhLjIxOS4yMTksMCwwLDAsLjIxNS4yNmgxLjYwOGEuMjE5LjIxOSwwLDAsMCwuMjE1LS4xNzdsLjM0Ny0xLjc4NWgxLjJhNS4xNjcsNS4xNjcsMCwwLDAsMS41NjgtLjIsMy4wNjgsMy4wNjgsMCwwLDAsMS4xNS0uNjg5LDMuNDI1LDMuNDI1LDAsMCwwLDEuMDc2LTEuOTI3QTIuNTEyLDIuNTEyLDAsMCwwLDI1LjU0NiwxMy4zMzJabS0xLjY2NywyLjAzNGExLjc0OSwxLjc0OSwwLDAsMS0uNTYxLDEuMDkyQTIuMTcxLDIuMTcxLDAsMCwxLDIyLDE2Ljc3OEgyMS4yOWwuNTE1LTIuNjUxaC45MjFjLjY3NywwLC45NDkuMTQ1LDEuMDU5LjI2NkExLjE4MSwxLjE4MSwwLDAsMSwyMy44NzksMTUuMzY2WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwYXRoIGQ9XCJNMTAuMTc4LDEzLjkwOGExLjY0NSwxLjY0NSwwLDAsMSwxLjIyMS4zMzgsMS4zNCwxLjM0LDAsMCwxLC4xNDUsMS4xNjEsMS45NDUsMS45NDUsMCwwLDEtLjY0MiwxLjIyM0EyLjM2MSwyLjM2MSwwLDAsMSw5LjQ1NCwxN0g4LjQ3NmwuNi0zLjA4OVpNNi4yNjEsMjAuMTI0SDcuODY5bC4zODEtMS45NjJIOS42MjdhNC45MzEsNC45MzEsMCwwLDAsMS41LS4xOTEsMi44NCwyLjg0LDAsMCwwLDEuMDctLjY0MiwzLjIwNywzLjIwNywwLDAsMCwxLjAxLTEuODA4LDIuMywyLjMsMCwwLDAtLjM4NS0yLjA0NCwyLjU2OCwyLjU2OCwwLDAsMC0yLjAzNS0uNzMySDcuN1pcIiBzdHlsZT1cImZpbGw6IzAwMDAwNFwiLz48cGF0aCBkPVwiTTE0LjM4NywxMC43ODJoMS42TDE1LjYsMTIuNzQ0aDEuNDIxYTIuNzY3LDIuNzY3LDAsMCwxLDEuODUuNDY4LDEuNTQ4LDEuNTQ4LDAsMCwxLC4zMDUsMS41MTZsLS42NjcsMy40MzRIMTYuODlsLjYzNS0zLjI2NWEuODg2Ljg4NiwwLDAsMC0uMDgtLjc2LDEuMTIxLDEuMTIxLDAsMCwwLS44LS4ySDE1LjM3bC0uODIyLDQuMjI4aC0xLjZaXCIgc3R5bGU9XCJmaWxsOiMwMDAwMDRcIi8+PHBhdGggZD1cIk0yMi43MjcsMTMuOTA4YTEuNjQ1LDEuNjQ1LDAsMCwxLDEuMjIxLjMzOCwxLjM0LDEuMzQsMCwwLDEsLjE0NSwxLjE2MSwxLjk0NSwxLjk0NSwwLDAsMS0uNjQyLDEuMjIzQTIuMzYxLDIuMzYxLDAsMCwxLDIyLDE3aC0uOTc4bC42LTMuMDg5Wk0xOC44MSwyMC4xMjRoMS42MDhsLjM4MS0xLjk2MmgxLjM3N2E0LjkzMSw0LjkzMSwwLDAsMCwxLjUtLjE5MSwyLjg0LDIuODQsMCwwLDAsMS4wNy0uNjQyLDMuMjA3LDMuMjA3LDAsMCwwLDEuMDEtMS44MDgsMi4zLDIuMywwLDAsMC0uMzg1LTIuMDQ0LDIuNTY4LDIuNTY4LDAsMCwwLTIuMDM1LS43MzJIMjAuMjQ0WlwiIHN0eWxlPVwiZmlsbDojMDAwMDA0XCIvPmAsXG5cdFwiUEwvU1FMXCI6IGA8cGF0aCBkPVwiTTguNTYyLDE1LjI1NkEyMS4xNTksMjEuMTU5LDAsMCwwLDE2LDE2LjQ0OWEyMS4xNTksMjEuMTU5LDAsMCwwLDcuNDM4LTEuMTk0YzEuODY0LS43MjcsMi41MjUtMS41MzUsMi41MjUtMlY5LjdhMTAuMzU3LDEwLjM1NywwLDAsMS0yLjA4NCwxLjA3NkEyMi4yOTMsMjIuMjkzLDAsMCwxLDE2LDEyLjA3OGEyMi4zNiwyMi4zNiwwLDAsMS03Ljg3OS0xLjNBMTAuMjgsMTAuMjgsMCwwLDEsNi4wMzcsOS43djMuNTVDNi4wMzcsMTMuNzI0LDYuNywxNC41MjgsOC41NjIsMTUuMjU2WlwiIHN0eWxlPVwiZmlsbDpyZWRcIi8+PHBhdGggZD1cIk04LjU2MiwyMS45NjFhMTUuNjExLDE1LjYxMSwwLDAsMCwyLjYuNzQxQTI0LjksMjQuOSwwLDAsMCwxNiwyMy4xNTVhMjQuOSwyNC45LDAsMCwwLDQuODM4LS40NTIsMTUuNjE0LDE1LjYxNCwwLDAsMCwyLjYtLjc0MWMxLjg2NC0uNzI3LDIuNTI1LTEuNTM1LDIuNTI1LTJ2LTMuMzlhMTAuNzA2LDEwLjcwNiwwLDAsMS0xLjY5Mi44MjVBMjMuNDksMjMuNDksMCwwLDEsMTYsMTguNzRhMjMuNDksMjMuNDksMCwwLDEtOC4yNzEtMS4zNDgsMTAuODI5LDEwLjgyOSwwLDAsMS0xLjY5Mi0uODI1VjE5Ljk2QzYuMDM3LDIwLjQyNiw2LjcsMjEuMjMxLDguNTYyLDIxLjk2MVpcIiBzdHlsZT1cImZpbGw6cmVkXCIvPjxwYXRoIGQ9XCJNMTYsMzBjNS41LDAsOS45NjMtMS43NDQsOS45NjMtMy44OTRWMjMuMjY5YTEwLjUsMTAuNSwwLDAsMS0xLjUzNS43NjJsLS4xNTcuMDYzQTIzLjQ4NywyMy40ODcsMCwwLDEsMTYsMjUuNDQ1YTIzLjQyMiwyMy40MjIsMCwwLDEtOC4yNzEtMS4zNTFjLS4wNTQtLjAyLS4xMDYtLjA0My0uMTU3LS4wNjNhMTAuNSwxMC41LDAsMCwxLTEuNTM1LS43NjJ2Mi44MzdDNi4wMzcsMjguMjU2LDEwLjUsMzAsMTYsMzBaXCIgc3R5bGU9XCJmaWxsOnJlZFwiLz48ZWxsaXBzZSBjeD1cIjE2XCIgY3k9XCI1Ljg5NFwiIHJ4PVwiOS45NjNcIiByeT1cIjMuODk0XCIgc3R5bGU9XCJmaWxsOnJlZFwiLz5gLFxuXHRcIlBsYWluIHRleHRcIjogYDxwYXRoIGQ9XCJNMjIuMDM4LDJINi4zNzVhMS43NTUsMS43NTUsMCwwLDAtMS43NSwxLjc1djI0LjVBMS43NTUsMS43NTUsMCwwLDAsNi4zNzUsMzBoMTkuMjVhMS43NTUsMS43NTUsMCwwLDAsMS43NS0xLjc1VjYuODU2Wm0uNTI1LDIuODQ0LDEuNjYzLDEuNTMxSDIyLjU2M1pNNi4zNzUsMjguMjVWMy43NUgyMC44MTNWOC4xMjVoNC44MTNWMjguMjVaXCIgc3R5bGU9XCJmaWxsOiNjMmMyYzJcIi8+PHJlY3QgeD1cIjguMTI1XCIgeT1cIjE1LjA5N1wiIHdpZHRoPVwiMTMuMDc2XCIgaGVpZ2h0PVwiMS43NVwiIHN0eWxlPVwiZmlsbDojODI5ZWMyXCIvPjxyZWN0IHg9XCI4LjEyNVwiIHk9XCIyNC40MzlcIiB3aWR0aD1cIjkuNzYyXCIgaGVpZ2h0PVwiMS43NVwiIHN0eWxlPVwiZmlsbDojODI5ZWMyXCIvPjxyZWN0IHg9XCI4LjEyNVwiIHk9XCIxOS43NjNcIiB3aWR0aD1cIjE1Ljc1XCIgaGVpZ2h0PVwiMS43NVwiIHN0eWxlPVwiZmlsbDojODI5ZWMyXCIvPjxyZWN0IHg9XCI4LjEyNVwiIHk9XCIxMC4yM1wiIHdpZHRoPVwiMTUuNzVcIiBoZWlnaHQ9XCIxLjc1XCIgc3R5bGU9XCJmaWxsOiM4MjllYzJcIi8+YCxcblx0XCJQbGFudFVNTFwiOiBgPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiLTMzLjQyM1wiIHkxPVwiLTI1MC45MTFcIiB4Mj1cIi0zMy4zNTNcIiB5Mj1cIi0yNTAuODU4XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMzcuMTM0LCAyNi4wMDEsIDEzLjU3NSwgLTE5LjM4NywgNDY3My40NzMsIC0zOTgyLjAxOSlcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiM3Njc2NzZcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImJcIiB4MT1cIi0zMi4xMDdcIiB5MT1cIi0yNDIuNTYzXCIgeDI9XCItMzIuMDI4XCIgeTI9XCItMjQyLjU4NlwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDgxLjA4MSwgNTYuNzc0LCAxNy4zMDYsIC0yNC43MTUsIDY4MDQuMDIxLCAtNDE0OS42NDQpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjMDA3OWI5XCIvPjxzdG9wIG9mZnNldD1cIjFcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJjXCIgeDE9XCItMzMuMjgyXCIgeTE9XCItMjQzLjQyM1wiIHgyPVwiLTMzLjIyNFwiIHkyPVwiLTI0My40NTVcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCg2MC4wMDMsIDQyLjAxNSwgMzQuMTg0LCAtNDguODIsIDEwMzQzLjAwNSwgLTEwNDY5LjA4NClcIiB4bGluazpocmVmPVwiI2JcIi8+PGxpbmVhckdyYWRpZW50IGlkPVwiZFwiIHgxPVwiMTIuMzU2XCIgeTE9XCIyNi4yNjhcIiB4Mj1cIjE0LjAxMVwiIHkyPVwiMjYuMjY4XCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjNTk1OTU5XCIvPjxzdG9wIG9mZnNldD1cIjAuMDg3XCIgc3RvcC1jb2xvcj1cIiM2ZTZlNmVcIi8+PHN0b3Agb2Zmc2V0PVwiMC4yNDJcIiBzdG9wLWNvbG9yPVwiIzhjOGM4Y1wiLz48c3RvcCBvZmZzZXQ9XCIwLjQwNVwiIHN0b3AtY29sb3I9XCIjYTRhNGE0XCIvPjxzdG9wIG9mZnNldD1cIjAuNTc3XCIgc3RvcC1jb2xvcj1cIiNiNWI1YjVcIi8+PHN0b3Agb2Zmc2V0PVwiMC43NjVcIiBzdG9wLWNvbG9yPVwiI2JmYmZiZlwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNjMmMyYzJcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJlXCIgeDE9XCIxOC4yOTFcIiB5MT1cIjI2LjE3MVwiIHgyPVwiMTkuOTQ2XCIgeTI9XCIyNi4xNzFcIiB4bGluazpocmVmPVwiI2RcIi8+PGxpbmVhckdyYWRpZW50IGlkPVwiZlwiIHgxPVwiMjQuNDRcIiB5MT1cIjI2LjE3MVwiIHgyPVwiMjYuMDk2XCIgeTI9XCIyNi4xNzFcIiB4bGluazpocmVmPVwiI2RcIi8+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfcGxhbnR1bWw8L3RpdGxlPjxwb2x5Z29uIHBvaW50cz1cIjIwLjMwNSAxNy44NzIgMjcuMTYgMjIuNDE4IDIxLjcyIDI1LjQ5MyAxNC44NjEgMjAuOTk5IDIwLjMwNSAxNy44NzJcIiBzdHlsZT1cImZpbGw6IzFjMGE0MlwiLz48cGF0aCBkPVwiTTIxLjcxNiwyNS42MTlsLS4wNTUtLjAzNi03LjAwNS00LjU5LDUuNjUzLTMuMjQ3LDcuMDU2LDQuNjhabS02LjY1LTQuNjEzLDYuNjU4LDQuMzYyLDUuMjMxLTIuOTU3TDIwLjMsMThaXCIvPjxwb2x5Z29uIHBvaW50cz1cIjI2LjQwMSAxMS45MDkgMjkuNDE4IDEzLjU5MiAyNy4wNyAxNS4wODggMjQuMjEzIDEzLjI0NyAyNi40MDEgMTEuOTA5XCIgc3R5bGU9XCJmaWxsOnVybCgjYSlcIi8+PHBhdGggZD1cIk0yNy4wNjksMTUuMjE1bC0zLjA1OC0xLjk3LDIuMzg3LTEuNDYsMy4yMjgsMS44Wm0tMi42NTQtMS45NjZMMjcuMDcsMTQuOTYsMjkuMjA4LDEzLjZsLTIuOC0xLjU2NVpcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTQuNDk4IDE3LjgwNyAyMS4zNTQgMjIuMzU0IDE1LjkxNCAyNS40MjkgOS4wNTUgMjAuOTM1IDE0LjQ5OCAxNy44MDdcIiBzdHlsZT1cImZpbGw6I2ZmYmQzZlwiLz48cGF0aCBkPVwiTTE1LjkxLDI1LjU1NGwtLjA1NS0uMDM2TDguODUsMjAuOTI5LDE0LjUsMTcuNjgxbDcuMDU2LDQuNjhaTTkuMjYsMjAuOTQxLDE1LjkxOCwyNS4zbDUuMjMxLTIuOTU3LTYuNjU0LTQuNDEzWlwiLz48cG9seWdvbiBwb2ludHM9XCI3Ljk5IDE3Ljk2NiAxNC45NTQgMjIuMzY2IDkuNTc3IDI1LjUwNCAyLjIxOCAyMC44NDkgNy45OSAxNy45NjZcIiBzdHlsZT1cImZpbGw6I2ExMWY0MFwiLz48cGF0aCBkPVwiTTkuNTc1LDI1LjYyOSwyLDIwLjgzOGw2LTMsNy4xNjQsNC41MjdaTTIuNDM2LDIwLjg2LDkuNTgsMjUuMzc4bDUuMTY4LTMuMDE2TDcuOTg0LDE4LjA4OVpcIi8+PHBvbHlnb24gcG9pbnRzPVwiMi4xMTEgMjEuMDIxIDkuNDQzIDI1LjUxNSA5LjQ0MyAyOS4wNjMgMi4xMTEgMjQuMzMyIDIuMTExIDIxLjAyMVwiIHN0eWxlPVwiZmlsbDp1cmwoI2IpXCIvPjxwYXRoIGQ9XCJNOS41NSwyOS4yNiwyLDI0LjM5MVYyMC44MjlMOS41NSwyNS40NTVaTTIuMjE4LDI0LjI3NGw3LjExOCw0LjU5MlYyNS41NzVMMi4yMTgsMjEuMjEzWlwiLz48cG9seWdvbiBwb2ludHM9XCIyNC4wNzEgMTMuMzQzIDI3LjAwOSAxNS4yMjIgMjcuMDA5IDIyLjEzMSAyNC4wNzEgMjAuMjQ3IDI0LjA3MSAxMy4zNDNcIiBzdHlsZT1cImZpbGw6dXJsKCNjKVwiLz48cGF0aCBkPVwiTTI3LjA2MywyMi4yMjlsLTMuMDQ1LTEuOTUzVjEzLjI0NWwzLjA0NSwxLjk0N1ptLTIuOTM4LTIuMDEyLDIuODMxLDEuODE1VjE1LjI1MWwtMi44MzEtMS44MVpcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjcuMTQ5IDIyLjUyNiAyNy4xNDkgMTUuMTk0IDI5LjUxNCAxMy43NzUgMjkuNTE0IDI5LjE0OSAyOC4zMzEgMjkuMTQ5IDkuNjQ2IDI5LjE0OSA5LjY0NiAyNS42MDEgMTUuMDg2IDIyLjUyNiAxNS43ODUgMjUuNjAxIDE1Ljc5NiAyNS42MDEgMjEuNDcyIDIyLjUyNiAyMS44OTEgMjUuNjAxIDIxLjk0NSAyNS42MDEgMjcuMTQ5IDIyLjUyNlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwYXRoIGQ9XCJNMjkuNjIxLDI5LjI1Nkg5LjUzOVYyNS41MzhsNS42Mi0zLjE3Ny43LDMuMDgzLDUuNy0zLjA4Ny40MjIsMy4xLDUuMDYxLTIuOTkxVjE1LjEzM2wyLjU4LTEuNTQ4Wk05Ljc1MywyOS4wNDFIMjkuNDA3VjEzLjk2NGwtMi4xNTEsMS4yOXY3LjMzMmwtLjA1My4wMzEtNS4yMjksMy4wOUgyMS44bC0uNDExLTMuMDE0LTUuNTY0LDMuMDE0SDE1LjdsLS42ODYtMy4wMTgtNS4yNiwyLjk3M1pcIi8+PHJlY3QgeD1cIjEyLjM1NlwiIHk9XCIyNS40NFwiIHdpZHRoPVwiMS42NTZcIiBoZWlnaHQ9XCIxLjY1NlwiIHJ4PVwiMC4yMTVcIiByeT1cIjAuMjE1XCIgc3R5bGU9XCJmaWxsOnVybCgjZClcIi8+PHBhdGggZD1cIk0xMy44LDI3LjJIMTIuNTdhLjMyMi4zMjIsMCwwLDEtLjMyMi0uMzIyVjI1LjY1NWEuMzIyLjMyMiwwLDAsMSwuMzIyLS4zMjJIMTMuOGEuMzIyLjMyMiwwLDAsMSwuMzIyLjMyMnYxLjIyNkEuMzIyLjMyMiwwLDAsMSwxMy44LDI3LjJaTTEyLjU3LDI1LjU0N2EuMTA4LjEwOCwwLDAsMC0uMTA3LjEwN3YxLjIyNmEuMTA4LjEwOCwwLDAsMCwuMTA3LjEwN0gxMy44YS4xMDguMTA4LDAsMCwwLC4xMDctLjEwN1YyNS42NTVhLjEwOC4xMDgsMCwwLDAtLjEwNy0uMTA3WlwiLz48cmVjdCB4PVwiMTguMjkxXCIgeT1cIjI1LjM0M1wiIHdpZHRoPVwiMS42NTZcIiBoZWlnaHQ9XCIxLjY1NlwiIHJ4PVwiMC4yMTVcIiByeT1cIjAuMjE1XCIgc3R5bGU9XCJmaWxsOnVybCgjZSlcIi8+PHBhdGggZD1cIk0xOS43MzIsMjcuMTA2SDE4LjUwNWEuMzIyLjMyMiwwLDAsMS0uMzIyLS4zMjJWMjUuNTU4YS4zMjIuMzIyLDAsMCwxLC4zMjItLjMyMmgxLjIyNmEuMzIyLjMyMiwwLDAsMSwuMzIyLjMyMnYxLjIyNkEuMzIyLjMyMiwwLDAsMSwxOS43MzIsMjcuMTA2Wm0tMS4yMjYtMS42NTZhLjEwOC4xMDgsMCwwLDAtLjEwNy4xMDd2MS4yMjZhLjEwOC4xMDgsMCwwLDAsLjEwNy4xMDdoMS4yMjZhLjEwOC4xMDgsMCwwLDAsLjEwNy0uMTA3VjI1LjU1OGEuMTA4LjEwOCwwLDAsMC0uMTA3LS4xMDdaXCIvPjxyZWN0IHg9XCIyNC40NFwiIHk9XCIyNS4zNDNcIiB3aWR0aD1cIjEuNjU2XCIgaGVpZ2h0PVwiMS42NTZcIiByeD1cIjAuMjE1XCIgcnk9XCIwLjIxNVwiIHN0eWxlPVwiZmlsbDp1cmwoI2YpXCIvPjxwYXRoIGQ9XCJNMjUuODgxLDI3LjEwNkgyNC42NTVhLjMyMi4zMjIsMCwwLDEtLjMyMi0uMzIyVjI1LjU1OGEuMzIyLjMyMiwwLDAsMSwuMzIyLS4zMjJoMS4yMjZhLjMyMi4zMjIsMCwwLDEsLjMyMi4zMjJ2MS4yMjZBLjMyMi4zMjIsMCwwLDEsMjUuODgxLDI3LjEwNlptLTEuMjI2LTEuNjU2YS4xMDguMTA4LDAsMCwwLS4xMDcuMTA3djEuMjI2YS4xMDguMTA4LDAsMCwwLC4xMDcuMTA3aDEuMjI2YS4xMDguMTA4LDAsMCwwLC4xMDctLjEwN1YyNS41NThhLjEwOC4xMDgsMCwwLDAtLjEwNy0uMTA3WlwiLz48cGF0aCBkPVwiTTI3LjIxNSwxMS4yM2MtLjA1Mi4wNjktLjQxNy0uMjYyLS42NTMtLjUyNmE0LjQwOCw0LjQwOCwwLDAsMS0uNTE2LS43M0EyLjYsMi42LDAsMCwxLDI1LjcsOS4yYTIuMzU4LDIuMzU4LDAsMCwxLS4wNTItLjY4MiwyLjk1OSwyLjk1OSwwLDAsMSwuMTI5LS43NDksMy4xNDIsMy4xNDIsMCwwLDEsLjc4Ny0xLjIwNywxNS41MzIsMTUuNTMyLDAsMCwwLDEuMjgzLTEuNCwzLjA2MiwzLjA2MiwwLDAsMCwuNDc5LS45MjcsMy45NzksMy45NzksMCwwLDAsLjE1MS0uODU1Yy4wMTktLjM2NC0uMDI1LS41OTMuMDIzLS42MTNzLjIxNS4yNzQuMjg3LjU2NGEzLjE2NywzLjE2NywwLDAsMS0uNDU4LDIuMSw2LjksNi45LDAsMCwxLTEuMDk0LDEuNDQ4LDIuOCwyLjgsMCwwLDAtLjg0OSwxLjIzNEEyLjQ2NiwyLjQ2NiwwLDAsMCwyNi4zLDguOGEzLjQ2NSwzLjQ2NSwwLDAsMCwuNDc2LDEuNTQyQzI3LjA2NCwxMC45MTQsMjcuMjU2LDExLjE3NSwyNy4yMTUsMTEuMjNaXCIgc3R5bGU9XCJmaWxsOiNlYTJkMmVcIi8+PHBhdGggZD1cIk0yNy4xOTMsMTEuMjY2Yy0uMTI0LDAtLjQ5Mi0uMzY1LS42NTEtLjU0NGE0LjQ3OCw0LjQ3OCwwLDAsMS0uNTItLjczNCwyLjYyOCwyLjYyOCwwLDAsMS0uMzQ2LS43ODEsMi4zNzUsMi4zNzUsMCwwLDEtLjA1My0uNjksMi45NzgsMi45NzgsMCwwLDEsLjEzLS43NTYsMy4yMDgsMy4yMDgsMCwwLDEsLjc5My0xLjIxNmMuMjk0LS4zMzEuNS0uNTI4LjY1OS0uNjg2YTQuMzkzLDQuMzkzLDAsMCwwLC42MjItLjcxMSwzLjA1MiwzLjA1MiwwLDAsMCwuNDc2LS45MTksMy45NTEsMy45NTEsMCwwLDAsLjE1LS44NDljLjAwOC0uMTU5LDAtLjI5NCwwLS4zOTMsMC0uMTU5LS4wMDYtLjIyNS4wMzgtLjI0M2EuMDUuMDUsMCwwLDEsLjA0MywwLDEuMjI2LDEuMjI2LDAsMCwxLC4yOC41NzksMy4xNjcsMy4xNjcsMCwwLDEtLjQ2LDIuMTIxLDYuOTI4LDYuOTI4LDAsMCwxLTEuMSwxLjQ1M2MtLjA1NS4wNi0uMTA5LjExNi0uMTYyLjE3MWEyLjMsMi4zLDAsMCwwLS42ODEsMS4wNTIsMi40NywyLjQ3LDAsMCwwLS4wODIuNjczLDMuNDU4LDMuNDU4LDAsMCwwLC40NzMsMS41M2MuMTE0LjIzMS4yMTUuNDE1LjI4OS41NDkuMTI5LjIzNS4xNzguMzIzLjE0Mi4zNjloMGEuMDUxLjA1MSwwLDAsMS0uMDQuMDJaTTI4LjUxMiwyLjhhLjg2My44NjMsMCwwLDAsMCwuMTljMCwuMS4wMDcuMjM2LDAsLjRhNC4wMjEsNC4wMjEsMCwwLDEtLjE1Mi44NjEsMy4xMDYsMy4xMDYsMCwwLDEtLjQ4My45MzQsNC40MzcsNC40MzcsMCwwLDEtLjYyOS43MTljLS4xNjIuMTU4LS4zNjQuMzU0LS42NTcuNjgzYTMuMTY4LDMuMTY4LDAsMCwwLS43ODIsMS4yLDIuOTMzLDIuOTMzLDAsMCwwLS4xMjguNzQzLDIuMzI1LDIuMzI1LDAsMCwwLC4wNTIuNjc1LDIuNTksMi41OSwwLDAsMCwuMzQxLjc2Nyw0LjQyMiw0LjQyMiwwLDAsMCwuNTEzLjcyNSwyLjAzNSwyLjAzNSwwLDAsMCwuNjExLjUyNiwxLjE4MywxLjE4MywwLDAsMC0uMTQ3LS4zMWMtLjA3NC0uMTM0LS4xNzUtLjMxOC0uMjktLjU1MUEzLjUsMy41LDAsMCwxLDI2LjI3OCw4LjhhMi41MywyLjUzLDAsMCwxLC4wODQtLjY4OCwyLjM3NSwyLjM3NSwwLDAsMSwuNjk0LTEuMDc1Yy4wNTItLjA1NS4xMDYtLjExMS4xNjEtLjE3MWE2Ljg3OSw2Ljg3OSwwLDAsMCwxLjA5LTEuNDQyLDMuMTE5LDMuMTE5LDAsMCwwLC40NTYtMi4wODNBMS4yODEsMS4yODEsMCwwLDAsMjguNTEyLDIuOFpcIi8+PHBhdGggZD1cIk0yOS45NzIsNi4wODdjLS4wMTktLjA4OC0uNDMyLS4wNC0uNzY2LjA3M2EyLjYsMi42LDAsMCwwLTEuMDU5LjcyMiwyLjgsMi44LDAsMCwwLS45MTYsMS44NTUsMi45NzIsMi45NzIsMCwwLDAsLjI1OCwxLjA2Yy4yMjEuNTcyLjQ1NS43NzMuNDQ0LDEuMjI1LS4wMDcuMy0uMTE0LjQ4NC0uMDQ4LjU0OXMuMzE0LS4xLjQ2Mi0uMzEzYTEuOCwxLjgsMCwwLDAsLjI1OS0xLjAyMmMtLjA0Ni0uODE1LS42LTEuMDE1LS42MDgtMS44YTEuODU4LDEuODU4LDAsMCwxLC4xMjktLjY3NkMyOC41Nyw2LjUwOSwzMC4wMDgsNi4yNTIsMjkuOTcyLDYuMDg3WlwiIHN0eWxlPVwiZmlsbDojZWEyZDJlXCIvPjxwYXRoIGQ9XCJNMjcuOTM0LDExLjYxN2EuMDk0LjA5NCwwLDAsMS0uMDY5LS4wMjZjLS4wNDYtLjA0Ni0uMDMtLjEyMi0uMDA1LS4yMzdhMS43MTgsMS43MTgsMCwwLDAsLjA0NS0uMzMxLDEuMzc0LDEuMzc0LDAsMCwwLS4yMTQtLjcyLDUsNSwwLDAsMS0uMjI4LS40OTUsMi45OCwyLjk4LDAsMCwxLS4yNTktMS4wNywyLjgxLDIuODEsMCwwLDEsLjkyMy0xLjg3NCwyLjY0LDIuNjQsMCwwLDEsMS4wNy0uNzI5LDEuNDgyLDEuNDgyLDAsMCwxLC43NjYtLjFBLjA2NS4wNjUsMCwwLDEsMzAsNi4wODFoMGMuMDE1LjA3LS4wOTIuMTIxLS4zMDYuMjI0YTIuNzMsMi43MywwLDAsMC0xLjU0MiwxLjQ2MywxLjgyNywxLjgyNywwLDAsMC0uMTI3LjY2NywxLjY0NSwxLjY0NSwwLDAsMCwuMjkxLjg4NSwxLjg4OSwxLjg4OSwwLDAsMSwuMzE3LjkxNCwxLjgxNCwxLjgxNCwwLDAsMS0uMjY0LDEuMDM5LjgwOS44MDksMCwwLDEtLjQyMS4zNDJabTEuODg5LTUuNTQ5YTIuMTE3LDIuMTE3LDAsMCwwLS42MDguMTE3LDIuNTg4LDIuNTg4LDAsMCwwLTEuMDQ4LjcxNSwyLjc2NCwyLjc2NCwwLDAsMC0uOTA5LDEuODM3LDIuOTM1LDIuOTM1LDAsMCwwLC4yNTYsMS4wNSw0Ljk1NSw0Ljk1NSwwLDAsMCwuMjI1LjQ5LDEuNDMzLDEuNDMzLDAsMCwxLC4yMi43NDUsMS43NjUsMS43NjUsMCwwLDEtLjA0Ny4zNDFjLS4wMTkuMDkxLS4wMzUuMTYzLS4wMDkuMTg4YS4wNDYuMDQ2LDAsMCwwLC4wMzguMDEuNzY5Ljc2OSwwLDAsMCwuMzgyLS4zMiwxLjc5MywxLjc5MywwLDAsMCwuMjU0LTEuMDA1LDEuODQ0LDEuODQ0LDAsMCwwLS4zMS0uODksMS43MTEsMS43MTEsMCwwLDEtLjMtLjkxMSwxLjg3NywxLjg3NywwLDAsMSwuMTMtLjY4NkEyLjc3NiwyLjc3NiwwLDAsMSwyOS42Nyw2LjI1N2MuMTI2LS4wNjEuMjgzLS4xMzYuMjc3LS4xNjRsLS4wMDgtLjAwN0EuMjY0LjI2NCwwLDAsMCwyOS44MjMsNi4wNjhaXCIvPmAsXG5cdFwiUG93ZXJRdWVyeVwiOiBgPHBhdGggZD1cIk0zMCwyNS41ODNIMjUuNzU3VjE1LjM3OGE4LjI3MSw4LjI3MSwwLDAsMC0uODMyLTQuMjYxQTMuMDYxLDMuMDYxLDAsMCwwLDIyLjExOCw5LjhhMy4zODMsMy4zODMsMCwwLDAtMi44MjYsMS42NjQsNi43OTEsNi43OTEsMCwwLDAtMS4xNjEsMy45ODdWMjUuNTgzSDEzLjg2OVYxNS4wMzFxMC01LjIzMS0zLjY5NC01LjIzMWEzLjMzMiwzLjMzMiwwLDAsMC0yLjgyNiwxLjU3Myw2LjkzNSw2LjkzNSwwLDAsMC0xLjEwNiw0LjA3OFYyNS41ODNIMlY2Ljg1Nkg2LjI0M1Y5LjgxOGguMDczYTYuNDg4LDYuNDg4LDAsMCwxLDUuOTA3LTMuNCw1LjU2OSw1LjU2OSwwLDAsMSwzLjM5MywxLjA3QTUuMzI4LDUuMzI4LDAsMCwxLDE3LjYsMTAuMjk0YTYuNjgzLDYuNjgzLDAsMCwxLDYuMjE4LTMuODc3UTMwLDYuNDE3LDMwLDE0LjA0M1pcIiBzdHlsZT1cImZpbGw6I2NmY2ZjZlwiLz5gLFxuXHRcIlBvd2VyU2hlbGxcIjogYDxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD1cImFcIiB4MT1cIjIzLjMyNVwiIHkxPVwiLTExOC41NDNcIiB4Mj1cIjcuMjZcIiB5Mj1cIi0xMDQuMTkzXCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMSwgMCwgMCwgLTEsIDAsIC05NilcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiM1MzkxZmVcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjM2U2ZGJmXCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiYlwiIHgxPVwiNy4xXCIgeTE9XCItMTA0LjAwMlwiIHgyPVwiMjMuMDAxXCIgeTI9XCItMTE4LjI5MlwiIHhsaW5rOmhyZWY9XCIjYVwiLz48L2RlZnM+PHRpdGxlPmZpbGVfdHlwZV9wb3dlcnNoZWxsPC90aXRsZT48cGF0aCBkPVwiTTMuMTc0LDI2LjU4OWExLjE1NCwxLjE1NCwwLDAsMS0uOTI4LS40MjMsMS4yMzQsMS4yMzQsMCwwLDEtLjIxLTEuMDUyTDYuMjMzLDYuNzhBMS44LDEuOCwwLDAsMSw3LjkxNCw1LjQxSDI4LjgyNmExLjE1NywxLjE1NywwLDAsMSwuOTI4LjQyMywxLjIzNSwxLjIzNSwwLDAsMSwuMjEsMS4wNTJsLTQuMiwxOC4zMzVhMS44LDEuOCwwLDAsMS0xLjY4MSwxLjM3SDMuMTc0WlwiIHN0eWxlPVwiZmlsbC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI2EpXCIvPjxwYXRoIGQ9XCJNNy45MTQsNS42NDZIMjguODI2YS45MTMuOTEzLDAsMCwxLC45MDgsMS4xODdsLTQuMiwxOC4zMzRhMS41NzUsMS41NzUsMCwwLDEtMS40NTEsMS4xODdIMy4xNzRhLjkxMy45MTMsMCwwLDEtLjkwOC0xLjE4N2w0LjItMTguMzM0QTEuNTc0LDEuNTc0LDAsMCwxLDcuOTE0LDUuNjQ2WlwiIHN0eWxlPVwiZmlsbC1ydWxlOmV2ZW5vZGQ7ZmlsbDp1cmwoI2IpXCIvPjxwYXRoIGQ9XCJNMTYuMDQsMjEuNTQ0aDUuMDg2YTEuMTE4LDEuMTE4LDAsMCwxLDAsMi4yMzRIMTYuMDRhMS4xMTgsMS4xMTgsMCwwLDEsMC0yLjIzNFpcIiBzdHlsZT1cImZpbGw6IzJjNTU5MTtmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cGF0aCBkPVwiTTE5LjMzOSwxNi41NzhhMS43NjIsMS43NjIsMCwwLDEtLjU5MS42TDkuMzA5LDIzLjk1M2ExLjIyNCwxLjIyNCwwLDAsMS0xLjQzOC0xLjk3N2w4LjUxMi02LjE2NHYtLjEyNkwxMS4wMzUsMTBhMS4yMjQsMS4yMjQsMCwwLDEsMS43ODItMS42NzJsNi40MTgsNi44MjdBMS4xNjYsMS4xNjYsMCwwLDEsMTkuMzM5LDE2LjU3OFpcIiBzdHlsZT1cImZpbGw6IzJjNTU5MTtmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cGF0aCBkPVwiTTE5LjEsMTYuMzQyYTEuNzQ5LDEuNzQ5LDAsMCwxLS41OS42TDkuMDc0LDIzLjcxOGExLjIyNSwxLjIyNSwwLDAsMS0xLjQzOS0xLjk3N2w4LjUxMy02LjE2NFYxNS40NUwxMC44LDkuNzYxYTEuMjI0LDEuMjI0LDAsMCwxLDEuNzgzLTEuNjcyTDE5LDE0LjkxNkExLjE2MiwxLjE2MiwwLDAsMSwxOS4xLDE2LjM0MlpcIiBzdHlsZT1cImZpbGw6I2ZmZjtmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cGF0aCBkPVwiTTE1LjksMjEuNDEyaDUuMDg2YTEuMDU5LDEuMDU5LDAsMSwxLDAsMi4xMThIMTUuOWExLjA1OSwxLjA1OSwwLDEsMSwwLTIuMTE4WlwiIHN0eWxlPVwiZmlsbDojZmZmO2ZpbGwtcnVsZTpldmVub2RkXCIvPmAsICBcblx0XCJQcm9jZXNzaW5nXCI6IGA8ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9XCJhXCIgeDE9XCIxNlwiIHkxPVwiM1wiIHgyPVwiMTZcIiB5Mj1cIjI5XCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjMWM0YzcwXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzBjMmI0MlwiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48dGl0bGU+ZmlsZV90eXBlX3Byb2Nlc3NpbmdsYW5nPC90aXRsZT48cGF0aCBkPVwiTTE1LjkyMiwxOS45NjJhMTMsMTMsMCwwLDEtMS42NDctLjA3N3Y1LjU1MmEyNy43NiwyNy43NiwwLDAsMSwzLjMzMi40NjFWMjlINS45NjhWMjUuOUEyNy45ODgsMjcuOTg4LDAsMCwxLDkuMywyNS40MzhWNi43MTVhMjguMjE1LDI4LjIxNSwwLDAsMS0zLjMzMS0uNDZ2LTMuMUg4Ljk1NUMxMC4xOCwzLjE1MywxMy41NDksMywxNi4yMywzYzYuMzE4LDAsOS44LDIuOTQ4LDkuOCw4QzI2LjAzMSwxNi4wMTgsMjIuMiwxOS45NjIsMTUuOTIyLDE5Ljk2MlpNMTYsNy4wNThjLS42MTMsMC0xLjE0OSwwLTEuNzIzLjAzOHY4LjYxNWE5LjY5NCw5LjY5NCwwLDAsMCwxLjQ1NS4xMTVjMy4wMjUtLjAzOCw1LjEzLTEuNzIzLDUuMTMtNC41MTlDMjAuODYyLDguNywxOS40MDcsNy4wNTgsMTYsNy4wNThaXCIgc3R5bGU9XCJmaWxsOnVybCgjYSlcIi8+YCxcblx0XCJQcm9sb2dcIjogYDxkZWZzPjxyYWRpYWxHcmFkaWVudCBpZD1cImFcIiBjeD1cIjEzNDEuMjVcIiBjeT1cIi0zMzk2Ljg2NlwiIHI9XCIxOC4yOTlcIiBncmFkaWVudFRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTMyNy4wNzcgMzQwNS45MzUpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmZmXCIvPjxzdG9wIG9mZnNldD1cIjAuMTgxXCIgc3RvcC1jb2xvcj1cIiNmYmZiZmJcIi8+PHN0b3Agb2Zmc2V0PVwiMC4zNjVcIiBzdG9wLWNvbG9yPVwiI2VmZWZmMFwiLz48c3RvcCBvZmZzZXQ9XCIwLjU1MlwiIHN0b3AtY29sb3I9XCIjZGFkYmRjXCIvPjxzdG9wIG9mZnNldD1cIjAuNzM4XCIgc3RvcC1jb2xvcj1cIiNiZWJmYzJcIi8+PHN0b3Agb2Zmc2V0PVwiMC44MjRcIiBzdG9wLWNvbG9yPVwiI2FlYjBiM1wiLz48L3JhZGlhbEdyYWRpZW50PjxyYWRpYWxHcmFkaWVudCBpZD1cImJcIiBjeD1cIjYuNjc4XCIgY3k9XCI4NC43NFwiIHI9XCIxNS41NTRcIiBncmFkaWVudFRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMS44ODQgLTg2LjE1NCkgc2NhbGUoMS4wNzIgMS4xNjYpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmFmZGZmXCIvPjxzdG9wIG9mZnNldD1cIjAuMDc5XCIgc3RvcC1jb2xvcj1cIiNlZWY1ZmFcIi8+PHN0b3Agb2Zmc2V0PVwiMC4yMlwiIHN0b3AtY29sb3I9XCIjY2ZkZmVjXCIvPjxzdG9wIG9mZnNldD1cIjAuNDA3XCIgc3RvcC1jb2xvcj1cIiM5ZGJiZDVcIi8+PHN0b3Agb2Zmc2V0PVwiMC42MzFcIiBzdG9wLWNvbG9yPVwiIzU4OGFiNVwiLz48c3RvcCBvZmZzZXQ9XCIwLjc0NVwiIHN0b3AtY29sb3I9XCIjMzI2ZmE0XCIvPjxzdG9wIG9mZnNldD1cIjAuNzk5XCIgc3RvcC1jb2xvcj1cIiMyYjY2OThcIi8+PHN0b3Agb2Zmc2V0PVwiMC44OTdcIiBzdG9wLWNvbG9yPVwiIzE3NGU3OFwiLz48c3RvcCBvZmZzZXQ9XCIwLjk5NFwiIHN0b3AtY29sb3I9XCIjMDAzMTUyXCIvPjwvcmFkaWFsR3JhZGllbnQ+PHJhZGlhbEdyYWRpZW50IGlkPVwiY1wiIGN4PVwiMTEuMjQxXCIgY3k9XCItOS44OTdcIiByPVwiMTYuNTk0XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAyMi42MzEpIHNjYWxlKDEgMS4wNjIpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmZkNTQwXCIvPjxzdG9wIG9mZnNldD1cIjAuNjY3XCIgc3RvcC1jb2xvcj1cIiNlYzFjMjRcIi8+PHN0b3Agb2Zmc2V0PVwiMC45OTRcIiBzdG9wLWNvbG9yPVwiIzc2MDAwMFwiLz48L3JhZGlhbEdyYWRpZW50PjxyYWRpYWxHcmFkaWVudCBpZD1cImRcIiBjeD1cIjEyLjI4NlwiIGN5PVwiMjYuMTI3XCIgcj1cIjIuMDgzXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZGRkZmUwXCIvPjxzdG9wIG9mZnNldD1cIjAuMTc0XCIgc3RvcC1jb2xvcj1cIiNkOWRiZGNcIi8+PHN0b3Agb2Zmc2V0PVwiMC4zNTFcIiBzdG9wLWNvbG9yPVwiI2NkY2ZkMFwiLz48c3RvcCBvZmZzZXQ9XCIwLjUzMVwiIHN0b3AtY29sb3I9XCIjYjhiYWJiXCIvPjxzdG9wIG9mZnNldD1cIjAuNzExXCIgc3RvcC1jb2xvcj1cIiM5YzllOWZcIi8+PHN0b3Agb2Zmc2V0PVwiMC44OTFcIiBzdG9wLWNvbG9yPVwiIzc4Nzk3YlwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM1ZTVmNjFcIi8+PC9yYWRpYWxHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9XCJlXCIgY3g9XCIxOS4wNjRcIiBjeT1cIjI2LjEyN1wiIHI9XCIyLjA4M1wiIHhsaW5rOmhyZWY9XCIjZFwiLz48cmFkaWFsR3JhZGllbnQgaWQ9XCJmXCIgY3g9XCIxNS40MzRcIiBjeT1cIjE2LjE5MVwiIHI9XCIyLjY4N1wiIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMC40NjEpXCIgeGxpbms6aHJlZj1cIiNkXCIvPjwvZGVmcz48dGl0bGU+ZmlsZV90eXBlX3Byb2xvZzwvdGl0bGU+PGcgc3R5bGU9XCJpc29sYXRpb246aXNvbGF0ZVwiPjxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTZcIiByPVwiMTRcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTYuNjAyIDE0LjkyKSByb3RhdGUoLTQyLjI2NSlcIiBzdHlsZT1cImZpbGw6dXJsKCNhKVwiLz48cGF0aCBkPVwiTTE5LjkzOCw2LjMwOWE5Ljc4NSw5Ljc4NSwwLDAsMC02LjUtMi4zMzlDOC41NjQsMy45NywzLjc3NCw3LjcsMy40MDUsMTQuOTYxYy0uNCw3LjgsNC43NSwxMi44NjIsMTIsMTIuODYyLDEwLjczMywwLDE2LjY3Mi05Ljc4LDEwLjAyNy0yMC4zODgsNC42NzEsMTAuNi0uNTI3LDE3LjI3OS03LjIzNiwxNy4yNzktNS40NDEsMC05LjYxLTMuNjUxLTkuNjEtMTAuMzQ1QzguNTgyLDQuNzA5LDE1LjgyMyw0LjAzOSwxOS45MzgsNi4zMDlaXCIgc3R5bGU9XCJmaWxsOnVybCgjYilcIi8+PHBhdGggZD1cIk0yMi43LDEwLjQxNWMtLjI5My0uOTQtLjY0NS0yLjc4OC42MzQtMy44NmEzLjcyOSwzLjcyOSwwLDAsMC0zLjg0NCwxLjUzNEE5LjE2NSw5LjE2NSwwLDAsMCwxMiw4LjEsMy43MjksMy43MjksMCwwLDAsOC4xNTIsNi41NTVjMS4zMDksMS4xLjkxLDMuMDA1LjYxNCwzLjkyM0ExMC41MTcsMTAuNTE3LDAsMCwwLDYuMSwxNy41MjRjMCwyLjE3NCwxLjQsNC42NDUsMS42NzUsNy45NTVsMS43NjgtMS41MzJhMTEuNzQzLDExLjc0MywwLDAsMCw2LjIxMiwxLjQzMywxMS43NDEsMTEuNzQxLDAsMCwwLDYuMjEyLTEuNDMzbDEuNzY5LDEuNTMyYy4yOC0zLjMxLDEuNjc1LTUuNzgxLDEuNjc1LTcuOTU1QTEwLjUxMiwxMC41MTIsMCwwLDAsMjIuNywxMC40MTVaXCIgc3R5bGU9XCJmaWxsOnVybCgjYylcIi8+PHBhdGggZD1cIk0xMC43MjIsMjcuODY3YTEuNjIxLDEuNjIxLDAsMSwxLDMuMjQsMGMwLC4wMTgsMCwuMDM1LDAsLjA1M2EyLjIzNCwyLjIzNCwwLDEsMC0zLjIyOC4xMjZDMTAuNzI1LDI3Ljk4NywxMC43MjIsMjcuOTI3LDEwLjcyMiwyNy44NjdaXCIgc3R5bGU9XCJmaWxsOnVybCgjZClcIi8+PHBhdGggZD1cIk0yMC42MjksMjcuODY3YTEuNjIxLDEuNjIxLDAsMSwwLTMuMjQsMGMwLC4wMTgsMCwuMDM1LDAsLjA1M2EyLjIzNCwyLjIzNCwwLDEsMSwzLjIyOC4xMjZBMS42NzgsMS42NzgsMCwwLDAsMjAuNjI5LDI3Ljg2N1pcIiBzdHlsZT1cImZpbGw6dXJsKCNlKVwiLz48ZyBzdHlsZT1cIm9wYWNpdHk6MC41MzttaXgtYmxlbmQtbW9kZTptdWx0aXBseVwiPjxwYXRoIGQ9XCJNOC4zNDYsMTguNGMtLjEzMi42NjctLjk3MS44NzctLjk3MS44NzdBMS4zNTksMS4zNTksMCwwLDEsNi44MDksMTguMWEyLjkyOSwyLjkyOSwwLDAsMCwuNDQzLDEuNzkzQTIuOTI3LDIuOTI3LDAsMCwwLDguMzQ2LDE4LjRaXCIgc3R5bGU9XCJmaWxsOiMyMzFmMjBcIi8+PHBhdGggZD1cIk0xMC4wMDgsMTguNzM3Yy0uMTMyLjY2Ny0uOTcyLjg3Ny0uOTcyLjg3N2ExLjM2LDEuMzYsMCwwLDEtLjU2Ni0xLjE4MiwyLjkyOSwyLjkyOSwwLDAsMCwuNDQ0LDEuNzkzQTIuOTI2LDIuOTI2LDAsMCwwLDEwLjAwOCwxOC43MzdaXCIgc3R5bGU9XCJmaWxsOiMyMzFmMjBcIi8+PHBhdGggZD1cIk04LjgzMywyMC4yNDljLS4xMzIuNjY3LS45NzEuODc3LS45NzEuODc3QTEuMzU5LDEuMzU5LDAsMCwxLDcuMywxOS45NDRhMi45MjksMi45MjksMCwwLDAsLjQ0MywxLjc5M0EyLjkyNSwyLjkyNSwwLDAsMCw4LjgzMywyMC4yNDlaXCIgc3R5bGU9XCJmaWxsOiMyMzFmMjBcIi8+PHBhdGggZD1cIk0xMC41LDIwLjU4M2MtLjEzMi42NjctLjk3MS44NzctLjk3MS44NzdhMS4zNiwxLjM2LDAsMCwxLS41NjYtMS4xODJBMi45MjksMi45MjksMCwwLDAsOS40LDIyLjA3MiwyLjkyNywyLjkyNywwLDAsMCwxMC41LDIwLjU4M1pcIiBzdHlsZT1cImZpbGw6IzIzMWYyMFwiLz48cGF0aCBkPVwiTTkuMzI4LDIyLjEyMWMtLjEzMi42NjctLjk3Mi44NzctLjk3Mi44NzdhMS4zNiwxLjM2LDAsMCwxLS41NjUtMS4xODIsMi45MjksMi45MjksMCwwLDAsLjQ0MywxLjc5M0EyLjkyNiwyLjkyNiwwLDAsMCw5LjMyOCwyMi4xMjFaXCIgc3R5bGU9XCJmaWxsOiMyMzFmMjBcIi8+PHBhdGggZD1cIk0xMS42NjQsMTkuMDdjLS4xMzIuNjY3LS45NzIuODc3LS45NzIuODc3YTEuMzU5LDEuMzU5LDAsMCwxLS41NjUtMS4xODIsMi45MywyLjkzLDAsMCwwLC40NDMsMS43OTNBMi45MjcsMi45MjcsMCwwLDAsMTEuNjY0LDE5LjA3WlwiIHN0eWxlPVwiZmlsbDojMjMxZjIwXCIvPjwvZz48ZyBzdHlsZT1cIm9wYWNpdHk6MC41MzttaXgtYmxlbmQtbW9kZTptdWx0aXBseVwiPjxwYXRoIGQ9XCJNMjMuMTU3LDE4LjRjLjEzMi42NjcuOTcxLjg3Ny45NzEuODc3YTEuMzU5LDEuMzU5LDAsMCwwLC41NjYtMS4xODIsMi45MywyLjkzLDAsMCwxLS40NDMsMS43OTNBMi45MjcsMi45MjcsMCwwLDEsMjMuMTU3LDE4LjRaXCIgc3R5bGU9XCJmaWxsOiMyMzFmMjBcIi8+PHBhdGggZD1cIk0yMS40OTUsMTguNzM3Yy4xMzIuNjY3Ljk3Mi44NzcuOTcyLjg3N2ExLjM2LDEuMzYsMCwwLDAsLjU2NS0xLjE4MiwyLjkzMSwyLjkzMSwwLDAsMS0uNDQ0LDEuNzkzQTIuOTI2LDIuOTI2LDAsMCwxLDIxLjQ5NSwxOC43MzdaXCIgc3R5bGU9XCJmaWxsOiMyMzFmMjBcIi8+PHBhdGggZD1cIk0yMi42NjksMjAuMjQ5Yy4xMzIuNjY3Ljk3MS44NzcuOTcxLjg3N2ExLjM2LDEuMzYsMCwwLDAsLjU2Ni0xLjE4MiwyLjkyOSwyLjkyOSwwLDAsMS0uNDQzLDEuNzkzQTIuOTI2LDIuOTI2LDAsMCwxLDIyLjY2OSwyMC4yNDlaXCIgc3R5bGU9XCJmaWxsOiMyMzFmMjBcIi8+PHBhdGggZD1cIk0yMS4wMDgsMjAuNTgzYy4xMzIuNjY3Ljk3MS44NzcuOTcxLjg3N2ExLjM1OSwxLjM1OSwwLDAsMCwuNTY1LTEuMTgyLDIuOTI4LDIuOTI4LDAsMCwxLS40NDMsMS43OTNBMi45MjcsMi45MjcsMCwwLDEsMjEuMDA4LDIwLjU4M1pcIiBzdHlsZT1cImZpbGw6IzIzMWYyMFwiLz48cGF0aCBkPVwiTTIyLjE3NSwyMi4xMjFjLjEzMi42NjcuOTcyLjg3Ny45NzIuODc3YTEuMzYsMS4zNiwwLDAsMCwuNTY1LTEuMTgyLDIuOTI4LDIuOTI4LDAsMCwxLS40NDQsMS43OTNBMi45MjcsMi45MjcsMCwwLDEsMjIuMTc1LDIyLjEyMVpcIiBzdHlsZT1cImZpbGw6IzIzMWYyMFwiLz48cGF0aCBkPVwiTTE5LjgzOCwxOS4wN2MuMTMyLjY2Ny45NzIuODc3Ljk3Mi44NzdhMS4zNTksMS4zNTksMCwwLDAsLjU2NS0xLjE4MiwyLjkyOCwyLjkyOCwwLDAsMS0uNDQzLDEuNzkzQTIuOTI4LDIuOTI4LDAsMCwxLDE5LjgzOCwxOS4wN1pcIiBzdHlsZT1cImZpbGw6IzIzMWYyMFwiLz48L2c+PGNpcmNsZSBjeD1cIjExLjMzOVwiIGN5PVwiMTQuMDc0XCIgcj1cIjMuODE2XCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PGNpcmNsZSBjeD1cIjEyLjEzXCIgY3k9XCIxNC40NDZcIiByPVwiMS44NjFcIiBzdHlsZT1cImZpbGw6I2JkYmZjMVwiLz48Y2lyY2xlIGN4PVwiMTIuMTNcIiBjeT1cIjE0LjQ0NlwiIHI9XCIxLjE5MVwiIHN0eWxlPVwiZmlsbDojMjMxZjIwXCIvPjxjaXJjbGUgY3g9XCIxMS42MDNcIiBjeT1cIjE0LjAyN1wiIHI9XCIwLjM1N1wiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxjaXJjbGUgY3g9XCIyMC4xMTJcIiBjeT1cIjE0LjA3NFwiIHI9XCIzLjgxNlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxjaXJjbGUgY3g9XCIyMC45MDNcIiBjeT1cIjE0LjQ0NlwiIHI9XCIxLjg2MVwiIHN0eWxlPVwiZmlsbDojYmRiZmMxXCIvPjxjaXJjbGUgY3g9XCIyMC45MDNcIiBjeT1cIjE0LjQ0NlwiIHI9XCIxLjE5MVwiIHN0eWxlPVwiZmlsbDojMjMxZjIwXCIvPjxjaXJjbGUgY3g9XCIyMC4zNzVcIiBjeT1cIjE0LjAyN1wiIHI9XCIwLjM1N1wiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwYXRoIGQ9XCJNMTUuNzA2LDIxLjUyYzAtMS40MTIsMi4xNTctMy40MTMsMi4xNTctNC44ODdhMi4xNTcsMi4xNTcsMCwwLDAtNC4zMTMsMEMxMy41NSwxOC4xMDcsMTUuNzA2LDIwLjEwOCwxNS43MDYsMjEuNTJaXCIgc3R5bGU9XCJmaWxsOnVybCgjZilcIi8+PC9nPmAsXG5cdFwiUHJvdG9jb2wgQnVmZmVyc1wiOiBgPHBvbHlnb24gcG9pbnRzPVwiMTUuOTk2IDMuMjIgMjYuOTY2IDkuNyAyNi45NTQgMjIuMyAxNiAyOC43OCA1LjAzOCAyMi40MDggNS4wMzQgOS42MjggMTUuOTk2IDMuMjJcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cGF0aCBkPVwiTTE2LDIsMy45ODcsOS4wMmwwLDE0TDE2LDMwbDEyLTcuMS4wMTMtMTMuOFpNMjYuOTU0LDIyLjMsMTYsMjguNzgsNS4wMzgsMjIuNDA4bDAtMTIuNzhMMTYsMy4yMiwyNi45NjYsOS43WlwiIHN0eWxlPVwiZmlsbDojMTcxYzFlXCIvPjxwb2x5Z29uIHBvaW50cz1cIjI1LjU2OSAxMy42NTQgMTkuOTQ2IDE2Ljk2NCAxOS45NDMgMjQuODkgMjUuNTkgMjEuNTY1IDI1LjU2OSAxMy42NTRcIiBzdHlsZT1cImZpbGw6IzFlYThmZlwiLz48cG9seWdvbiBwb2ludHM9XCIyMy4yODIgMTIuMzAzIDI1LjU2OSAxMy42NTQgMTkuOTQ2IDE2Ljk2NCAxOS45NDMgMjQuODkgMTcuMzI3IDIzLjM3IDE3LjM0OCAxNS44NzUgMjMuMjgyIDEyLjMwM1wiIHN0eWxlPVwiZmlsbDojNTBiZmZmXCIvPjxwb2x5Z29uIHBvaW50cz1cIjIyLjUxMiAxMC4zNSAyMi41MTQgMTEuODE2IDE2LjQxMSAxNS40OTggMTYuNDE4IDIzLjU5NyAxNC45OTggMjQuNDMxIDE0Ljk5NCAxNC44NTYgMjIuNTEyIDEwLjM1XCIgc3R5bGU9XCJmaWxsOiM5N2ZmMjdcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjAuMDA4IDguODcxIDIyLjUxMiAxMC4zNSAxNC45OTQgMTQuODU2IDE0Ljk5OCAyNC40MzEgMTIuMTk0IDIyLjgwMSAxMi4xODkgMTMuNDEzIDIwLjAwOCA4Ljg3MVwiIHN0eWxlPVwiZmlsbDojYzJmZjcyXCIvPjxwb2x5Z29uIHBvaW50cz1cIjE5LjIyNiA2LjYwNiAxOS4yMjYgOC4zNzQgMTEuMjEgMTMuMDc0IDExLjIxIDIzLjE3MiA5LjgwOCAyMy45ODggOS44MzUgMTIuMjc3IDE5LjIyNiA2LjYwNlwiIHN0eWxlPVwiZmlsbDojZmYyNzRiXCIvPjxwb2x5Z29uIHBvaW50cz1cIjE2LjE2IDQuNzg0IDYuNTMgMTAuMzk0IDYuNTI5IDIyLjA3MSA5LjgyNyAyMy45ODggOS44MzUgMTIuMjc3IDE5LjIzNSA2LjYwNiAxNi4xNiA0Ljc4NFwiIHN0eWxlPVwiZmlsbDojZmY1Yzc3XCIvPmAsXG5cdFwiUHVnXCI6IGA8cGF0aCBkPVwiTTI1LjUxNCwxMi44NDZjLS4wNTItLjkzOC4yMDktMS44MjUtLjIwOS0yLjU1NC0xLjA0My0xLjgyNS0zLjY0OS0yLjg2Ny04Ljg2My0yLjg2N1Y3LjM3Mmgwdi4wNTJjLTUuNzM1LDAtOC4xODUsMS4wNDMtOS4yMjcsMi44NjdhNS42LDUuNiwwLDAsMC0uNDY5LDIuNTU0LDkuNTQ2LDkuNTQ2LDAsMCwwLS4yNjEsMi40NWMuMTU2LDEuMTQ3LjI2MSwyLjI5NC40MTcsMy4zMzYuMTU2Ljg4NiwxLjQwOCwxLjU2NCwxLjU2NCwyLjQuMzEzLDIuMjQyLDIuMjk0LDMuMjg0LDguMDI4LDMuMjg0di4yNjFoLS4xdi0uMjYxYzUuMjEzLDAsNy40LTEuMDQzLDcuNzE2LTMuMjg0LjEtLjgzNCwxLjE0Ny0xLjUxMiwxLjMtMi40LjE1Ni0xLjA0My4yMDktMi4xOS4zNjUtMy4zMzZBMTEuNzc0LDExLjc3NCwwLDAsMCwyNS41MTQsMTIuODQ2WlwiIHN0eWxlPVwiZmlsbDojZWZjY2EzXCIvPjxwYXRoIGQ9XCJNMTYuMTgyLDEzLjY4YTMuMjQxLDMuMjQxLDAsMCwxLDIuMTksMS4xNDdjLjczLjYyNiwxLjkyOSwxLjA0MywyLjQ1LDEuNjE2YTQuNzE1LDQuNzE1LDAsMCwxLDEuNDA4LDEuOTgxLDguOSw4LjksMCwwLDEsLjMxMywyLjI0MmMwLC4yNjEuMTU2LjIwOS41NzMsMGE5LjAyLDkuMDIsMCwwLDAsMi4xOS0xLjg3N2MtLjE1Ni44ODYtMS4yNTEsMS42NjgtMS4zNTUsMi41LS4zMTMsMi4yNDItMi41LDMuMzM2LTcuODcyLDMuMzM2aC4zMTNcIiBzdHlsZT1cImZpbGw6I2NjYWM4ZFwiLz48cGF0aCBkPVwiTTE5LjUxOSwxMS45MDhjLjIwOS42NzguODg2LDMuMDI0LS40NjksMi4yNDJhMi41NTcsMi41NTcsMCwwLDEsLjkzOCwxLjU2NCwxLjgzMSwxLjgzMSwwLDAsMCwxLjMsMS40MDgsMy40NzksMy40NzksMCwwLDAsMi41NTQtLjYyNiwyLjk1NiwyLjk1NiwwLDAsMCwuNjc4LTMuMjg0LDIuNDMsMi40MywwLDAsMC0yLjEzNy0xLjYxNkMyMS40LDExLjMzNCwxOS4zMSwxMS4xMjYsMTkuNTE5LDExLjkwOFpcIiBzdHlsZT1cImZpbGw6I2NjYWM4ZFwiLz48Y2lyY2xlIGN4PVwiMjIuMTc4XCIgY3k9XCIxNC40MVwiIHI9XCIxLjkyOVwiLz48Y2lyY2xlIGN4PVwiMjEuNjU2XCIgY3k9XCIxMy41MjRcIiByPVwiMC41MjFcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cGF0aCBkPVwiTTE5LjIwNiwxNC4zMDZhMTcuNjgsMTcuNjgsMCwwLDEsMi43MTEsMi4zNDZjLjkzOCwxLjIuOTM4LDEuNDA4LjkzOCwxLjQwOGwtLjY3OC4zMTNhNy4xLDcuMSwwLDAsMC0yLjEzNy0yLjVjLTEuMi0uNjc4LTEuMzU1LTEuMjUxLTEuMzU1LTEuMjUxWlwiIHN0eWxlPVwiZmlsbDojZWZjY2EzXCIvPjxwYXRoIGQ9XCJNMTYuMjM1LDEzLjY4YTMuNjA1LDMuNjA1LDAsMCwwLTIuMzQ2LDEuMTQ3Yy0uNzMuNjI2LTIuMDMzLDEuMDQzLTIuNSwxLjYxNmE0LjgwNiw0LjgwNiwwLDAsMC0xLjQ2LDEuOTgxLDguOSw4LjksMCwwLDAtLjMxMywyLjI0MmMwLC4yNjEuMDUyLjMxMy0uNjI2LDBBNy45NzIsNy45NzIsMCwwLDEsNi44LDE4Ljc4OWMuMTU2Ljg4NiwxLjI1MSwxLjY2OCwxLjM1NSwyLjUuMzEzLDIuMTksMi41LDMuMjg0LDcuODcyLDMuMjg0aC4zNjVcIiBzdHlsZT1cImZpbGw6I2NjYWM4ZFwiLz48cGF0aCBkPVwiTTIxLjIzOSwxNy4yNzdhNi41NTIsNi41NTIsMCwwLDAtNS4xMDktMi42MDdoMGE2LjYzOCw2LjYzOCwwLDAsMC01LjEwOSwyLjYwNywzLjg2MSwzLjg2MSwwLDAsMC0xLjA0MywzLjE4YzAsNC42NCwxLjYxNiwzLjIzMiwyLjcxMSwzLjgwNmE3LjQ2Niw3LjQ2NiwwLDAsMCwzLjM4OS4zMTNoMGE3LjQsNy40LDAsMCwwLDMuMzg5LS4zMTNjMS4wOTUtLjU3MywyLjcxMS44MzQsMi43MTEtMy44MDZBMy4zODYsMy4zODYsMCwwLDAsMjEuMjM5LDE3LjI3N1pcIiBzdHlsZT1cImZpbGw6IzU2MzMyYlwiLz48cGF0aCBkPVwiTTE2LjAyNiwxNS45NzRhOS41NDksOS41NDksMCwwLDEtLjQ2OSwyLjU1NGwuNTczLS4xNTZaXCIgc3R5bGU9XCJmaWxsOiM0NDI4MjNcIi8+PHBhdGggZD1cIk0xNi4xODIsMTUuOTc0YTkuNTQ5LDkuNTQ5LDAsMCwwLC40NjksMi41NTRsLS41NzMtLjE1NlpcIiBzdHlsZT1cImZpbGw6IzQ0MjgyM1wiLz48cGF0aCBkPVwiTTE0LjM1OCwxNS40NTNjLS4yMDktLjUyMS41NzMtMS4zNTUsMS44MjUtMS4zNTVzMi4wMzMuODM0LDEuODI1LDEuMzU1LTEuMDQzLjY3OC0xLjgyNS42NzhDMTUuMzQ4LDE2LjEzLDE0LjU2NiwxNS45NzQsMTQuMzU4LDE1LjQ1M1pcIiBzdHlsZT1cImZpbGw6IzU2MzMyYlwiLz48cGF0aCBkPVwiTTE2LjE4MiwxNS45NzRjMC0uMS43My0uMSwxLjE0Ny0uMzY1LDAsMC0uODM0LjI2MS0uOTkxLjE1NmEuNjU2LjY1NiwwLDAsMS0uMjA5LS4zNjUuNjU2LjY1NiwwLDAsMS0uMjA5LjM2NWMtLjE1Ni4xLTEuMDk1LS4xNTYtMS4wOTUtLjE1NmE4LjA1OCw4LjA1OCwwLDAsMSwxLjIuMzY1di40MTdhMTAuNDkyLDEwLjQ5MiwwLDAsMCwuMSwyLjAzM2MuMTU2LjIwOS4xLTEuNDYuMS0yLjAzM0ExLjMsMS4zLDAsMCwxLDE2LjE4MiwxNS45NzRaXCIvPjxwYXRoIGQ9XCJNMTYuMTgyLDE4Ljk0NWEzLjM1LDMuMzUsMCwwLDEsMS42MTYuNjc4LDMuMTIxLDMuMTIxLDAsMCwwLTEuNjE2LTEuMDk1LDMuMDM2LDMuMDM2LDAsMCwwLTEuODI1LDEuMkEzLjMxMiwzLjMxMiwwLDAsMSwxNi4xODIsMTguOTQ1WlwiIHN0eWxlPVwiZmlsbDojN2Y0YTQxXCIvPjxwYXRoIGQ9XCJNMTYuMDc4LDIyLjhhOC45LDguOSwwLDAsMS0yLjQtLjQ2OWMtLjE1Ni0uMDUyLS4zMTMuMDUyLS40NjksMGE2LjE3Miw2LjE3MiwwLDAsMS0zLjE4LTIuMTM3di4yMDljMCw0LjY0LDEuNjE2LDMuMjMyLDIuNzExLDMuODA2YTcuNDY2LDcuNDY2LDAsMCwwLDMuMzg5LjMxM2gwYTcuNCw3LjQsMCwwLDAsMy4zODktLjMxM2MxLjA5NS0uNTczLDIuNzExLjgzNCwyLjcxMS0zLjgwNnYtLjQ2OUE1LjkxNCw1LjkxNCwwLDAsMSwxOSwyMi4yODJjLS4xNTYuMDUyLS40MTctLjA1Mi0uNTczLS4wNTJBNy4wNDUsNy4wNDUsMCwwLDEsMTYuMDc4LDIyLjhaXCIgc3R5bGU9XCJmaWxsOiM0NDI4MjNcIi8+PHBhdGggZD1cIk0xMy45NDEsMjAuM3MtLjU3MywxLjY2OC0uMTU2LDIuNGwtLjUyMS0uMjA5QTE1LjQzMywxNS40MzMsMCwwLDEsMTMuOTQxLDIwLjNaXCIgc3R5bGU9XCJmaWxsOiM0NDI4MjNcIi8+PHBhdGggZD1cIk0xOC4zMiwyMC4zcy41NzMsMS42NjguMTU2LDIuNEwxOSwyMi40OTFBMTAuNjI5LDEwLjYyOSwwLDAsMCwxOC4zMiwyMC4zWlwiIHN0eWxlPVwiZmlsbDojNDQyODIzXCIvPjxwYXRoIGQ9XCJNMTIuNTg1LDExLjkwOGMtLjIwOS42NzgtLjg4NiwzLjAyNC40NjksMi4yNDJhMi41NTcsMi41NTcsMCwwLDAtLjkzOCwxLjU2NCwxLjgzMSwxLjgzMSwwLDAsMS0xLjMsMS40MDhBMy40NzksMy40NzksMCwwLDEsOC4yNTgsMTYuNWEyLjk1NiwyLjk1NiwwLDAsMS0uNjc4LTMuMjg0LDIuNDMsMi40MywwLDAsMSwyLjEzNy0xLjYxNkMxMC43MDksMTEuMzM0LDEyLjc5NCwxMS4xMjYsMTIuNTg1LDExLjkwOFpcIiBzdHlsZT1cImZpbGw6I2NjYWM4ZFwiLz48cGF0aCBkPVwiTTE2LjEzLDE4LjUyOGEzLjM5MywzLjM5MywwLDAsMSwyLjQ1LDIuODY3di0uMWEzLjA1MSwzLjA1MSwwLDAsMC0yLjQ1LTIuOTE5LDMsMywwLDAsMC0yLjQ1LDIuOTE5di4xQTMuNDYzLDMuNDYzLDAsMCwxLDE2LjEzLDE4LjUyOFpcIi8+PGVsbGlwc2UgY3g9XCIxNi41NDZcIiBjeT1cIjE1LjEzOFwiIHJ4PVwiMC4xNTZcIiByeT1cIjAuMzEzXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zLjI1NiA0LjYxMSkgcm90YXRlKC0xNC40NilcIiBzdHlsZT1cImZpbGw6IzMzMTcxMlwiLz48ZWxsaXBzZSBjeD1cIjE1LjYwOVwiIGN5PVwiMTUuMTQ2XCIgcng9XCIwLjMxM1wiIHJ5PVwiMC4xNTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMuNDgyIDI1LjU2Nykgcm90YXRlKC03Mi43NjUpXCIgc3R5bGU9XCJmaWxsOiMzMzE3MTJcIi8+PGNpcmNsZSBjeD1cIjEwLjAzMVwiIGN5PVwiMTQuNDFcIiByPVwiMS45MjlcIi8+PGNpcmNsZSBjeD1cIjEwLjU1MlwiIGN5PVwiMTMuNTI0XCIgcj1cIjAuNTIxXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHBhdGggZD1cIk0xNi43LDE0LjQxcy0uNTIxLjIwOS0uNjI2LjI2MWEyLjQ5MiwyLjQ5MiwwLDAsMS0uNjI2LS4yNjFIMTYuN1pcIiBzdHlsZT1cImZpbGw6IzdmNGE0MVwiLz48cGF0aCBkPVwiTTEyLjksMTQuMzA2YTE3LjY4LDE3LjY4LDAsMCwwLTIuNzExLDIuMzQ2Yy0uOTM4LDEuMi0uOTM4LDEuNDA4LS45MzgsMS40MDhsLjY3OC4zMTNhNy4xLDcuMSwwLDAsMSwyLjEzNy0yLjVjMS4yLS42NzgsMS4zNTUtMS4yNTEsMS4zNTUtMS4yNTFaXCIgc3R5bGU9XCJmaWxsOiNlZmNjYTNcIi8+PHBhdGggZD1cIk05LjA5MiwxMC44MTNhNC41MTksNC41MTksMCwwLDEtMS45MjksMi4yOTRBMi4xOSwyLjE5LDAsMCwwLDkuMDkyLDEwLjgxM1pcIiBzdHlsZT1cImZpbGw6I2NjYWM4ZFwiLz48cGF0aCBkPVwiTTIyLjkwOCwxMC44MTNhNC41MTksNC41MTksMCwwLDAsMS45MjksMi4yOTRBMi4xOSwyLjE5LDAsMCwxLDIyLjkwOCwxMC44MTNaXCIgc3R5bGU9XCJmaWxsOiNjY2FjOGRcIi8+PHBhdGggZD1cIk0xOS4zMSwxMy44MzZhNS4xNiw1LjE2LDAsMCwwLTMuMDc2LTEuNDA4aC4xNTZhMy44NTIsMy44NTIsMCwwLDAtMy4wMjQsMS40MDgsNC44MzIsNC44MzIsMCwwLDEsMy4wMjQtMS4wNDNoMEE1Ljc4NSw1Ljc4NSwwLDAsMSwxOS4zMSwxMy44MzZaXCIgc3R5bGU9XCJmaWxsOiNjY2FjOGRcIi8+PHBhdGggZD1cIk0xNy43NDYsMTAuOTY5YTIuNDU1LDIuNDU1LDAsMCwwLTEuNTY0LS45MzhoLjE1NmExLjc4NiwxLjc4NiwwLDAsMC0xLjUxMi45MzgsMi4xODcsMi4xODcsMCwwLDEsMS41MTItLjY3OGgwQTEuODk0LDEuODk0LDAsMCwxLDE3Ljc0NiwxMC45NjlaXCIgc3R5bGU9XCJmaWxsOiNjY2FjOGRcIi8+PHBhdGggZD1cIk0xMC4wMzEsMTcuNzQ2YTIuNTQ1LDIuNTQ1LDAsMCwxLTEuNzczLjIwOUg4LjA1YTMuNjgsMy42OCwwLDAsMS0uODg2LTEuNTEyQTIuMjcsMi4yNywwLDAsMCwxMC4wMzEsMTcuNzQ2WlwiIHN0eWxlPVwiZmlsbDojY2NhYzhkXCIvPjxwYXRoIGQ9XCJNMjIuMTI2LDE3Ljc0NmEyLjU0NSwyLjU0NSwwLDAsMCwxLjc3My4yMDlIMjMuNjlhMS43NDksMS43NDksMCwwLDAsMS4wOTUtMS41MTJBMi4wMiwyLjAyLDAsMCwxLDIyLjEyNiwxNy43NDZaXCIgc3R5bGU9XCJmaWxsOiNjY2FjOGRcIi8+PHBhdGggZD1cIk0xMS4yMywxMC43MDlhNC43NSw0Ljc1LDAsMCwxLDIuMjQyLjFjLjkzOC4zMTMuMjA5LDEuNTY0LjM2NSwxLjYxNmEyLjg2NSwyLjg2NSwwLDAsMSwyLjI0Mi0uNzNjMS43NzMuMSwxLjk4MS44ODYsMi4yNDIuNzMuMjYxLS4xLS4yNjEtMi4xOSwyLjQ1LTEuNzIsMCwwLTIuNzYzLS43My0yLjY1OSwxLjI1MWEzLjY3NSwzLjY3NSwwLDAsMC0zLjg1OC0uMVMxNC44MjcsOS45MjcsMTEuMjMsMTAuNzA5WlwiIHN0eWxlPVwiZmlsbDojY2NhYzhkXCIvPjxwYXRoIGQ9XCJNMTAuNSw4cy0yLjQsMi45NzItMi43MTEsNC4xMThjLS4zNjUsMS4xNDctLjYyNiw1Ljk0My0uOTM4LDYuNjIxTDUuNzU2LDE0LjA0NWwyLjAzMy00LjlaXCIgc3R5bGU9XCJmaWxsOiNjY2FjOGRcIi8+PHBhdGggZD1cIk0yMS42NTYsOHMyLjQsMi45NzIsMi43MTEsNC4xMThjLjM2NSwxLjE0Ny42MjYsNS45NDMuOTM4LDYuNjIxTDI2LjQsMTQuMDQ1bC0yLjAzMy00LjlaXCIgc3R5bGU9XCJmaWxsOiNjY2FjOGRcIi8+PHBhdGggZD1cIk0yMS41LDhhMTEuNjE3LDExLjYxNywwLDAsMSwzLjI4NCw0LjU4OGMuNzMsMi40NS40MTcsNS40NzQuOTkxLDUuODM5LjgzNC41MjEsMS43Mi0yLjYwNywyLjAzMy0yLjkxOS40NjktLjUyMSwyLjA4NS0xLjg3NywyLjE5LTIuMTM3cy0zLjIzMi0zLjkxLTQuNzQ0LTQuNjRDMjMuNTg1LDcuODkzLDIxLjQsNy43ODksMjEuNSw4WlwiIHN0eWxlPVwiZmlsbDojNTYzMzJiXCIvPjxwYXRoIGQ9XCJNMjMuNjksOS4zYTE1LjM3OSwxNS4zNzksMCwwLDEsMi45NzIsOC42NTRsMS4yLTIuNDVBMTYuNTY0LDE2LjU2NCwwLDAsMCwyMy42OSw5LjNaXCIgc3R5bGU9XCJmaWxsOiM0NDI4MjNcIi8+PHBhdGggZD1cIk0xMC41LDhhMTEuNjE3LDExLjYxNywwLDAsMC0zLjI4NCw0LjU4OGMtLjczLDIuNDUtLjQxNyw1LjQ3NC0uOTkxLDUuODM5LS44MzQuNTIxLTEuNzItMi42MDctMi4wMzMtMi45MTktLjQ2OS0uNTIxLTIuMDg1LTEuODc3LTIuMTktMi4xMzdzMy4yMzItMy45MSw0Ljc0NC00LjY0QzguNDE1LDcuODkzLDEwLjYsNy43ODksMTAuNSw4WlwiIHN0eWxlPVwiZmlsbDojNTYzMzJiXCIvPjxwYXRoIGQ9XCJNOC4zMSw5LjNhMTUuMzc5LDE1LjM3OSwwLDAsMC0yLjk3Miw4LjY1NEw0LjE0LDE1LjVBMTYuNTY0LDE2LjU2NCwwLDAsMSw4LjMxLDkuM1pcIiBzdHlsZT1cImZpbGw6IzQ0MjgyM1wiLz48cGF0aCBkPVwiTTYuNjQyLDE4LjAwN2E0LjExOCw0LjExOCwwLDAsMCwuNTczLDEuNTY0Yy4zNjUuMzY1LjEtLjMxMy4xLS4zMTNzLS4zNjUtLjIwOS0uMzEzLTEuNzJTNi42NDIsMTguMDA3LDYuNjQyLDE4LjAwN1pcIiBzdHlsZT1cImZpbGw6I2NjYWM4ZFwiLz48cGF0aCBkPVwiTTI1LjQxLDE4LjAwN2E0LjExOCw0LjExOCwwLDAsMS0uNTczLDEuNTY0Yy0uMzY1LjM2NS0uMS0uMzEzLS4xLS4zMTNzLjM2NS0uMjA5LjMxMy0xLjcyQzI0Ljk5MywxNi4wNzgsMjUuNDEsMTguMDA3LDI1LjQxLDE4LjAwN1pcIiBzdHlsZT1cImZpbGw6I2NjYWM4ZFwiLz48Y2lyY2xlIGN4PVwiMTMuODg5XCIgY3k9XCIxNy4xMjFcIiByPVwiMC4xNTZcIiBzdHlsZT1cImZpbGw6IzQ0MjgyM1wiLz48Y2lyY2xlIGN4PVwiMTIuODQ2XCIgY3k9XCIxOC4yMTZcIiByPVwiMC4xNTZcIiBzdHlsZT1cImZpbGw6IzQ0MjgyM1wiLz48Y2lyY2xlIGN4PVwiMTIuNTMzXCIgY3k9XCIxNy4xMjFcIiByPVwiMC4xNTZcIiBzdHlsZT1cImZpbGw6IzQ0MjgyM1wiLz48Y2lyY2xlIGN4PVwiMTguMTY0XCIgY3k9XCIxNy4xMjFcIiByPVwiMC4xNTZcIiBzdHlsZT1cImZpbGw6IzQ0MjgyM1wiLz48Y2lyY2xlIGN4PVwiMTkuMTU0XCIgY3k9XCIxOC4yMTZcIiByPVwiMC4xNTZcIiBzdHlsZT1cImZpbGw6IzQ0MjgyM1wiLz48Y2lyY2xlIGN4PVwiMTkuNDY3XCIgY3k9XCIxNy4xMjFcIiByPVwiMC4xNTZcIiBzdHlsZT1cImZpbGw6IzQ0MjgyM1wiLz5gLFxuXHRcIlB1cHBldFwiOiBgPHBhdGggZD1cIk0yNS4wODksMTEuODIySDE4LjdMMTUuMjY3LDguMzg4VjJINi45MTF2OC4zNTdIMTMuM2wzLjQyMiwzLjQyMmgwdjQuNDMxaDBsLTMuNDM0LDMuNDM0SDYuOTExVjMwaDguMzU3VjIzLjYxMmgwTDE4LjcsMjAuMTc4aDYuMzg4Wk05LjcsNC43ODZoMi43ODZWNy41NzFIOS43Wk0xMi40ODIsMjcuMkg5LjdWMjQuNDE3aDIuNzg2WlwiIHN0eWxlPVwiZmlsbDojZmZhZTFhXCIvPmAsXG5cdFwiUHVyZVNjcmlwdFwiOiBgPHJlY3Qgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgc3R5bGU9XCJmaWxsOiMxNjE3MWJcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjEuODkyIDIyLjEzNiAxOS43MDYgMjAuMDk1IDEwLjEwNyAyMC4wOTUgMTIuMjkzIDIyLjEzNiAyMS44OTIgMjIuMTM2XCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTIuMjkzIDE0Ljk4IDEwLjEwNyAxNy4wMjEgMTkuNzA2IDE3LjAyMSAyMS44OTIgMTQuOTggMTIuMjkzIDE0Ljk4XCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjEuODkxIDExLjkwNiAxOS43MDYgOS44NjQgMTAuMTA3IDkuODY0IDEyLjI5MyAxMS45MDYgMjEuODkxIDExLjkwNlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwYXRoIGQ9XCJNOS4xLDEzLjkyNiw3LjY1MiwxMi40ODIsMi4zLDE3LjgzNmExLjAyMywxLjAyMywwLDAsMCwwLDEuNDQzbDUuMzU0LDUuMzU0TDkuMSwyMy4xOSw0LjQ2NCwxOC41NThaXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHBhdGggZD1cIk0yOS43LDEyLjcyMSwyNC4zNDgsNy4zNjYsMjIuOSw4LjgxbDQuNjMsNC42MzJMMjIuOSwxOC4wNzVsMS40NDMsMS40NDNMMjkuNywxNC4xNjVhMS4wMjEsMS4wMjEsMCwwLDAsMC0xLjQ0NFpcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz5gLFxuXHRcIlB5dGhvblwiOiBgPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiLTEzMy4yNjhcIiB5MT1cIi0yMDIuOTFcIiB4Mj1cIi0xMzMuMTk4XCIgeTI9XCItMjAyLjg0XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJ0cmFuc2xhdGUoMjUyNDMuMDYxIDM4NTE5LjE3KSBzY2FsZSgxODkuMzggMTg5LjgxKVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzM4N2ViOFwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiMzNjY5OTRcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJiXCIgeDE9XCItMTMzLjU3NVwiIHkxPVwiLTIwMy4yMDNcIiB4Mj1cIi0xMzMuNDk1XCIgeTI9XCItMjAzLjEzM1wiIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDI1MzA5LjA2MSAzODU4My40Mikgc2NhbGUoMTg5LjM4IDE4OS44MSlcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNmZmUwNTJcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZmZjMzMxXCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfcHl0aG9uPC90aXRsZT48cGF0aCBkPVwiTTE1Ljg4NSwyLjFjLTcuMSwwLTYuNjUxLDMuMDctNi42NTEsMy4wN1Y4LjM2aDYuNzUydjFINi41NDVTMiw4LjgsMiwxNi4wMDVzNC4wMTMsNi45MTIsNC4wMTMsNi45MTJIOC4zM1YxOS41NTZzLS4xMy00LjAxMywzLjktNC4wMTNoNi43NjJzMy43NzIuMDYsMy43NzItMy42NTJWNS44cy41NzItMy43MTItNi44NDItMy43MTJoMFpNMTIuMTUzLDQuMjM3YTEuMjE0LDEuMjE0LDAsMSwxLTEuMTgzLDEuMjQ0di0uMDJhMS4yMTQsMS4yMTQsMCwwLDEsMS4yMTQtMS4yMTRoMFpcIiBzdHlsZT1cImZpbGw6dXJsKCNhKVwiLz48cGF0aCBkPVwiTTE2LjA4NSwyOS45MWM3LjEsMCw2LjY1MS0zLjA4LDYuNjUxLTMuMDhWMjMuNjVIMTUuOTg1di0xaDkuNDdTMzAsMjMuMTU4LDMwLDE1Ljk5NXMtNC4wMTMtNi45MTItNC4wMTMtNi45MTJIMjMuNjRWMTIuNHMuMTMsNC4wMTMtMy45LDQuMDEzSDEyLjk3NVM5LjIsMTYuMzU2LDkuMiwyMC4wNjhWMjYuMnMtLjU3MiwzLjcxMiw2Ljg0MiwzLjcxMmguMDRabTMuNzMyLTIuMTQ3QTEuMjE0LDEuMjE0LDAsMSwxLDIxLDI2LjUxOXYuMDNhMS4yMTQsMS4yMTQsMCwwLDEtMS4yMTQsMS4yMTRoLjAzWlwiIHN0eWxlPVwiZmlsbDp1cmwoI2IpXCIvPmAsXG5cdFwiUSAoa2RiKyBkYXRhYmFzZSlcIjogYDxwYXRoIGQ9XCJNMjAuMDkyLDI5VjE5LjY4MkE2Ljk1Myw2Ljk1MywwLDAsMSwxNy43LDIxLjY0NWE2Ljc0Myw2Ljc0MywwLDAsMS0zLjA4OS43MjRBNi41NTcsNi41NTcsMCwwLDEsOS40MTMsMjAsMTEuMDgxLDExLjA4MSwwLDAsMSw3LDEyLjQ3NSwxMC4wMzMsMTAuMDMzLDAsMCwxLDkuMjY0LDUuNSw3LjI1MSw3LjI1MSwwLDAsMSwxNC44NzQsM2E2LjI2Niw2LjI2NiwwLDAsMSwzLjIuNzg1LDcuMzI5LDcuMzI5LDAsMCwxLDIuNCwyLjM3M1YzLjQxOUgyNVYyOVptLjE1Ny0xNi41NDJhNi40OTIsNi40OTIsMCwwLDAtMS4xNi00LjIzMiwzLjYzNCwzLjYzNCwwLDAsMC0yLjkwNS0xLjM4NywzLjc0MiwzLjc0MiwwLDAsMC0yLjk3NSwxLjQxMyw2Ljg4MSw2Ljg4MSwwLDAsMC0xLjIsNC40ODUsNi43NjcsNi43NjcsMCwwLDAsMS4xNTIsNC40MDZBMy41OTMsMy41OTMsMCwwLDAsMTYuMDA5LDE4LjVhMy43ODYsMy43ODYsMCwwLDAsMi45NjYtMS41MThBNi44ODksNi44ODksMCwwLDAsMjAuMjQ5LDEyLjQ1OFpcIiBzdHlsZT1cImZpbGw6IzFlNzhiM1wiLz5gLFxuXHRcIlEjXCI6IGA8cGF0aCBkPVwiTTE5LjQ1MSw2LjIxOGgyLjYzOFY4Ljg1NmgyLjYzN1Y2LjIxOGgyLjYzN1Y4Ljg1NkgzMFYxMS41SDI3LjM2NHYyLjYzNkgzMFYxNi43N0gyNy4zNjR2Mi42MzdIMjQuNzI3VjE2Ljc2OUgyMi4wOTFsMCwyLjYzN0gxOS40NTNWMTYuNzY4SDE2LjgxNVYxNC4xMjdoMi42MzhWMTEuNUgxNi44MTVWOC44NTNoMi42MzlabTIuNjM4LDcuOTE0aDIuNjM3VjExLjVIMjIuMDg5WlwiIHN0eWxlPVwiZmlsbDojMzNjXCIvPjxwYXRoIGQ9XCJNMTQuMDE4LDIxLjUyNGExMS40MzYsMTEuNDM2LDAsMCwwLDEuNTcyLTYuMTkyLDEwLjg3NywxMC44NzcsMCwwLDAtMS44NTgtNi42QTUuODg5LDUuODg5LDAsMCwwLDguODA4LDYuMTUzYTUuOTIxLDUuOTIxLDAsMCwwLTQuOTQsMi41ODFBMTAuODQyLDEwLjg0MiwwLDAsMCwyLDE1LjMzM2ExMC44NTMsMTAuODUzLDAsMCwwLDEuODY4LDYuNTkyLDUuOTE4LDUuOTE4LDAsMCwwLDQuOTQxLDIuNTg4LDUuNzQzLDUuNzQzLDAsMCwwLDMuMjYtLjk4N2wyLjMwNiwyLjMyMSwxLjU3Ny0yLjRabS01LjE3LTEuMjE4LDEuMTE3LDEuMTIxYTMuMjI5LDMuMjI5LDAsMCwxLTEuMTc0LjIxNywzLjMzNSwzLjMzNSwwLDAsMS0yLjgzNy0xLjU5Myw4LjEyNSw4LjEyNSwwLDAsMS0xLjE4LTQuNzE5LDguMSw4LjEsMCwwLDEsMS4xODQtNC43MjQsMy4zNzIsMy4zNzIsMCwwLDEsMi44Ny0xLjU4OCwzLjMxLDMuMzEsMCwwLDEsMi44MTksMS41ODUsOC4xNzgsOC4xNzgsMCwwLDEsMS4xNzIsNC43MjYsOS4xMTMsOS4xMTMsMCwwLDEtLjgzMyw0LjE1bC0xLjU2LTEuNTcxWlwiIHN0eWxlPVwiZmlsbDojMzNjXCIvPmAsXG5cdFwiUU1MXCI6IGA8cGF0aCBkPVwiTTI3LjMsNUg1Ljg4NkwyLDguOTU4VjI2SDI2LjExNEwzMCwyMi4wNDJWNVpNMTYuOSwyMy4wN2wtMS44MjguODUyTDEzLjUsMjEuMzMxYTMuOTY4LDMuOTY4LDAsMCwxLTEuMDgyLjEwNmMtMS44NDUsMC0zLjEyMy0uNS0zLjg1LTEuNDlhOC4wMyw4LjAzLDAsMCwxLTEuMDgyLTQuNyw4LjM1MSw4LjM1MSwwLDAsMSwxLjEtNC43NzMsNC4zNzksNC4zNzksMCwwLDEsMy44MzMtMS41NjFjMS44MjgsMCwzLjA4Ny41MTUsMy44MzMsMS41NDRhOC4zNTEsOC4zNTEsMCwwLDEsMS4xLDQuNzczLDEwLjgwOSwxMC44MDksMCwwLDEtLjQ1MiwzLjQ0LDMuOSwzLjksMCwwLDEtMS40NzMsMlptNS44NDgtMS42N2EyLjczNSwyLjczNSwwLDAsMS0yLjE2OC0uNjkyQTQuMTkyLDQuMTkyLDAsMCwxLDIwLDE4LjFWMTRIMTlWMTJoMVY5aDJ2M2gydjJIMjJ2My45YTMuOTA3LDMuOTA3LDAsMCwwLC4xNjgsMS40MzdjLjExMi4yMzEuMzkzLjM1NS44Ni4zNTVsMS41MzMtLjA1My4wOTMsMS41NDRBMTIuNTE5LDEyLjUxOSwwLDAsMSwyMi43NDgsMjEuNFpNMTIuNDE2LDEwLjYxNGEyLjQsMi40LDAsMCwwLTIuMjg5LDEuMSw3LjY1Nyw3LjY1NywwLDAsMC0uNiwzLjUxMyw3LjEzMSw3LjEzMSwwLDAsMCwuNiwzLjQ0MkEyLjQ0LDIuNDQsMCwwLDAsMTIuNDMzLDE5LjdhMi40MTcsMi40MTcsMCwwLDAsMi4yODktMS4wMTEsNy4zNDMsNy4zNDMsMCwwLDAsLjU4Ni0zLjQ0Miw3LjY5Miw3LjY5MiwwLDAsMC0uNi0zLjUzMUEyLjQsMi40LDAsMCwwLDEyLjQxNiwxMC42MTRaXCIgc3R5bGU9XCJmaWxsOiM0MWNkNTJcIi8+YCxcblx0XCJSXCI6IGA8ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9XCJhXCIgeDE9XCItMTM0LjgxMVwiIHkxPVwiLTEwMy4yODRcIiB4Mj1cIi0xMzQuNzcyXCIgeTI9XCItMTAzLjMyM1wiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDcyMS4wOTQsIDAsIDAsIC00ODIuOTM3LCA5NzIxMy41OTUsIC00OTg3NC41MTIpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjY2JjZWQwXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzg0ODM4YlwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImJcIiB4MT1cIi0xMzUuMzc4XCIgeTE9XCItMTAyLjk4NVwiIHgyPVwiLTEzNS4zMzlcIiB5Mj1cIi0xMDMuMDI0XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMzk4LCAwLCAwLCAtNDA2LjEyNCwgNTM4OTMsIC00MTgxMi44MzYpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjMjc2ZGMzXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzE2NWNhYVwiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48dGl0bGU+ZmlsZV90eXBlX3I8L3RpdGxlPjxwYXRoIGQ9XCJNMTYsMjMuOTU2Yy03LjczMiwwLTE0LTQuMi0xNC05LjM3NlM4LjI2OCw1LjIsMTYsNS4yLDMwLDkuNCwzMCwxNC41OCwyMy43MzIsMjMuOTU2LDE2LDIzLjk1NlpNMTguMTQzLDguODdDMTIuMjY2LDguODcsNy41LDExLjc0LDcuNSwxNS4yOHM0Ljc2NCw2LjQxLDEwLjY0MSw2LjQxLDEwLjIxNC0xLjk2MiwxMC4yMTQtNi40MVMyNC4wMiw4Ljg3LDE4LjE0Myw4Ljg3WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2EpXCIvPjxwYXRoIGQ9XCJNMjMuMzIxLDE5LjcyNmExMC41NDUsMTAuNTQ1LDAsMCwxLDEuMzQuNSwyLjU5MSwyLjU5MSwwLDAsMSwuNjguNDg1LDEuODM1LDEuODM1LDAsMCwxLC4zMTEuNDQ3bDMuMzM5LDUuNjMtNS40LDAtMi41MjQtNC43NGE2LjEsNi4xLDAsMCwwLS44MzUtMS4xNDUuODc5Ljg3OSwwLDAsMC0uNjQxLS4yOTFIMTguMzExdjYuMTczbC00Ljc3NiwwVjExLjAyNmg5LjU5MVMyNy41LDExLjEsMjcuNSwxNS4yNjEsMjMuMzIxLDE5LjcyNiwyMy4zMjEsMTkuNzI2Wm0tMi4wNzctNS4yOC0yLjg5MSwwdjIuNjgxaDIuODkzYTEuMzIzLDEuMzIzLDAsMCwwLDEuMzQtMS4zNjRBMS4yNDcsMS4yNDcsMCwwLDAsMjEuMjQ0LDE0LjQ0N1pcIiBzdHlsZT1cImZpbGw6dXJsKCNiKVwiLz5gLFxuXHRcIlJhY2tldFwiOiBgPGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHI9XCIxNFwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwYXRoIGQ9XCJNMjcuMDE2LDI0LjY0MWExNCwxNCwwLDAsMC0xNS44LTIxLjhDMTYuOSw1LjgyMiwyNC40MTMsMTUuNTQ5LDI3LjAxNiwyNC42NDFaXCIgc3R5bGU9XCJmaWxsOiMzZTViYTlcIi8+PHBhdGggZD1cIk0xMy45OTUsMTAuOTNhMjQuMywyNC4zLDAsMCwwLTcuMjItNS40NkExNCwxNCwwLDAsMCw1LjQ2MywyNS4yMTcsMzkuNTYsMzkuNTYsMCwwLDEsMTMuOTk1LDEwLjkzWlwiIHN0eWxlPVwiZmlsbDojOWYxZDIwXCIvPjxwYXRoIGQ9XCJNMTYuNTc1LDE0LjFBMzIuNjQ1LDMyLjY0NSwwLDAsMCw5LjQzLDI4LjM2NWExNC4wMTYsMTQuMDE2LDAsMCwwLDEzLjMtLjA4OUEzOC42NDIsMzguNjQyLDAsMCwwLDE2LjU3NSwxNC4xWlwiIHN0eWxlPVwiZmlsbDojOWYxZDIwXCIvPmAsXG5cdFwiUmF6b3IgQyNcIjogYDxwYXRoIGQ9XCJNMjMuODQ0LDI3LjY5MmExNi4zMzIsMTYuMzMyLDAsMCwxLTYuNjQ1LDEuM3EtNi4zNjQsMC0xMC4wMTMtMy4yNDNhMTEuMywxMS4zLDAsMCwxLTMuNjQ5LTguOUExMy43MTYsMTMuNzE2LDAsMCwxLDcuMzIyLDYuOTUxLDEyLjcxNiwxMi43MTYsMCwwLDEsMTYuOSwzLjAwOGExMS42NzYsMTEuNjc2LDAsMCwxLDguNDI1LDMuMDA2LDkuOTk0LDkuOTk0LDAsMCwxLDMuMTQyLDcuNTMzLDEwLjE4NywxMC4xODcsMCwwLDEtMi4zMTgsNy4xMTQsNy41MzIsNy41MzIsMCwwLDEtNS44MTcsMi41NDcsMi42MTMsMi42MTMsMCwwLDEtMS44NDUtLjY0MiwyLjMyMywyLjMyMywwLDAsMS0uNzY0LTEuNiw0LjksNC45LDAsMCwxLTQuMTQ4LDIuMjQzLDQuNiw0LjYsMCwwLDEtMy41MDctMS40NzksNS43MDYsNS43MDYsMCwwLDEtMS4zODQtNC4wNjMsOS45MTMsOS45MTMsMCwwLDEsMi4yLTYuMzU3cTIuMi0yLjc2Myw0LjgtMi43NjNhNS4wNjMsNS4wNjMsMCwwLDEsNC4yNTYsMS43MTZsLjMxMS0xLjMzOGgyLjQwNWwtMi4wODEsOS4wOGExMC43MTYsMTAuNzE2LDAsMCwwLS4zNTIsMi4yNDNxMCwuOTcyLjc0NC45NzJhNC44MTksNC44MTksMCwwLDAsMy44NzctMi4wNDcsOC45Myw4LjkzLDAsMCwwLDEuNjIxLTUuNjgxLDcuOTgsNy45OCwwLDAsMC0yLjY3NS02LjE3NSw5Ljg4Nyw5Ljg4NywwLDAsMC02LjkxOS0yLjQzMkExMC42LDEwLjYsMCwwLDAsOC43MTMsOC4zNTJhMTIuMDY2LDEyLjA2NiwwLDAsMC0zLjIsOC40OTUsOS41NjEsOS41NjEsMCwwLDAsMy4wNiw3LjU3M3EzLjA2LDIuNyw4LjU4NiwyLjdhMTMuNzU3LDEzLjc1NywwLDAsMCw1LjY3NS0xLjA1NFpNMTkuNDY2LDEyLjI1YTMuOTc3LDMuOTc3LDAsMCwwLTMuNi0xLjcxNnEtMS44MjQsMC0zLjI2MywyLjIzYTguNzI2LDguNzI2LDAsMCwwLTEuNDM5LDQuODI0cTAsMy42MzUsMi45MDUsMy42MzVBMy43NzEsMy43NzEsMCwwLDAsMTYuNzIsMjAuMDRhNi4zMDksNi4zMDksMCwwLDAsMS43LTMuMlpcIiBzdHlsZT1cImZpbGw6IzM2ODgzMlwiLz5gLFxuXHRcIlJlYWN0IEpTWFwiOiBgPGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNS45NzRcIiByPVwiMi41XCIgc3R5bGU9XCJmaWxsOiMwMGQ4ZmZcIi8+PHBhdGggZD1cIk0xNiwyMS43MDZhMjguMzg1LDI4LjM4NSwwLDAsMS04Ljg4LTEuMiwxMS4zLDExLjMsMCwwLDEtMy42NTctMS45NThBMy41NDMsMy41NDMsMCwwLDEsMiwxNS45NzRjMC0xLjY1MywxLjgxNi0zLjI3Myw0Ljg1OC00LjMzM0EyOC43NTUsMjguNzU1LDAsMCwxLDE2LDEwLjI5M2EyOC42NzQsMjguNjc0LDAsMCwxLDkuMDIyLDEuMzI0LDExLjM3NiwxMS4zNzYsMCwwLDEsMy41MzgsMS44NjZBMy4zOTEsMy4zOTEsMCwwLDEsMzAsMTUuOTc0YzAsMS43MTgtMi4wMywzLjQ1OS01LjMsNC41NDFBMjguOCwyOC44LDAsMCwxLDE2LDIxLjcwNlptMC0xMC4yMTdhMjcuOTQ4LDI3Ljk0OCwwLDAsMC04Ljc0OSwxLjI4MmMtMi44Ljk3Ny00LjA1NSwyLjMxMy00LjA1NSwzLjIsMCwuOTI4LDEuMzQ5LDIuMzg3LDQuMzExLDMuNEEyNy4yMSwyNy4yMSwwLDAsMCwxNiwyMC41MWEyNy42LDI3LjYsMCwwLDAsOC4zMjUtMS4xM0MyNy40LDE4LjM2MSwyOC44LDE2LjksMjguOCwxNS45NzRhMi4zMjcsMi4zMjcsMCwwLDAtMS4wMS0xLjU3MywxMC4xOTQsMTAuMTk0LDAsMCwwLTMuMTYxLTEuNjU0QTI3LjQ2MiwyNy40NjIsMCwwLDAsMTYsMTEuNDg5WlwiIHN0eWxlPVwiZmlsbDojMDBkOGZmXCIvPjxwYXRoIGQ9XCJNMTAuMzIsMjguNDQzYTIuNjM5LDIuNjM5LDAsMCwxLTEuMzM2LS4zMjhjLTEuNDMyLS44MjYtMS45MjgtMy4yMDgtMS4zMjctNi4zNzNhMjguNzU1LDI4Ljc1NSwwLDAsMSwzLjQtOC41OTNoMEEyOC42NzYsMjguNjc2LDAsMCwxLDE2LjcxLDUuOTk1YTExLjM3NiwxMS4zNzYsMCwwLDEsMy4zODQtMi4xMzMsMy4zOTEsMy4zOTEsMCwwLDEsMi44NzgsMGMxLjQ4OS44NTgsMS45ODIsMy40ODYsMS4yODcsNi44NTlhMjguODA2LDI4LjgwNiwwLDAsMS0zLjMxNiw4LjEzMywyOC4zODUsMjguMzg1LDAsMCwxLTUuNDc2LDcuMDkzLDExLjMsMTEuMywwLDAsMS0zLjUyMywyLjE4OUE0LjkyNiw0LjkyNiwwLDAsMSwxMC4zMiwyOC40NDNabTEuNzczLTE0LjdhMjcuOTQ4LDI3Ljk0OCwwLDAsMC0zLjI2LDguMjE5Yy0uNTUzLDIuOTE1LS4wMjIsNC42NjguNzUsNS4xMTQuOC40NjMsMi43NDIuMDI0LDUuMS0yLjAzNmEyNy4yMDksMjcuMjA5LDAsMCwwLDUuMjI3LTYuNzksMjcuNiwyNy42LDAsMCwwLDMuMTgxLTcuNzc2Yy42NTQtMy4xNzUuMDg5LTUuMTE5LS43MTMtNS41ODFhMi4zMjcsMi4zMjcsMCwwLDAtMS44NjguMDg5QTEwLjE5NCwxMC4xOTQsMCwwLDAsMTcuNSw2LjlhMjcuNDY0LDI3LjQ2NCwwLDAsMC01LjQsNi44NDlaXCIgc3R5bGU9XCJmaWxsOiMwMGQ4ZmZcIi8+PHBhdGggZD1cIk0yMS42NzcsMjguNDU2Yy0xLjM1NSwwLTMuMDc2LS44Mi00Ljg2OC0yLjM2MWEyOC43NTYsMjguNzU2LDAsMCwxLTUuNzQ3LTcuMjM3aDBhMjguNjc2LDI4LjY3NiwwLDAsMS0zLjM3NC04LjQ3MSwxMS4zNzYsMTEuMzc2LDAsMCwxLS4xNTgtNEEzLjM5MSwzLjM5MSwwLDAsMSw4Ljk2NCwzLjljMS40ODctLjg2MSw0LjAxLjAyNCw2LjU4NSwyLjMxYTI4LjgsMjguOCwwLDAsMSw1LjM5LDYuOTM0LDI4LjM4NCwyOC4zODQsMCwwLDEsMy40MSw4LjI4NywxMS4zLDExLjMsMCwwLDEsLjEzNyw0LjE0NiwzLjU0MywzLjU0MywwLDAsMS0xLjQ5NCwyLjU1NUEyLjU5LDIuNTksMCwwLDEsMjEuNjc3LDI4LjQ1NlptLTkuNTgtMTAuMmEyNy45NDksMjcuOTQ5LDAsMCwwLDUuNDkyLDYuOTI5YzIuMjQ5LDEuOTM1LDQuMDMzLDIuMzUxLDQuOCwxLjkuOC0uNDY1LDEuMzktMi4zNjMuNzgyLTUuNDM0QTI3LjIxMiwyNy4yMTIsMCwwLDAsMTkuOSwxMy43NCwyNy42LDI3LjYsMCwwLDAsMTQuNzU1LDcuMWMtMi40MjQtMi4xNTItNC4zOS0yLjYzMy01LjE5MS0yLjE2OWEyLjMyNywyLjMyNywwLDAsMC0uODU1LDEuNjYyLDEwLjE5NCwxMC4xOTQsMCwwLDAsLjE1MywzLjU2NSwyNy40NjUsMjcuNDY1LDAsMCwwLDMuMjM2LDguMVpcIiBzdHlsZT1cImZpbGw6IzAwZDhmZlwiLz5gLFxuXHRcIlJlYWN0IFRTWFwiOiBgPGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNS45NzRcIiByPVwiMi41XCIgc3R5bGU9XCJmaWxsOiMwMDdhY2NcIi8+PHBhdGggZD1cIk0xNiwyMS43MDZhMjguMzg1LDI4LjM4NSwwLDAsMS04Ljg4LTEuMiwxMS4zLDExLjMsMCwwLDEtMy42NTctMS45NThBMy41NDMsMy41NDMsMCwwLDEsMiwxNS45NzRjMC0xLjY1MywxLjgxNi0zLjI3Myw0Ljg1OC00LjMzM0EyOC43NTUsMjguNzU1LDAsMCwxLDE2LDEwLjI5M2EyOC42NzQsMjguNjc0LDAsMCwxLDkuMDIyLDEuMzI0LDExLjM3NiwxMS4zNzYsMCwwLDEsMy41MzgsMS44NjZBMy4zOTEsMy4zOTEsMCwwLDEsMzAsMTUuOTc0YzAsMS43MTgtMi4wMywzLjQ1OS01LjMsNC41NDFBMjguOCwyOC44LDAsMCwxLDE2LDIxLjcwNlptMC0xMC4yMTdhMjcuOTQ4LDI3Ljk0OCwwLDAsMC04Ljc0OSwxLjI4MmMtMi44Ljk3Ny00LjA1NSwyLjMxMy00LjA1NSwzLjIsMCwuOTI4LDEuMzQ5LDIuMzg3LDQuMzExLDMuNEEyNy4yMSwyNy4yMSwwLDAsMCwxNiwyMC41MWEyNy42LDI3LjYsMCwwLDAsOC4zMjUtMS4xM0MyNy40LDE4LjM2MSwyOC44LDE2LjksMjguOCwxNS45NzRhMi4zMjcsMi4zMjcsMCwwLDAtMS4wMS0xLjU3MywxMC4xOTQsMTAuMTk0LDAsMCwwLTMuMTYxLTEuNjU0QTI3LjQ2MiwyNy40NjIsMCwwLDAsMTYsMTEuNDg5WlwiIHN0eWxlPVwiZmlsbDojMDA3YWNjXCIvPjxwYXRoIGQ9XCJNMTAuMzIsMjguNDQzYTIuNjM5LDIuNjM5LDAsMCwxLTEuMzM2LS4zMjhjLTEuNDMyLS44MjYtMS45MjgtMy4yMDgtMS4zMjctNi4zNzNhMjguNzU1LDI4Ljc1NSwwLDAsMSwzLjQtOC41OTNoMEEyOC42NzYsMjguNjc2LDAsMCwxLDE2LjcxLDUuOTk1YTExLjM3NiwxMS4zNzYsMCwwLDEsMy4zODQtMi4xMzMsMy4zOTEsMy4zOTEsMCwwLDEsMi44NzgsMGMxLjQ4OS44NTgsMS45ODIsMy40ODYsMS4yODcsNi44NTlhMjguODA2LDI4LjgwNiwwLDAsMS0zLjMxNiw4LjEzMywyOC4zODUsMjguMzg1LDAsMCwxLTUuNDc2LDcuMDkzLDExLjMsMTEuMywwLDAsMS0zLjUyMywyLjE4OUE0LjkyNiw0LjkyNiwwLDAsMSwxMC4zMiwyOC40NDNabTEuNzczLTE0LjdhMjcuOTQ4LDI3Ljk0OCwwLDAsMC0zLjI2LDguMjE5Yy0uNTUzLDIuOTE1LS4wMjIsNC42NjguNzUsNS4xMTQuOC40NjMsMi43NDIuMDI0LDUuMS0yLjAzNmEyNy4yMDksMjcuMjA5LDAsMCwwLDUuMjI3LTYuNzksMjcuNiwyNy42LDAsMCwwLDMuMTgxLTcuNzc2Yy42NTQtMy4xNzUuMDg5LTUuMTE5LS43MTMtNS41ODFhMi4zMjcsMi4zMjcsMCwwLDAtMS44NjguMDg5QTEwLjE5NCwxMC4xOTQsMCwwLDAsMTcuNSw2LjlhMjcuNDY0LDI3LjQ2NCwwLDAsMC01LjQsNi44NDlaXCIgc3R5bGU9XCJmaWxsOiMwMDdhY2NcIi8+PHBhdGggZD1cIk0yMS42NzcsMjguNDU2Yy0xLjM1NSwwLTMuMDc2LS44Mi00Ljg2OC0yLjM2MWEyOC43NTYsMjguNzU2LDAsMCwxLTUuNzQ3LTcuMjM3aDBhMjguNjc2LDI4LjY3NiwwLDAsMS0zLjM3NC04LjQ3MSwxMS4zNzYsMTEuMzc2LDAsMCwxLS4xNTgtNEEzLjM5MSwzLjM5MSwwLDAsMSw4Ljk2NCwzLjljMS40ODctLjg2MSw0LjAxLjAyNCw2LjU4NSwyLjMxYTI4LjgsMjguOCwwLDAsMSw1LjM5LDYuOTM0LDI4LjM4NCwyOC4zODQsMCwwLDEsMy40MSw4LjI4NywxMS4zLDExLjMsMCwwLDEsLjEzNyw0LjE0NiwzLjU0MywzLjU0MywwLDAsMS0xLjQ5NCwyLjU1NUEyLjU5LDIuNTksMCwwLDEsMjEuNjc3LDI4LjQ1NlptLTkuNTgtMTAuMmEyNy45NDksMjcuOTQ5LDAsMCwwLDUuNDkyLDYuOTI5YzIuMjQ5LDEuOTM1LDQuMDMzLDIuMzUxLDQuOCwxLjkuOC0uNDY1LDEuMzktMi4zNjMuNzgyLTUuNDM0QTI3LjIxMiwyNy4yMTIsMCwwLDAsMTkuOSwxMy43NCwyNy42LDI3LjYsMCwwLDAsMTQuNzU1LDcuMWMtMi40MjQtMi4xNTItNC4zOS0yLjYzMy01LjE5MS0yLjE2OWEyLjMyNywyLjMyNywwLDAsMC0uODU1LDEuNjYyLDEwLjE5NCwxMC4xOTQsMCwwLDAsLjE1MywzLjU2NSwyNy40NjUsMjcuNDY1LDAsMCwwLDMuMjM2LDguMVpcIiBzdHlsZT1cImZpbGw6IzAwN2FjY1wiLz5gLFxuXHRcIlJlYXNvblwiOiBgPHBvbHlsaW5lIHBvaW50cz1cIjIgMiAzMCAyIDMwIDMwIDIgMzAgMiAyXCIgc3R5bGU9XCJmaWxsOiNkZDRiMzlcIi8+PHBhdGggZD1cIk05LjA1MSwxNy41MjdxMi41MzcsMCw1LjA3MiwwQTQuOTQ3LDQuOTQ3LDAsMCwxLDE3LjEsMTguNWEzLjI5LDMuMjksMCwwLDEsMS4xMjgsMi4yNjcsNC4xMTcsNC4xMTcsMCwwLDEtLjc3OCwzLjAyMiwzLjYsMy42LDAsMCwxLTEuMTM3LjkwNWwyLjI0NywzLjU0OS0zLjA2MSwwLTEuNi0zLjA0My0yLjE1NCwwLDAsMy4wMzJIOS4wNTFWMTcuNTI3bTIuNjksMi4xMjgsMCwzLjQzOCwxLjk4OSwwYTIuMTg0LDIuMTg0LDAsMCwwLDEuNDY4LS40NTIsMS44MTQsMS44MTQsMCwwLDAsLjQ4Mi0xLjU0NCwxLjQ2OSwxLjQ2OSwwLDAsMC0uNzA1LTEuMTgsMi43NjgsMi43NjgsMCwwLDAtMS40MzctLjI2OUMxMi45NCwxOS42NTQsMTEuNzQxLDE5LjY1NSwxMS43NDEsMTkuNjU1Wm04LjM4NC0yLjEzaDguMzV2Mi4xM2gtNS42NlYyMS44bDUuMTEsMHYyLjExOUgyMi44MlYyNi4xaDUuODI0djIuMTQySDIwLjEyNVYxNy41MjVaXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+YCxcblx0XCJSZWdvXCI6IGA8ZGVmcz48Y2xpcFBhdGggaWQ9XCJhXCI+PHBhdGggZD1cIk03LjA1NSwxNi4yNDFjMy40MTUtMTAuMjIsMTQuNzU5LTkuNDczLDE3LjkyNCwwbC4xLDUuODkzYTE1LjU2MiwxNS41NjIsMCwwLDAtOS4wMzYsNy4yNDZBMTcuNjQxLDE3LjY0MSwwLDAsMCw3LjAzLDIyLjM0NlpcIiBzdHlsZT1cImZpbGw6bm9uZVwiLz48L2NsaXBQYXRoPjwvZGVmcz48dGl0bGU+ZmlsZV90eXBlX3JlZ288L3RpdGxlPjxwYXRoIGQ9XCJNNy4wMywxNi4yNDFsMi42LTQuNTU5Yy0yLjQxOC0uMzEyLTIuNjA2LTMuNDMxLS44LTkuMDYyQzMuODA5LDguODUzLDIuNDIsMTAuMjI4LDcuMDMsMTYuMjQxWlwiIHN0eWxlPVwiZmlsbDojYmZiZmJmO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwYXRoIGQ9XCJNMjQuOTcsMTYuMjQxbC0yLjU5NS00LjU1OWMyLjQxOC0uMzEyLDIuNjA2LTMuNDMxLjgtOS4wNjJDMjguMTkxLDguODUzLDI5LjU4LDEwLjIyOCwyNC45NywxNi4yNDFaXCIgc3R5bGU9XCJmaWxsOiNiZmJmYmY7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBhdGggZD1cIk03LjA1NSwxNi4yNDFjMy40MTUtMTAuMjIsMTQuNzU5LTkuNDczLDE3LjkyNCwwbC4xLDUuODkzYTE1LjU2MiwxNS41NjIsMCwwLDAtOS4wMzYsNy4yNDZBMTcuNjQxLDE3LjY0MSwwLDAsMCw3LjAzLDIyLjM0NlpcIiBzdHlsZT1cImZpbGw6bm9uZVwiLz48ZyBzdHlsZT1cImNsaXAtcGF0aDp1cmwoI2EpXCI+PHJlY3QgeD1cIjE2LjA1M1wiIHk9XCI3Ljk2MlwiIHdpZHRoPVwiOS41NDlcIiBoZWlnaHQ9XCIyMS44OTlcIiBzdHlsZT1cImZpbGw6IzUzNjM2N1wiLz48cmVjdCB4PVwiNS4zMjJcIiB5PVwiNy45NjJcIiB3aWR0aD1cIjEwLjczMlwiIGhlaWdodD1cIjIxLjg5OVwiIHN0eWxlPVwiZmlsbDojNzg5MjlhXCIvPjwvZz48Y2lyY2xlIGN4PVwiMTYuMDRcIiBjeT1cIjE2LjI0MVwiIHI9XCIxLjE2NlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPmAsXG5cdFwiUmVTY3JpcHRcIjogYDxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD1cImFcIiB4MT1cIjExLjQyMVwiIHkxPVwiLTIyMS43MDVcIiB4Mj1cIjIxLjUwOVwiIHkyPVwiLTI0OC43OTJcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgxLCAwLCAwLCAtMSwgMCwgLTIxOClcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNlODRmNGZcIi8+PHN0b3Agb2Zmc2V0PVwiMC40MDlcIiBzdG9wLWNvbG9yPVwiI2RiNDY0NlwiLz48c3RvcCBvZmZzZXQ9XCIwLjk5OVwiIHN0b3AtY29sb3I9XCIjY2IzOTM5XCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfcmVzY3JpcHQ8L3RpdGxlPjxwYXRoIGQ9XCJNMiwxMC45N2MwLTMuNzM4LDAtNS42Ljk1Mi02LjkxNmE0Ljk5Miw0Ljk5MiwwLDAsMSwxLjEtMS4xQzUuMzY0LDIsNy4yMzMsMiwxMC45NjksMkgyMS4wM2MzLjczOCwwLDUuNjA1LDAsNi45MTYuOTUxYTQuOTkyLDQuOTkyLDAsMCwxLDEuMSwxLjFDMzAsNS4zNjQsMzAsNy4yMzIsMzAsMTAuOTdWMjEuMDNjMCwzLjczNywwLDUuNjA1LS45NTIsNi45MTZhNC45NjYsNC45NjYsMCwwLDEtMS4xLDEuMUMyNi42MzYsMzAsMjQuNzY4LDMwLDIxLjAzLDMwSDEwLjk2OWMtMy43MzYsMC01LjYsMC02LjkxNS0uOTUyYTQuOTY2LDQuOTY2LDAsMCwxLTEuMS0xLjFDMiwyNi42MzYsMiwyNC43NjcsMiwyMS4wM1pcIiBzdHlsZT1cImZpbGw6dXJsKCNhKVwiLz48cGF0aCBkPVwiTTIwLjk3NCwxNS41NTRhMy4zMjUsMy4zMjUsMCwxLDAtMy4zMjQtMy4zMjVBMy4zMjUsMy4zMjUsMCwwLDAsMjAuOTc0LDE1LjU1NFpcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cGF0aCBkPVwiTTkuMzE2LDExLjgwOWE0LjY3Niw0LjY3NiwwLDAsMSwuMjA2LTEuOTg3QTEuODg2LDEuODg2LDAsMCwxLDEwLjM0NSw5YTQuNyw0LjcsMCwwLDEsMS45ODctLjIwNWgyLjY0VjIxLjA0NWE0LjY4Niw0LjY4NiwwLDAsMS0uMTQ0LDEuNjY0LDEuODkyLDEuODkyLDAsMCwxLTEuMDIsMS4wMiw0LjcyLDQuNzIsMCwwLDEtMS42NjQuMTQzLDQuNzE3LDQuNzE3LDAsMCwxLTEuNjY0LS4xNDMsMS44OTIsMS44OTIsMCwwLDEtMS4wMi0xLjAyLDQuNzIsNC43MiwwLDAsMS0uMTQzLTEuNjY0WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPmAsXG5cdFwicmVTVCAocmVTdHJ1Y3R1cmVkVGV4dClcIjogYDxwYXRoIGQ9XCJNMTYsMzBBMTMuODU5LDEzLjg1OSwwLDAsMSwyLjI4NiwxNiwxNC4xNDksMTQuMTQ5LDAsMCwxLDYuMyw2LjEsMTMuNTE3LDEzLjUxNywwLDAsMSwyNS43LDYuMSwxNC4xNDksMTQuMTQ5LDAsMCwxLDI5LjcxNCwxNiwxMy44NTksMTMuODU5LDAsMCwxLDE2LDMwWlwiIHN0eWxlPVwiZmlsbDojY2UzZjMxXCIvPjxwYXRoIGQ9XCJNMTEuODY5LDIzLjAxNWgtLjRhNC4yNjMsNC4yNjMsMCwwLDEtMS4wNDgtLjExMywxLjM4NywxLjM4NywwLDAsMS0uNzY3LS41NDgsMi4yLDIuMiwwLDAsMS0uNDA5LTEuMDI2QTEzLjI4LDEzLjI4LDAsMCwxLDkuMTU5LDE5LjZhMTIuNzgsMTIuNzgsMCwwLDAtLjA4LTEuNjg3LDEuNzczLDEuNzczLDAsMCwwLS40MDUtLjkyNCwxLjMyNSwxLjMyNSwwLDAsMC0xLjAyNi0uMzkxVjE1LjRhMS4zMjUsMS4zMjUsMCwwLDAsMS4wMjYtLjM5MSwxLjc3MywxLjc3MywwLDAsMCwuNDA1LS45MjQsMTIuNzgsMTIuNzgsMCwwLDAsLjA4LTEuNjg3LDEzLjI4LDEzLjI4LDAsMCwxLC4wODQtMS43MzEsMi4yLDIuMiwwLDAsMSwuNDA5LTEuMDI2LDEuMzg3LDEuMzg3LDAsMCwxLC43NjctLjU0OCw0LjI2Myw0LjI2MywwLDAsMSwxLjA0OC0uMTEzaC40djEuMTRoLS4yMjZxLS43NiwwLS45MzEuNGE3LjcyLDcuNzIsMCwwLDAtLjE3MiwyLjE3LDQuODc2LDQuODc2LDAsMCwxLS40MTYsMi4zMTZBMi4xMTcsMi4xMTcsMCwwLDEsOC44NTksMTZhMi4wODksMi4wODksMCwwLDEsMS4yNjQuOTg2QTQuODc2LDQuODc2LDAsMCwxLDEwLjU0LDE5LjNhNy43Miw3LjcyLDAsMCwwLC4xNzIsMi4xN3EuMTcyLjQuOTMxLjRoLjIyNlptMS42LTMuMTQxaDEuMDM1VjE2LjQyaDEuNDU5bDEuOTcsMy40NTRoMS4xODRMMTcuMDQsMTYuMzA4YTIuMjQzLDIuMjQzLDAsMCwwLDEuODMzLTIuMzE5YzAtMS43LTEuMi0yLjI5NC0yLjg1NS0yLjI5NEgxMy40NzRabTEuMDM1LTQuM1YxMi41M2gxLjM1OWMxLjI3MiwwLDEuOTcuMzg2LDEuOTcsMS40NTlzLS43LDEuNTgzLTEuOTcsMS41ODNabTUuNTU3LTYuNTkxaC40YTQuMjYzLDQuMjYzLDAsMCwxLDEuMDQ4LjExMywxLjM4NywxLjM4NywwLDAsMSwuNzY3LjU0OCwyLjIsMi4yLDAsMCwxLC40MDksMS4wMjYsMTMuMjgsMTMuMjgsMCwwLDEsLjA4NCwxLjczMSwxMi43OCwxMi43OCwwLDAsMCwuMDgsMS42ODcsMS43NzMsMS43NzMsMCwwLDAsLjQwNS45MjQsMS4zMjUsMS4zMjUsMCwwLDAsMS4wMjYuMzkxdjEuMTkxYTEuMzI1LDEuMzI1LDAsMCwwLTEuMDI2LjM5MSwxLjc3MywxLjc3MywwLDAsMC0uNDA1LjkyNCwxMi43OCwxMi43OCwwLDAsMC0uMDgsMS42ODcsMTMuMjgsMTMuMjgsMCwwLDEtLjA4NCwxLjczMSwyLjIsMi4yLDAsMCwxLS40MDksMS4wMjYsMS4zODcsMS4zODcsMCwwLDEtLjc2Ny41NDgsNC4yNjMsNC4yNjMsMCwwLDEtMS4wNDguMTEzaC0uNHYtMS4xNGguMjI2cS43NiwwLC45MzEtLjRBNy43Miw3LjcyLDAsMCwwLDIxLjQsMTkuM2E0Ljg3Niw0Ljg3NiwwLDAsMSwuNDE2LTIuMzE2QTIuMDg5LDIuMDg5LDAsMCwxLDIzLjA3NSwxNmEyLjExNywyLjExNywwLDAsMS0xLjI2NC0uOTk0LDQuODc2LDQuODc2LDAsMCwxLS40MTYtMi4zMTYsNy43Miw3LjcyLDAsMCwwLS4xNzItMi4xN3EtLjE3Mi0uNC0uOTMxLS40aC0uMjI2WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPmAsXG5cdFwiUm9ib3QgRnJhbWV3b3JrXCI6IGA8Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE0XCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHBhdGggZD1cIk0xMC4zODcsMTQuNmEyLjcyNywyLjcyNywwLDAsMSw1LjQ1MywwLC45OS45OSwwLDEsMS0xLjk4LDAsLjc0Ni43NDYsMCwwLDAtMS40OTIsMCwuOTkuOTksMCwxLDEtMS45OCwwbTExLjMsNC41ODZhLjk5MS45OTEsMCwwLDEtLjk5Mi45OTJIMTEuNTA4YS45OTIuOTkyLDAsMCwxLDAtMS45ODRoOS4xODRhLjk5NC45OTQsMCwwLDEsLjk5Mi45OTJNMTcuMzkxLDE1LjE2YS45OTIuOTkyLDAsMCwxLC4yNy0xLjM3NWwyLjI5My0xLjU1MWEuOTg5Ljk4OSwwLDEsMSwxLjEwOSwxLjYzN2wtMi4zLDEuNTUxYS45NjUuOTY1LDAsMCwxLS41NTEuMTcyLjk5NC45OTQsMCwwLDEtLjgyNC0uNDM0bTYuMjg5LDYuMDk0YS43MDcuNzA3LDAsMCwxLS4yMDcuNWwtMS43MDcsMS43MDdhLjcwNy43MDcsMCwwLDEtLjUuMjA3SDEwLjhhLjcwNy43MDcsMCwwLDEtLjUtLjIwN0w4LjYsMjEuNzU0YS43MDcuNzA3LDAsMCwxLS4yMDctLjVWMTAuOGEuNzA3LjcwNywwLDAsMSwuMjA3LS41TDEwLjMsOC41OTRhLjcwNy43MDcsMCwwLDEsLjUtLjIwN0gyMS4yNjZhLjcwNy43MDcsMCwwLDEsLjUuMjA3TDIzLjQ3MywxMC4zYS43MDcuNzA3LDAsMCwxLC4yMDcuNVpNMjUuMTI5LDkuMTYsMjIuOSw2LjkzQTEuODA3LDEuODA3LDAsMCwwLDIxLjYyOSw2LjRIMTAuNDM4YTEuODA3LDEuODA3LDAsMCwwLTEuMjczLjUyN0w2LjkzOCw5LjE2YTEuOCwxLjgsMCwwLDAtLjUyNywxLjI3VjIxLjYyMWExLjgsMS44LDAsMCwwLC41MjcsMS4yNzNsMi4yMjcsMi4yM2ExLjgxLDEuODEsMCwwLDAsMS4yNzMuNTIzSDIxLjYyOWExLjgsMS44LDAsMCwwLDEuMjczLS41MjNsMi4yMjctMi4yM2ExLjc4NCwxLjc4NCwwLDAsMCwuNTI3LTEuMjczVjEwLjQzNGExLjc4NCwxLjc4NCwwLDAsMC0uNTI3LTEuMjczXCIvPmAsXG5cdFwiUnVieVwiOiBgPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiLTIzNS45NTdcIiB5MT1cIi0zMDguNTc5XCIgeDI9XCItMjM1Ljk4NlwiIHkyPVwiLTMwOC41MjdcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgyMDIuOTM1LCAwLCAwLCAtMjAyLjc4LCA0NzkxMC40NjEsIC02MjU0MS4xNilcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNmYjc2NTVcIi8+PHN0b3Agb2Zmc2V0PVwiMC40MVwiIHN0b3AtY29sb3I9XCIjZTQyYjFlXCIvPjxzdG9wIG9mZnNldD1cIjAuOTlcIiBzdG9wLWNvbG9yPVwiIzkwMFwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM5MDBcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJiXCIgeDE9XCItMjM1LjU3MVwiIHkxPVwiLTMwOS4wODdcIiB4Mj1cIi0yMzUuNjk3XCIgeTI9XCItMzA5LjA0MVwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDYwLjMwOCwgMCwgMCwgLTExMS43NzgsIDE0MjM2LjM1MSwgLTM0NTI1LjM5NSlcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiM4NzExMDFcIi8+PHN0b3Agb2Zmc2V0PVwiMC45OVwiIHN0b3AtY29sb3I9XCIjOTExMjA5XCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzkxMTIwOVwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImNcIiB4MT1cIi0yMzUuODk2XCIgeTE9XCItMzEzLjM2MlwiIHgyPVwiLTIzNS45MzdcIiB5Mj1cIi0zMTMuMTI5XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMTg4LjMyLCAwLCAwLCAtMjEuOTg2LCA0NDQ0Ny4zMDIsIC02ODU2Ljg4MilcIiB4bGluazpocmVmPVwiI2JcIi8+PGxpbmVhckdyYWRpZW50IGlkPVwiZFwiIHgxPVwiLTIzMy41MTVcIiB5MT1cIi0zMDkuMDgyXCIgeDI9XCItMjMzLjQ5N1wiIHkyPVwiLTMwOS4xNjFcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCg2NS4yMjIsIDAsIDAsIC05Ny4xLCAxNTIzNy44MDIsIC0yOTk5MS44MTQpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmZmXCIvPjxzdG9wIG9mZnNldD1cIjAuMjNcIiBzdG9wLWNvbG9yPVwiI2U1NzI1MlwiLz48c3RvcCBvZmZzZXQ9XCIwLjQ2XCIgc3RvcC1jb2xvcj1cIiNkZTNiMjBcIi8+PHN0b3Agb2Zmc2V0PVwiMC45OVwiIHN0b3AtY29sb3I9XCIjYTYwMDAzXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2E2MDAwM1wiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImVcIiB4MT1cIi0yMzUuMzE0XCIgeTE9XCItMzA5LjUzNFwiIHgyPVwiLTIzNS4zMVwiIHkyPVwiLTMwOS42MDdcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgxMDUuMzIsIDAsIDAsIC0xMDYuODI1LCAyNDc5OC45MjUsIC0zMzA1My4xNTIpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmZmXCIvPjxzdG9wIG9mZnNldD1cIjAuMjNcIiBzdG9wLWNvbG9yPVwiI2U0NzE0ZVwiLz48c3RvcCBvZmZzZXQ9XCIwLjU2XCIgc3RvcC1jb2xvcj1cIiNiZTFhMGRcIi8+PHN0b3Agb2Zmc2V0PVwiMC45OVwiIHN0b3AtY29sb3I9XCIjYTgwZDAwXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2E4MGQwMFwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImZcIiB4MT1cIi0yMzUuODgyXCIgeTE9XCItMzExLjg1MVwiIHgyPVwiLTIzNS44NjlcIiB5Mj1cIi0zMTEuOTM1XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoOTQuMzIxLCAwLCAwLCAtNjYuNDE4LCAyMjI3MS40OTksIC0yMDcwNy4wMDQpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmZmXCIvPjxzdG9wIG9mZnNldD1cIjAuMThcIiBzdG9wLWNvbG9yPVwiI2U0NjM0MlwiLz48c3RvcCBvZmZzZXQ9XCIwLjRcIiBzdG9wLWNvbG9yPVwiI2M4MjQxMFwiLz48c3RvcCBvZmZzZXQ9XCIwLjk5XCIgc3RvcC1jb2xvcj1cIiNhODBkMDBcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjYTgwZDAwXCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiZ1wiIHgxPVwiLTIzNS40MTJcIiB5MT1cIi0zMjEuMDc0XCIgeDI9XCItMjM1LjMzM1wiIHkyPVwiLTMyMC45NThcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCg3MC43NjcsIDAsIDAsIC0yNC4zMDEsIDE2Njc4LjExNiwgLTc3OTguNjQ3KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2ZmZlwiLz48c3RvcCBvZmZzZXQ9XCIwLjU0XCIgc3RvcC1jb2xvcj1cIiNjODFmMTFcIi8+PHN0b3Agb2Zmc2V0PVwiMC45OVwiIHN0b3AtY29sb3I9XCIjYmYwOTA1XCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2JmMDkwNVwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImhcIiB4MT1cIi0yMjMuODIxXCIgeTE9XCItMzEwLjExNlwiIHgyPVwiLTIyMy43OTZcIiB5Mj1cIi0zMTAuMThcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgxOC4xNzcsIDAsIDAsIC03Mi42NDUsIDQwNzEuMDE3LCAtMjI1MTAuMjMzKVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2ZmZlwiLz48c3RvcCBvZmZzZXQ9XCIwLjMxXCIgc3RvcC1jb2xvcj1cIiNkZTQwMjRcIi8+PHN0b3Agb2Zmc2V0PVwiMC45OVwiIHN0b3AtY29sb3I9XCIjYmYxOTBiXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2JmMTkwYlwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImlcIiB4MT1cIi0yMzUuNTYxXCIgeTE9XCItMzA5LjI1OFwiIHgyPVwiLTIzNS40MjRcIiB5Mj1cIi0zMDkuMTE2XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMTU4LjE2MiwgMCwgMCwgLTE1Ny45MzcsIDM3MjU2LjMxMywgLTQ4ODE5LjM4MilcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNiZDAwMTJcIi8+PHN0b3Agb2Zmc2V0PVwiMC4wN1wiIHN0b3AtY29sb3I9XCIjZmZmXCIvPjxzdG9wIG9mZnNldD1cIjAuMTdcIiBzdG9wLWNvbG9yPVwiI2ZmZlwiLz48c3RvcCBvZmZzZXQ9XCIwLjI3XCIgc3RvcC1jb2xvcj1cIiNjODJmMWNcIi8+PHN0b3Agb2Zmc2V0PVwiMC4zM1wiIHN0b3AtY29sb3I9XCIjODIwYzAxXCIvPjxzdG9wIG9mZnNldD1cIjAuNDZcIiBzdG9wLWNvbG9yPVwiI2EzMTYwMVwiLz48c3RvcCBvZmZzZXQ9XCIwLjcyXCIgc3RvcC1jb2xvcj1cIiNiMzEzMDFcIi8+PHN0b3Agb2Zmc2V0PVwiMC45OVwiIHN0b3AtY29sb3I9XCIjZTgyNjA5XCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2U4MjYwOVwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImpcIiB4MT1cIi0yMzUuNDI0XCIgeTE9XCItMzA5LjE0M1wiIHgyPVwiLTIzNS40NzZcIiB5Mj1cIi0zMDkuMTI2XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMTI3LjA3NCwgMCwgMCwgLTk3LjQwOSwgMjk5MzIuMjI5LCAtMzAwODYuOTQ3KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzhjMGMwMVwiLz48c3RvcCBvZmZzZXQ9XCIwLjU0XCIgc3RvcC1jb2xvcj1cIiM5OTBjMDBcIi8+PHN0b3Agb2Zmc2V0PVwiMC45OVwiIHN0b3AtY29sb3I9XCIjYTgwZDBlXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2E4MGQwZVwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImtcIiB4MT1cIi0yMzUuODM5XCIgeTE9XCItMzA5LjYwNFwiIHgyPVwiLTIzNS45MDFcIiB5Mj1cIi0zMDkuNTU1XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoOTQuMDExLCAwLCAwLCAtMTA1LjYwMywgMjIxOTguNzQzLCAtMzI2NzYuODU2KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzdlMTEwYlwiLz48c3RvcCBvZmZzZXQ9XCIwLjk5XCIgc3RvcC1jb2xvcj1cIiM5ZTBjMDBcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjOWUwYzAwXCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwibFwiIHgxPVwiLTIzNS44NTRcIiB5MT1cIi0zMTEuMjRcIiB4Mj1cIi0yMzUuODkxXCIgeTI9XCItMzExLjIwMlwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDc5LjcwMiwgMCwgMCwgLTgxLjc5MSwgMTg4MjcuMzk3LCAtMjU0NDcuOTA1KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiIzc5MTMwZFwiLz48c3RvcCBvZmZzZXQ9XCIwLjk5XCIgc3RvcC1jb2xvcj1cIiM5ZTEyMGJcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjOWUxMjBiXCIvPjwvbGluZWFyR3JhZGllbnQ+PHJhZGlhbEdyYWRpZW50IGlkPVwibVwiIGN4PVwiLTIzNS44ODJcIiBjeT1cIi0zMTIuNTQzXCIgcj1cIjAuMDc2XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoOTMuMTEzLCAwLCAwLCAtNDguNjU1LCAyMTk4Ni4wNzMsIC0xNTE5My42MSlcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNhODBkMDBcIi8+PHN0b3Agb2Zmc2V0PVwiMC45OVwiIHN0b3AtY29sb3I9XCIjN2UwZTA4XCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzdlMGUwOFwiLz48L3JhZGlhbEdyYWRpZW50PjxyYWRpYWxHcmFkaWVudCBpZD1cIm5cIiBjeD1cIi0yMzUuMjgyXCIgY3k9XCItMzA5LjcwNFwiIHI9XCIwLjA5N1wiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDk3LjQzNCwgMCwgMCwgLTc1Ljg0OCwgMjI5MzcuMDU3LCAtMjM0NjcuODQpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjYTMwYzAwXCIvPjxzdG9wIG9mZnNldD1cIjAuOTlcIiBzdG9wLWNvbG9yPVwiIzgwMGUwOFwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM4MDBlMDhcIi8+PC9yYWRpYWxHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJvXCIgeDE9XCItMjMxLjI0MVwiIHkxPVwiLTMwOS40MzVcIiB4Mj1cIi0yMzEuMjk5XCIgeTI9XCItMzA5LjMzN1wiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDQwLjEzNywgMCwgMCwgLTgxLjE0MywgOTI4Ni45OTgsIC0yNTA3OC41ODkpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjOGIyMTE0XCIvPjxzdG9wIG9mZnNldD1cIjAuNDNcIiBzdG9wLWNvbG9yPVwiIzllMTAwYVwiLz48c3RvcCBvZmZzZXQ9XCIwLjk5XCIgc3RvcC1jb2xvcj1cIiNiMzEwMGNcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjYjMxMDBjXCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwicFwiIHgxPVwiLTIzNS44OThcIiB5MT1cIi0zMTcuNDY2XCIgeDI9XCItMjM1LjgzMVwiIHkyPVwiLTMxNy41MzdcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCg3OC4wOTksIDAsIDAsIC0zMi42MjQsIDE4NDQ3LjM2MSwgLTEwMzUzLjU1MylcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNiMzEwMDBcIi8+PHN0b3Agb2Zmc2V0PVwiMC40NFwiIHN0b3AtY29sb3I9XCIjOTEwZjA4XCIvPjxzdG9wIG9mZnNldD1cIjAuOTlcIiBzdG9wLWNvbG9yPVwiIzc5MWMxMlwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM3OTFjMTJcIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHRpdGxlPmZpbGVfdHlwZV9ydWJ5PC90aXRsZT48cGF0aCBkPVwiTTIzLjY5MywyMC40NjksNy43MDcsMjkuOTYxbDIwLjctMS40TDMwLDcuNjg1WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2EpXCIvPjxwYXRoIGQ9XCJNMjguNDQsMjguNTQyLDI2LjY2MSwxNi4yNjNsLTQuODQ2LDYuNFpcIiBzdHlsZT1cImZpbGw6dXJsKCNiKVwiLz48cGF0aCBkPVwiTTI4LjQ2NCwyOC41NDIsMTUuNDMsMjcuNTE5LDcuNzc2LDI5LjkzNFpcIiBzdHlsZT1cImZpbGw6dXJsKCNjKVwiLz48cGF0aCBkPVwiTTcuNzk0LDI5LjkzNywxMS4wNSwxOS4yNywzLjg4NSwyMC44WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2QpXCIvPjxwYXRoIGQ9XCJNMjEuODEzLDIyLjdsLTMtMTEuNzM1TDEwLjI0MywxOVpcIiBzdHlsZT1cImZpbGw6dXJsKCNlKVwiLz48cGF0aCBkPVwiTTI5LjMyLDExLjEyN2wtOC4xLTYuNjE5LTIuMjU3LDcuM1pcIiBzdHlsZT1cImZpbGw6dXJsKCNmKVwiLz48cGF0aCBkPVwiTTI1LjUzLDIuMTQ4LDIwLjc2Myw0Ljc4MmwtMy4wMDctMi42N1pcIiBzdHlsZT1cImZpbGw6dXJsKCNnKVwiLz48cGF0aCBkPVwiTTIsMjQuMzhsMi0zLjY0MkwyLjM4MiwxNi40WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2gpXCIvPjxwYXRoIGQ9XCJNMi4yNzQsMTYuMjYzLDMuOSwyMC44NzNsNy4wNjItMS41ODRMMTkuMDI0LDExLjgsMjEuMyw0LjU2OWwtMy41ODMtMi41My02LjA5MSwyLjI4QzkuNzA2LDYuMSw1Ljk4Miw5LjYzNSw1Ljg0OCw5LjdzLTIuNDU5LDQuNDY0LTMuNTc0LDYuNTYyWlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwYXRoIGQ9XCJNNy45ODEsNy45ODFDMTIuMTQsMy44NTgsMTcuNSwxLjQyMSwxOS41NTksMy41cy0uMTI0LDcuMTIxLTQuMjgzLDExLjI0NFM1LjgyMSwyMS40MzQsMy43NjUsMTkuMzU4LDMuODIyLDEyLjEsNy45ODEsNy45ODFaXCIgc3R5bGU9XCJmaWxsOnVybCgjaSlcIi8+PHBhdGggZD1cIk03Ljc5NCwyOS45MzNsMy4yMzEtMTAuNywxMC43MjksMy40NDdjLTMuODc5LDMuNjM4LTguMTk0LDYuNzEzLTEzLjk2LDcuMjU0WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2opXCIvPjxwYXRoIGQ9XCJNMTkuMDM4LDExLjc3NGwyLjc1NCwxMC45MWMzLjI0LTMuNDA3LDYuMTQ5LTcuMDcsNy41NzMtMTEuNmwtMTAuMzI4LjY5MVpcIiBzdHlsZT1cImZpbGw6dXJsKCNrKVwiLz48cGF0aCBkPVwiTTI5LjMzNywxMS4xMzljMS4xLTMuMzI3LDEuMzU3LTguMS0zLjg0MS04Ljk4NUwyMS4yMzEsNC41MDlsOC4xMDYsNi42MjlaXCIgc3R5bGU9XCJmaWxsOnVybCgjbClcIi8+PHBhdGggZD1cIk0yLDI0LjMzMmMuMTUzLDUuNDksNC4xMTQsNS41NzIsNS44LDUuNjJsLTMuOS05LjFMMiwyNC4zMzJaXCIgc3R5bGU9XCJmaWxsOiM5ZTEyMDlcIi8+PHBhdGggZD1cIk0xOS4wNTMsMTEuNzkxYzIuNDksMS41MzEsNy41MDksNC42LDcuNjEsNC42NjFhMTcuNTUyLDE3LjU1MiwwLDAsMCwyLjYxOS01LjM0M2wtMTAuMjI5LjY4M1pcIiBzdHlsZT1cImZpbGw6dXJsKCNtKVwiLz48cGF0aCBkPVwiTTExLjAyMSwxOS4yMzJsNC4zMTksOC4zMzJhMjcuOTI0LDI3LjkyNCwwLDAsMCw2LjM4NS00Ljg4bC0xMC43LTMuNDUyWlwiIHN0eWxlPVwiZmlsbDp1cmwoI24pXCIvPjxwYXRoIGQ9XCJNMy44ODcsMjAuODYxbC0uNjEyLDcuMjg3YzEuMTU1LDEuNTc3LDIuNzQzLDEuNzE0LDQuNDA5LDEuNTkxLTEuMjA1LTMtMy42MTQtOS0zLjgtOC44NzhaXCIgc3R5bGU9XCJmaWxsOnVybCgjbylcIi8+PHBhdGggZD1cIk0yMS4yMDYsNC41MjhsOC41OCwxLjJjLS40NTgtMS45NC0xLjg2NC0zLjE5Mi00LjI2MS0zLjU4NGwtNC4zMTksMi4zOFpcIiBzdHlsZT1cImZpbGw6dXJsKCNwKVwiLz5gLFxuXHRcIlJ1c3RcIjogYDxkZWZzPjxyYWRpYWxHcmFkaWVudCBpZD1cImFcIiBjeD1cIi00OTIuMDM1XCIgY3k9XCItODgzLjM3XCIgcj1cIjEzLjk5OFwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDAuODY2LCAtMC41LCAtMC4zLCAtMC41MiwgMTc3LjEwNiwgLTY4OS4wMzMpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjN2Q3ZDdkXCIvPjxzdG9wIG9mZnNldD1cIjAuMjY3XCIgc3RvcC1jb2xvcj1cIiM3ZTdjN2FcIi8+PHN0b3Agb2Zmc2V0PVwiMC40NVwiIHN0b3AtY29sb3I9XCIjODE3ODcxXCIvPjxzdG9wIG9mZnNldD1cIjAuNjA4XCIgc3RvcC1jb2xvcj1cIiM4NjcxNjJcIi8+PHN0b3Agb2Zmc2V0PVwiMC43NTNcIiBzdG9wLWNvbG9yPVwiIzhkNjg0Y1wiLz48c3RvcCBvZmZzZXQ9XCIwLjg4NlwiIHN0b3AtY29sb3I9XCIjOTY1YzMwXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2EwNGYxMlwiLz48L3JhZGlhbEdyYWRpZW50PjwvZGVmcz48dGl0bGU+ZmlsZV90eXBlX3J1c3Q8L3RpdGxlPjxwYXRoIGQ9XCJNMTUuMTI0LDUuM2EuODMyLjgzMiwwLDEsMSwuODMyLjgzMmgwYS44MzEuODMxLDAsMCwxLS44MzItLjgzMk01LjIsMTIuODM0YS44MzIuODMyLDAsMSwxLC44MzIuODMyaDBhLjgzMi44MzIsMCwwLDEtLjgzMi0uODMybTE5Ljg1Ni4wMzlhLjgzMi44MzIsMCwxLDEsLjgzMi44MzIuODMxLjgzMSwwLDAsMS0uODMyLS44MzJoME03LjYwNSwxNC4wMTNhLjc2Ljc2LDAsMCwwLC4zODYtMWwtLjM2OS0uODM1SDkuMDc0djYuNTQ1SDYuMTQ0YTEwLjI0NywxMC4yNDcsMCwwLDEtLjMzMi0zLjkxMVptNi4wNzQuMTYxVjEyLjI0NWgzLjQ1OGMuMTc5LDAsMS4yNjEuMjA2LDEuMjYxLDEuMDE2LDAsLjY3Mi0uODMuOTEzLTEuNTEzLjkxM1pNOC45NTgsMjQuNTYxYS44MzIuODMyLDAsMSwxLC44MzIuODMyLjgzMS44MzEsMCwwLDEtLjgzMi0uODMyaDBtMTIuMzMxLjAzOWEuODMyLjgzMiwwLDEsMSwuODMyLjgzMi44MzIuODMyLDAsMCwxLS44MzItLjgzMmgwbS4yNTctMS44ODdhLjc1OC43NTgsMCwwLDAtLjkuNTg0bC0uNDE4LDEuOTQ5YTEwLjI0OSwxMC4yNDksMCwwLDEtOC41NDUtLjA0MWwtLjQxNy0xLjk0OWEuNzU5Ljc1OSwwLDAsMC0uOS0uNTgzaDBsLTEuNzIxLjM3YTEwLjIzMywxMC4yMzMsMCwwLDEtLjg5LTEuMDQ5aDguMzc0Yy4wOTUsMCwuMTU4LS4wMTcuMTU4LS4xVjE4LjkyOGMwLS4wODYtLjA2My0uMS0uMTU4LS4xaC0yLjQ1VjE2Ljk0N2gyLjY0OWExLjY2NSwxLjY2NSwwLDAsMSwxLjYyOSwxLjQxMmMuMTA1LjQxMy4zMzYsMS43NTcuNDk0LDIuMTg3LjE1Ny40ODMuOCwxLjQ0NywxLjQ4MiwxLjQ0N2g0LjMyM2ExMC4yNDMsMTAuMjQzLDAsMCwxLS45NDksMS4xWm00LjY1LTcuODIxYTEwLjI2MSwxMC4yNjEsMCwwLDEsLjAyMiwxLjc3OUgyNS4xNjdjLS4xMDUsMC0uMTQ4LjA2OS0uMTQ4LjE3MnYuNDgzYzAsMS4xMzYtLjY0MSwxLjM4NC0xLjIsMS40NDctLjUzNS4wNi0xLjEyOC0uMjI0LTEuMi0uNTUxYTMuNjE2LDMuNjE2LDAsMCwwLTEuNjcxLTIuODA4YzEuMDMtLjY1NCwyLjEtMS42MTksMi4xLTIuOTExQTMuMjkyLDMuMjkyLDAsMCwwLDIxLjQ0LDkuOGE0LjU1OSw0LjU1OSwwLDAsMC0yLjItLjcyNEg4LjM2N0ExMC4yNDYsMTAuMjQ2LDAsMCwxLDE0LjEsNS44NGwxLjI4MiwxLjM0NGEuNzU4Ljc1OCwwLDAsMCwxLjA3Mi4wMjZoMGwxLjQzNC0xLjM3MmExMC4yNDgsMTAuMjQ4LDAsMCwxLDcuMDE1LDVsLS45ODIsMi4yMTdhLjc2MS43NjEsMCwwLDAsLjM4NiwxWm0yLjQ0OC4wMzYtLjAzMy0uMzQzLDEuMDExLS45NDNhLjQyLjQyLDAsMCwwLS4wMTMtLjU5NS40MjguNDI4LDAsMCwwLS4xMjEtLjA4MUwyOC4yLDEyLjQ4M2wtLjEtLjMzNC44MDYtMS4xMmEuNDIyLjQyMiwwLDAsMC0uMTMtLjU4MS40My40MywwLDAsMC0uMTMzLS4wNTVsLTEuMzYzLS4yMjItLjE2NC0uMzA2LjU3My0xLjI1N2EuNDE5LjQxOSwwLDAsMC0uMjM2LS41NDQuNDI2LjQyNiwwLDAsMC0uMTQ2LS4wMjlsLTEuMzgzLjA0OEwyNS43LDcuODE5bC4zMTgtMS4zNDdhLjQyMS40MjEsMCwwLDAtLjM0My0uNDg3LjQzNS40MzUsMCwwLDAtLjE0NCwwTDI0LjE4Myw2LjNsLS4yNjYtLjIxOUwyMy45NjYsNC43YS40MjEuNDIxLDAsMCwwLS40MzEtLjQxMS40MjYuNDI2LDAsMCwwLS4xNDEuMDI4bC0xLjI1Ny41NzMtLjMwNi0uMTY0LS4yMjItMS4zNjNhLjQyMS40MjEsMCwwLDAtLjUtLjMxOC40My40MywwLDAsMC0uMTMzLjA1NWwtMS4xMjEuODA2LS4zMzMtLjEtLjQ4My0xLjI5M2EuNDIxLjQyMSwwLDAsMC0uNTU1LS4yMTUuNDQyLjQ0MiwwLDAsMC0uMTIuMDhMMTcuNDE4LDMuMzlsLS4zNDMtLjAzM0wxNi4zNDcsMi4xOGEuNDIxLjQyMSwwLDAsMC0uNjg4LDBsLS43MjgsMS4xNzctLjM0My4wMzMtLjk0My0xLjAxMmEuNDIxLjQyMSwwLDAsMC0uNTk1LjAxNS40NDIuNDQyLDAsMCwwLS4wOC4xMkwxMi40ODMsMy44bC0uMzMzLjEtMS4xMi0uOGEuNDIyLjQyMiwwLDAsMC0uNTgxLjEzLjQzLjQzLDAsMCwwLS4wNTUuMTMzbC0uMjIyLDEuMzYzLS4zMDYuMTY0TDguNjA4LDQuMzE3YS40MjEuNDIxLDAsMCwwLS41NDQuMjM5LjQ0NC40NDQsMCwwLDAtLjAyOC4xNDRsLjA0OCwxLjM4M0w3LjgxOCw2LjMsNi40NzEsNS45ODRhLjQyMS40MjEsMCwwLDAtLjQ4Ny4zNDMuNDM1LjQzNSwwLDAsMCwwLC4xNDRMNi4zLDcuODE5bC0uMjE4LjI2NUw0LjcsOC4wMzZhLjQyMi40MjIsMCwwLDAtLjM4My41NzNMNC44OSw5Ljg2NmwtLjE2NC4zMDYtMS4zNjMuMjIyYS40Mi40MiwwLDAsMC0uMzE4LjUuNDMuNDMsMCwwLDAsLjA1NS4xMzNsLjgwNiwxLjEyLS4xLjMzNC0xLjI5My40ODNhLjQyMS40MjEsMCwwLDAtLjIxNS41NTUuNDE0LjQxNCwwLDAsMCwuMDgxLjEyMWwxLjAxMS45NDMtLjAzMy4zNDMtMS4xNzcuNzI4YS40MjEuNDIxLDAsMCwwLDAsLjY4OGwxLjE3Ny43MjguMDMzLjM0My0xLjAxMS45NDNhLjQyMS40MjEsMCwwLDAsLjAxNS41OTUuNDM2LjQzNiwwLDAsMCwuMTE5LjA4bDEuMjkzLjQ4My4xLjMzNEwzLjEsMjAuOTcyYS40MjEuNDIxLDAsMCwwLC4xMzEuNTgxLjQzLjQzLDAsMCwwLC4xMzMuMDU1bDEuMzYzLjIyMi4xNjQuMzA3LS41NzMsMS4yNTdhLjQyMi40MjIsMCwwLDAsLjI0LjU0NS40MzguNDM4LDAsMCwwLC4xNDMuMDI4bDEuMzgzLS4wNDguMjE5LjI2Ni0uMzE3LDEuMzQ4YS40Mi40MiwwLDAsMCwuMzQxLjQ4Ni40LjQsMCwwLDAsLjE0NiwwTDcuODE4LDI1LjdsLjI2Ni4yMThMOC4wMzUsMjcuM2EuNDE5LjQxOSwwLDAsMCwuNDI5LjQxLjQxMy40MTMsMCwwLDAsLjE0My0uMDI4bDEuMjU3LS41NzMuMzA2LjE2NC4yMjIsMS4zNjJhLjQyMS40MjEsMCwwLDAsLjUuMzE5LjQwNy40MDcsMCwwLDAsLjEzMy0uMDU1bDEuMTItLjgwNy4zMzQuMS40ODMsMS4yOTJhLjQyMi40MjIsMCwwLDAsLjU1Ni4yMTQuNDM2LjQzNiwwLDAsMCwuMTE5LS4wOGwuOTQzLTEuMDExLjM0My4wMzQuNzI4LDEuMTc3YS40MjIuNDIyLDAsMCwwLC41ODguMS40MTMuNDEzLDAsMCwwLC4xLS4xbC43MjgtMS4xNzcuMzQzLS4wMzQuOTQzLDEuMDExYS40MjEuNDIxLDAsMCwwLC41OTUtLjAxNS40MzYuNDM2LDAsMCwwLC4wOC0uMTE5bC40ODMtMS4yOTIuMzM0LS4xLDEuMTIuODA3YS40MjEuNDIxLDAsMCwwLC41ODEtLjEzMS40My40MywwLDAsMCwuMDU1LS4xMzNsLjIyMi0xLjM2Mi4zMDYtLjE2NCwxLjI1Ny41NzNhLjQyMS40MjEsMCwwLDAsLjU0NC0uMjM5LjQzOC40MzgsMCwwLDAsLjAyOC0uMTQzbC0uMDQ4LTEuMzg0LjI2NS0uMjE4LDEuMzQ3LjMxN2EuNDIxLjQyMSwwLDAsMCwuNDg3LS4zNC40NDcuNDQ3LDAsMCwwLDAtLjE0NkwyNS43LDI0LjE4M2wuMjE4LS4yNjYsMS4zODMuMDQ4YS40MjEuNDIxLDAsMCwwLC40MS0uNDMxLjQuNCwwLDAsMC0uMDI4LS4xNDJsLS41NzMtMS4yNTcuMTY0LS4zMDcsMS4zNjMtLjIyMmEuNDIxLjQyMSwwLDAsMCwuMzE5LS41LjQzNC40MzQsMCwwLDAtLjA1Ni0uMTM1bC0uODA2LTEuMTIuMS0uMzM0LDEuMjkzLS40ODNhLjQyLjQyLDAsMCwwLC4yMTUtLjU1NC40MTQuNDE0LDAsMCwwLS4wODEtLjEyMWwtMS4wMTEtLjk0My4wMzMtLjM0MywxLjE3Ny0uNzI4YS40MjEuNDIxLDAsMCwwLDAtLjY4OFpcIiBzdHlsZT1cImZpbGw6dXJsKCNhKVwiLz5gLFxuXHRcIlNBU1wiOiBgPHBhdGggZD1cIk0xNi4wMTgsMzBBMTQsMTQsMCwxLDEsMzAsMTYuMiwxNCwxNCwwLDAsMSwxNi4wMTgsMzBaXCIgc3R5bGU9XCJmaWxsOiMwMDJiYjVcIi8+PHBhdGggZD1cIk05LjE3LDIyLjYzYy4wMjYuMDYxLjA0Ni4xMjQuMDc3LjE4MywyLjIxNSw0LjIwNiw3LjczOCw0LjYxNiwxMC43NTYsMi40NTRhNi4wMTcsNi4wMTcsMCwwLDAsMS43MzEtOC41ODMsMTUuNywxNS43LDAsMCwwLTEuMzE4LTEuNzMxYy0uODgxLTEuMDY3LTEuNzU1LTIuMTQtMi42MzYtMy4yMDctLjM2Ni0uNDQzLS43NjctLjgzNS0xLjQxNi0uNjgzYTEuMzkzLDEuMzkzLDAsMCwwLS44MTYsMi4zMTFjLjg4OCwxLjEwNiwxLjgxOSwyLjE3NywyLjcsMy4yODZhMy44NzQsMy44NzQsMCwwLDEsLjU4OSw0LjQsNS40MjMsNS40MjMsMCwwLDEtNSwzLjEzNEE2LjYsNi42LDAsMCwxLDkuMTcsMjIuNjNaXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHBhdGggZD1cIk0yMi40OTQsOS42MDljLjA4LS4yNDgtLjA2Ni0uMzctLjE0MS0uNTA5QTcuNDc3LDcuNDc3LDAsMCwwLDEyLjYsNi4yMzdjLTMuMywxLjYzLTUuMSw1LjM1Mi0yLjYzNyw5LjE0N2E1Ni41Myw1Ni41MywwLDAsMCw0LjEzNSw1LjEyLDEuMDEyLDEuMDEyLDAsMCwwLC43MDkuMzQ1LDEuMzg0LDEuMzg0LDAsMCwwLDEuNDI4LS43NjUsMS4yNDcsMS4yNDcsMCwwLDAtLjE3My0xLjUwN2MtLjg3Ni0xLjA1MS0xLjc2OS0yLjA4OC0yLjYxNS0zLjE2MmE0LjEzLDQuMTMsMCwwLDEsLjMyMy01Ljc3MUE2LjA1NCw2LjA1NCwwLDAsMSwxOS45ODQsOC4xMyw1LjE5LDUuMTksMCwwLDEsMjIuNDk0LDkuNjA5WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPmAsXG5cdFwiU2FzcyAoU2FzcylcIjogYDxwYXRoIGQ9XCJNMjYuMTEsMTcuNTcyYTUuOCw1LjgsMCwwLDAtMi41MzcuNTg4LDUuMzQ1LDUuMzQ1LDAsMCwxLS41NjgtMS4zMTQsMy41MywzLjUzLDAsMCwxLS4wNTEtMS4xLDkuODExLDkuODExLDAsMCwxLC4zMzItMS4xOTJjLS4wMDUtLjA1MS0uMDYxLS4yOTItLjYyNC0uM3MtMS4wNDguMTA3LTEuMS4yNTZhNi4xNzEsNi4xNzEsMCwwLDAtLjIzNS44MzQsMTkuNjg2LDE5LjY4NiwwLDAsMS0xLjcxMywzLjI5NCwzLjE4NiwzLjE4NiwwLDAsMS0uNDQtMi4wNjYsOS44MTEsOS44MTEsMCwwLDEsLjMzMi0xLjE5MmMtLjAwNS0uMDUxLS4wNjEtLjI5Mi0uNjI0LS4zcy0xLjA0OC4xMDctMS4xLjI1Ni0uMTE4LjUtLjIzNS44MzQtMS40ODMsMy4zODYtMS44NDEsNC4xNzNjLS4xODQuNC0uMzQzLjcyNi0uNDU1Ljk0NmgwYS4yMzMuMjMzLDAsMCwxLS4wMi4wNDFjLS4xLjE4OS0uMTUzLjI5Mi0uMTUzLjI5MnYuMDA1Yy0uMDc3LjEzOC0uMTU5LjI2Ni0uMi4yNjZhMS43MTEsMS43MTEsMCwwLDEsLjAxLS44NjljLjItMS4wNTkuNjktMi43MDUuNjg1LTIuNzYyLDAtLjAzMS4wOTItLjMxNy0uMzE3LS40NjVhLjUwOC41MDgsMCwwLDAtLjU3OC4xYy0uMDM2LDAtLjA2MS4wODctLjA2MS4wODdzLjQ0NS0xLjg1MS0uODQ5LTEuODUxYTMuODU1LDMuODU1LDAsMCwwLTIuNDc1LDEuNjgzYy0uMzQ4LjE4OS0xLjA4OS41OTMtMS44ODIsMS4wMjgtLjMuMTY5LS42MTQuMzM4LS45MDUuNS0uMDItLjAyLS4wNDEtLjA0Ni0uMDYxLS4wNjZDNi44NywxNy42LDMuOTc1LDE2LjQxNiw0LjEsMTQuMTcxYy4wNDYtLjgxOC4zMjctMi45NjYsNS41NTktNS41NzUsNC4zMDYtMi4xMjIsNy43MzMtMS41MzQsOC4zMjYtLjIzLjg0OSwxLjg2Mi0xLjgzNiw1LjMxOS02LjI4NSw1LjgyYTMuMzUxLDMuMzUxLDAsMCwxLTIuODEzLS43MTFjLS4yMzUtLjI1Ni0uMjcxLS4yNzEtLjM1OC0uMjItLjE0My4wNzctLjA1MS4zMDcsMCwuNDRhMi42MjYsMi42MjYsMCwwLDAsMS42MDYsMS4yNjMsOC41NSw4LjU1LDAsMCwwLDUuMjE3LS41MTdjMi43LTEuMDQzLDQuOC0zLjk0Myw0LjE4NC02LjM3Mi0uNjE5LTIuNDY1LTQuNzEtMy4yNzgtOC41ODItMS45QTE5LjUsMTkuNSwwLDAsMCw0LjM1OSw5Ljk1MmMtMi4xMzMsMS45OTUtMi40NywzLjcyOC0yLjMzMiw0LjQ1NS41LDIuNTc4LDQuMDUxLDQuMjU1LDUuNDcyLDUuNS0uMDcyLjA0MS0uMTM4LjA3Ny0uMTk0LjEwNy0uNzExLjM1My0zLjQyMSwxLjc3LTQuMSwzLjI2OC0uNzY3LDEuNy4xMjMsMi45MTUuNzExLDMuMDc5YTQuMzc0LDQuMzc0LDAsMCwwLDQuNzEtMS45MDhBNC43MjUsNC43MjUsMCwwLDAsOS4wNDksMjAuMWEuMTA3LjEwNywwLDAsMC0uMDItLjAzMWwuNTU3LS4zMjdjLjM2My0uMjE1LjcyMS0uNDE0LDEuMDI4LS41NzhhNi43NCw2Ljc0LDAsMCwwLS4zNjMsMS44NjIsMy44ODYsMy44ODYsMCwwLDAsLjgzNCwyLjcuOTIxLjkyMSwwLDAsMCwuNjc1LjIyYy42LDAsLjg3NS0uNSwxLjE3Ni0xLjA5NC4zNjgtLjcyNi43LTEuNTcuNy0xLjU3cy0uNDE0LDIuMjgxLjcxMSwyLjI4MWMuNDA5LDAsLjgyMy0uNTMyLDEuMDA4LS44di4wMDVzLjAxLS4wMTUuMDMxLS4wNTFsLjA2Ni0uMTA3di0uMDFjLjE2NC0uMjg2LjUzMi0uOTM2LDEuMDc5LTIuMDE1LjcwNi0xLjM5MSwxLjM4Ni0zLjEzLDEuMzg2LTMuMTNhOC44ODgsOC44ODgsMCwwLDAsLjI3MSwxLjEzLDEwLjY0MywxMC42NDMsMCwwLDAsLjU4MywxLjMwOWMtLjE2NC4yMy0uMjY2LjM1OC0uMjY2LjM1OGwuMDA1LjAwNWMtLjEzMy4xNzQtLjI3Ni4zNjMtLjQzNS41NDdhMTYuMywxNi4zLDAsMCwwLTEuMzE0LDEuNjQ3LjQ0Ny40NDcsMCwwLDAsLjEyMy42LDEuMTE2LDEuMTE2LDAsMCwwLC42ODUuMTEzLDMuMTQ3LDMuMTQ3LDAsMCwwLDEuMDI4LS4yMzUsMy40NSwzLjQ1LDAsMCwwLC44ODUtLjQ2NSwxLjk4LDEuOTgsMCwwLDAsLjg0OS0xLjc0NCwzLjUyMSwzLjUyMSwwLDAsMC0uMzIyLTEuMjMzYy4wNTEtLjA3Mi4xLS4xNDMuMTQ4LS4yMTVhMjMuNDI4LDIzLjQyOCwwLDAsMCwxLjUzNC0yLjY0OSw4Ljg4OCw4Ljg4OCwwLDAsMCwuMjcxLDEuMTMsNy41Nyw3LjU3LDAsMCwwLC41LDEuMTI1QTQuODYxLDQuODYxLDAsMCwwLDIwLjk2NSwyMC44Yy0uMzIyLjkzMS0uMDcyLDEuMzUuNCwxLjQ0N2ExLjQyNSwxLjQyNSwwLDAsMCwuNzQ3LS4xNTMsMy40LDMuNCwwLDAsMCwuOTQ2LS40ODYsMi4xMjYsMi4xMjYsMCwwLDAsMS4wNDMtMS43MjksMy4yNjgsMy4yNjgsMCwwLDAtLjIzNS0xLjAyMyw1LjM1Niw1LjM1NiwwLDAsMSwyLjcxNi0uMzEyYzIuNDM0LjI4NiwyLjkxNSwxLjgwNSwyLjgyMywyLjQ0NWExLjYxOCwxLjYxOCwwLDAsMS0uNzcyLDEuMDk0Yy0uMTY5LjEwNy0uMjI1LjE0My0uMjEuMjIuMDIuMTEzLjEuMTA3LjI0NS4wODdBMS45LDEuOSwwLDAsMCwzMCwyMC43Yy4wNzctMS41LTEuMzU1LTMuMTQ1LTMuODg3LTMuMTNaTTcuMzMsMjMuOWMtLjgwOC44OC0xLjkzMywxLjIxMi0yLjQxOS45MzEtLjUyMi0uMy0uMzE3LTEuNi42NzUtMi41MzJhMTIuODg0LDEyLjg4NCwwLDAsMSwxLjktMS40MTdjLjExOC0uMDcyLjI5Mi0uMTc0LjUtLjNsLjA1Ni0uMDMxaDBsLjEyMy0uMDc3QTMuNDkzLDMuNDkzLDAsMCwxLDcuMzMsMjMuOVptNS44ODEtNGMtLjI4MS42ODUtLjg2OSwyLjQ0LTEuMjI3LDIuMzQyLS4zMDctLjA4Mi0uNS0xLjQxMi0uMDYxLTIuNzI2YTYuMTkzLDYuMTkzLDAsMCwxLC45NTYtMS43NTRjLjQ0LS40OTEuOTI2LS42NTUsMS4wNDMtLjQ1NWE5LjA2Miw5LjA2MiwwLDAsMS0uNzExLDIuNTkzWm00Ljg1MywyLjMyMmMtLjExOC4wNjEtLjIzLjEtLjI4MS4wNzItLjAzNi0uMDIuMDUxLS4xLjA1MS0uMXMuNjA5LS42NTUuODQ5LS45NTFjLjEzOC0uMTc0LjMtLjM3OC40NzYtLjYwOVYyMC43YzAsLjc4Mi0uNzU3LDEuMzA5LTEuMDk0LDEuNTI0Wm0zLjc0NC0uODU0Yy0uMDg3LS4wNjEtLjA3Mi0uMjY2LjIyLS45MDVhMy40MDgsMy40MDgsMCwwLDEsLjgzNC0xLjA3NCwxLjQ0OCwxLjQ0OCwwLDAsMSwuMDgyLjQ3MSwxLjU0NywxLjU0NywwLDAsMS0xLjEzNSwxLjUwOVpcIiBzdHlsZT1cImZpbGw6I2NkNjc5OVwiLz5gLFxuXHRcIlNhc3MgKFNDU1MpXCI6IGA8cGF0aCBkPVwiTTE2LjE3MSwxOC43Yy0uNDgxLjIyMS0xLjAwOC41MDktMi4wNjMsMS4wODgtLjQuMjI1LS44MTguNDUtMS4yMDcuNjYyLS4wMjctLjAyNy0uMDU1LS4wNjEtLjA4Mi0uMDg5LTIuMDg3LTIuMjMtNS45NDctMy44MDUtNS43ODMtNi44LjA2MS0xLjA5MS40MzYtMy45NTUsNy40MTMtNy40MzMsNS43NDItMi44MywxMC4zMTEtMi4wNDYsMTEuMS0uMzA3QzI2LjY4Myw4LjMsMjMuMSwxMi45MTMsMTcuMTcsMTMuNTgyYTQuNDY5LDQuNDY5LDAsMCwxLTMuNzUxLS45NDhjLS4zMTQtLjM0MS0uMzYxLS4zNjEtLjQ3Ny0uMjkzLS4xOTEuMS0uMDY4LjQwOSwwLC41ODZhMy41LDMuNSwwLDAsMCwyLjE0MSwxLjY4NCwxMS40LDExLjQsMCwwLDAsNi45NTYtLjY4OWMzLjU5NC0xLjM5MSw2LjQtNS4yNTgsNS41NzgtOC41LS44MjUtMy4yODctNi4yODEtNC4zNzEtMTEuNDQzLTIuNTM3YTI2LDI2LDAsMCwwLTguNzksNS4wNDdjLTIuODQ0LDIuNjYtMy4yOTQsNC45NzItMy4xMSw1Ljk0LjY2MiwzLjQzNyw1LjQsNS42NzQsNy4zLDcuMzMxLS4xLjA1NS0uMTg0LjEtLjI1OS4xNDMtLjk0OC40NzEtNC41NjIsMi4zNi01LjQ2Myw0LjM1OC0xLjAyMywyLjI2NC4xNjQsMy44ODcuOTQ4LDQuMTA1YTUuODMyLDUuODMyLDAsMCwwLDYuMjgxLTIuNTQ0LDYuMyw2LjMsMCwwLDAsLjU1OS01LjgsNS4wMyw1LjAzLDAsMCwxLC43MTYtLjQ3N2MuNDg0LS4yODYuOTQ1LS41NjgsMS4zNTQtLjc4NmwwLDBhMTAuNDc1LDEwLjQ3NSwwLDAsMSw0LjQ3NS0uOTg5YzMuMjQ2LjM4MiwzLjg4NywyLjQwNywzLjc2NCwzLjI2YTIuMTU3LDIuMTU3LDAsMCwxLTEuMDMsMS40NTljLS4yMjUuMTQzLS4zLjE5MS0uMjguMjkzLjAyNy4xNS4xMzYuMTQzLjMyNy4xMTZhMi41MzUsMi41MzUsMCwwLDAsMS43NjYtMi4yNTdjLjEtMi0xLjgwNy00LjE5NC01LjE4My00LjE3NGE3Ljc1Myw3Ljc1MywwLDAsMC0yLjk0Ni41ODdxLS4yMjUuMDkzLS40MzcuMlptLTQuODI1LDcuODM5Yy0xLjA3OCwxLjE3My0yLjU3OCwxLjYxNi0zLjIyNiwxLjI0MS0uNy0uNC0uNDIzLTIuMTM1LjktMy4zNzZhMTcuMTgsMTcuMTgsMCwwLDEsMi41My0xLjg4OWMuMTU3LS4xLjM4OS0uMjMyLjY2OC0uNC4wNDgtLjAyNy4wNzUtLjA0MS4wNzUtLjA0MWwuMTY0LS4xQTQuNjU4LDQuNjU4LDAsMCwxLDExLjM0NiwyNi41MzlaXCIgc3R5bGU9XCJmaWxsOiNjZDY3OTlcIi8+YCxcblx0XCJTY2FsYVwiOiBgPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiLTEzNC45MDdcIiB5MT1cIjIwNC41NzJcIiB4Mj1cIi0xMzQuODk2XCIgeTI9XCIyMDQuNTcyXCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMTUzOCwgMCwgMCwgLTk2MS4yNSwgMjA3NDk1LCAxOTY2NjEpXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZTYyZDJhXCIvPjxzdG9wIG9mZnNldD1cIjAuNlwiIHN0b3AtY29sb3I9XCIjZGYzZjNkXCIvPjxzdG9wIG9mZnNldD1cIjAuOFwiIHN0b3AtY29sb3I9XCIjZGYzZjNkXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2U2MmQyYVwiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImJcIiB4MT1cIi0xMzQuOTA3XCIgeTE9XCIyMDMuNzgxXCIgeDI9XCItMTM0Ljg5NlwiIHkyPVwiMjAzLjc4MVwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDE1MzgsIDAsIDAsIC05NjEuMjUsIDIwNzQ5NSwgMTk1ODkyKVwiIHhsaW5rOmhyZWY9XCIjYVwiLz48bGluZWFyR3JhZGllbnQgaWQ9XCJjXCIgeDE9XCItMTM0LjkwN1wiIHkxPVwiMjA1LjM2M1wiIHgyPVwiLTEzNC44OTZcIiB5Mj1cIjIwNS4zNjNcIiBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgxNTM4LCAwLCAwLCAtOTYxLjI1LCAyMDc0OTUsIDE5NzQzMClcIiB4bGluazpocmVmPVwiI2FcIi8+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfc2NhbGE8L3RpdGxlPjxwYXRoIGQ9XCJNNy4zODQsMTkuMjMxdjIuMTU0YzAsLjM2Myw3LjgzMy45NzEsMTIuOTM3LDIuMTU0LDIuNDY1LS41NzEsNC4yOTUtMS4yNzcsNC4yOTUtMi4xNTRWMTkuMjMxYzAtLjg3Ny0xLjgzLTEuNTgyLTQuMjk1LTIuMTU0LTUuMSwxLjE4My0xMi45MzcsMS43OTEtMTIuOTM3LDIuMTU0XCIgc3R5bGU9XCJmaWxsOiM3ZjBjMWRcIi8+PHBhdGggZD1cIk03LjM4NCwxMC42MTV2Mi4xNTRjMCwuMzYzLDcuODMzLjk3MSwxMi45MzcsMi4xNTQsMi40NjUtLjU3MSw0LjI5NS0xLjI3Nyw0LjI5NS0yLjE1NFYxMC42MTVjMC0uODc3LTEuODMtMS41ODItNC4yOTUtMi4xNTQtNS4xLDEuMTgzLTEyLjkzNywxLjc5MS0xMi45MzcsMi4xNTRcIiBzdHlsZT1cImZpbGw6IzdmMGMxZFwiLz48cGF0aCBkPVwiTTcuMzg0LDE0LjkyM3Y2LjQ2MmMwLS41MzgsMTcuMjMyLTEuNjE1LDE3LjIzMi00LjMwOFYxMC42MTVjMCwyLjY5Mi0xNy4yMzIsMy43NjktMTcuMjMyLDQuMzA4XCIgc3R5bGU9XCJmaWxsOnVybCgjYSlcIi8+PHBhdGggZD1cIk03LjM4NCw2LjMwOFYxMi43N2MwLS41MzgsMTcuMjMyLTEuNjE1LDE3LjIzMi00LjMwOFYyYzAsMi42OTItMTcuMjMyLDMuNzY5LTE3LjIzMiw0LjMwOFwiIHN0eWxlPVwiZmlsbDp1cmwoI2IpXCIvPjxwYXRoIGQ9XCJNNy4zODQsMjMuNTM4VjMwYzAtLjUzOCwxNy4yMzItMS42MTUsMTcuMjMyLTQuMzA4VjE5LjIzMWMwLDIuNjkyLTE3LjIzMiwzLjc2OS0xNy4yMzIsNC4zMDhcIiBzdHlsZT1cImZpbGw6dXJsKCNjKVwiLz5gLFxuXHRcIlNoZWxsIHNlc3Npb25cIjogYDxwYXRoIGQ9XCJNMjkuNCwyNy42SDIuNVY0LjVIMjkuNFptLTI1LjktMUgyOC40VjUuNUgzLjVaXCIgc3R5bGU9XCJmaWxsOiNkOWI0MDBcIi8+PHBvbHlnb24gcG9pbnRzPVwiNi4wNzcgMTkuMzE2IDUuNTIyIDE4LjQ4NCAxMC4zNjYgMTUuMjU1IDUuNDc5IDExLjE4NCA2LjEyIDEwLjQxNiAxMi4wMzUgMTUuMzQ0IDYuMDc3IDE5LjMxNlwiIHN0eWxlPVwiZmlsbDojZDliNDAwXCIvPjxyZWN0IHg9XCIxMi43XCIgeT1cIjE4LjJcIiB3aWR0aD1cIjcuOFwiIGhlaWdodD1cIjFcIiBzdHlsZT1cImZpbGw6I2Q5YjQwMFwiLz48cmVjdCB4PVwiMi41XCIgeT1cIjUuNVwiIHdpZHRoPVwiMjYuOVwiIGhlaWdodD1cIjEuOVwiIHN0eWxlPVwiZmlsbDojZDliNDAwXCIvPmAsXG5cdFwiU2hlbGxcIjogYDxwYXRoIGQ9XCJNMjkuNCwyNy42SDIuNVY0LjVIMjkuNFptLTI1LjktMUgyOC40VjUuNUgzLjVaXCIgc3R5bGU9XCJmaWxsOiNkOWI0MDBcIi8+PHBvbHlnb24gcG9pbnRzPVwiNi4wNzcgMTkuMzE2IDUuNTIyIDE4LjQ4NCAxMC4zNjYgMTUuMjU1IDUuNDc5IDExLjE4NCA2LjEyIDEwLjQxNiAxMi4wMzUgMTUuMzQ0IDYuMDc3IDE5LjMxNlwiIHN0eWxlPVwiZmlsbDojZDliNDAwXCIvPjxyZWN0IHg9XCIxMi43XCIgeT1cIjE4LjJcIiB3aWR0aD1cIjcuOFwiIGhlaWdodD1cIjFcIiBzdHlsZT1cImZpbGw6I2Q5YjQwMFwiLz48cmVjdCB4PVwiMi41XCIgeT1cIjUuNVwiIHdpZHRoPVwiMjYuOVwiIGhlaWdodD1cIjEuOVwiIHN0eWxlPVwiZmlsbDojZDliNDAwXCIvPmAsXG5cdFwiU21hcnR5XCI6IGA8ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9XCJhXCIgeDE9XCIxMy44NTlcIiB5MT1cIjI5LjIxOVwiIHgyPVwiMTguMTA2XCIgeTI9XCIyOS4yMTlcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwLjAzNFwiIHN0b3AtY29sb3I9XCIjNjM2MzYxXCIvPjxzdG9wIG9mZnNldD1cIjAuMTc4XCIgc3RvcC1jb2xvcj1cIiM2YzZkNzBcIi8+PHN0b3Agb2Zmc2V0PVwiMC4yMTlcIiBzdG9wLWNvbG9yPVwiIzZmNzE3NVwiLz48c3RvcCBvZmZzZXQ9XCIwLjMwOVwiIHN0b3AtY29sb3I9XCIjNjE2MzY2XCIvPjxzdG9wIG9mZnNldD1cIjAuNDgxXCIgc3RvcC1jb2xvcj1cIiMzYzNkM2ZcIi8+PHN0b3Agb2Zmc2V0PVwiMC43MTZcIiBzdG9wLWNvbG9yPVwiIzAxMDEwMVwiLz48c3RvcCBvZmZzZXQ9XCIwLjcxOVwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM2MzZhNmVcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJiXCIgeDE9XCIxNS4xNzhcIiB5MT1cIjI5LjczNFwiIHgyPVwiMTYuNzg3XCIgeTI9XCIyOS43MzRcIiB4bGluazpocmVmPVwiI2FcIi8+PGxpbmVhckdyYWRpZW50IGlkPVwiY1wiIHgxPVwiMTUuMjc3XCIgeTE9XCIyOS44ODFcIiB4Mj1cIjE2LjY4OFwiIHkyPVwiMjkuODgxXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMC4wMzRcIiBzdG9wLWNvbG9yPVwiIzliOWI5OFwiLz48c3RvcCBvZmZzZXQ9XCIwLjEzMVwiIHN0b3AtY29sb3I9XCIjYTRhNWE3XCIvPjxzdG9wIG9mZnNldD1cIjAuMjE5XCIgc3RvcC1jb2xvcj1cIiNhZWIxYjhcIi8+PHN0b3Agb2Zmc2V0PVwiMC4zNTJcIiBzdG9wLWNvbG9yPVwiIzlmYTRhYlwiLz48c3RvcCBvZmZzZXQ9XCIwLjYwNVwiIHN0b3AtY29sb3I9XCIjNzg4MTg4XCIvPjxzdG9wIG9mZnNldD1cIjAuNzE5XCIgc3RvcC1jb2xvcj1cIiM2NTcwNzZcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjOGI5NDlhXCIvPjwvbGluZWFyR3JhZGllbnQ+PHJhZGlhbEdyYWRpZW50IGlkPVwiZFwiIGN4PVwiLTguNDU2XCIgY3k9XCItMTYuNjE2XCIgcj1cIjE5LjM4M1wiIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDM0LjA0MiAzNy4wNjMpIHNjYWxlKDEuMDU0KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjAuMDM0XCIgc3RvcC1jb2xvcj1cIiM3MDcwNmVcIi8+PHN0b3Agb2Zmc2V0PVwiMC4xMTJcIiBzdG9wLWNvbG9yPVwiIzYxNjI2MVwiLz48c3RvcCBvZmZzZXQ9XCIwLjIxOVwiIHN0b3AtY29sb3I9XCIjNDY0NzRhXCIvPjxzdG9wIG9mZnNldD1cIjAuNDA4XCIgc3RvcC1jb2xvcj1cIiM0ODQ5NGNcIi8+PHN0b3Agb2Zmc2V0PVwiMC40ODdcIiBzdG9wLWNvbG9yPVwiIzRlNTA1M1wiLz48c3RvcCBvZmZzZXQ9XCIwLjU0NFwiIHN0b3AtY29sb3I9XCIjNWE1YzVmXCIvPjxzdG9wIG9mZnNldD1cIjAuNTkyXCIgc3RvcC1jb2xvcj1cIiM2YTZlNzFcIi8+PHN0b3Agb2Zmc2V0PVwiMC42MzNcIiBzdG9wLWNvbG9yPVwiIzdmODU4OFwiLz48c3RvcCBvZmZzZXQ9XCIwLjY2N1wiIHN0b3AtY29sb3I9XCIjOTc5ZWExXCIvPjxzdG9wIG9mZnNldD1cIjAuNzE5XCIgc3RvcC1jb2xvcj1cIiMzZDQ0NDdcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjNjU2YzcwXCIvPjwvcmFkaWFsR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPVwiZVwiIHgxPVwiMTYuMTI2XCIgeTE9XCIyOC4xMDhcIiB4Mj1cIjE2LjA1XCIgeTI9XCIyNi44OTNcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwLjAzNFwiIHN0b3AtY29sb3I9XCIjOWI5Yjk4XCIvPjxzdG9wIG9mZnNldD1cIjAuMTA5XCIgc3RvcC1jb2xvcj1cIiNhNWE2YTdcIi8+PHN0b3Agb2Zmc2V0PVwiMC4yMTlcIiBzdG9wLWNvbG9yPVwiI2JhYmNjNFwiLz48c3RvcCBvZmZzZXQ9XCIwLjMxMVwiIHN0b3AtY29sb3I9XCIjYWJhZWI1XCIvPjxzdG9wIG9mZnNldD1cIjAuNDg3XCIgc3RvcC1jb2xvcj1cIiM4NDg5OGZcIi8+PHN0b3Agb2Zmc2V0PVwiMC43MTlcIiBzdG9wLWNvbG9yPVwiIzQ4NTA1NFwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM4Yjk0OWFcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJmXCIgeDE9XCIxNi4wMTNcIiB5MT1cIjI2LjU0MlwiIHgyPVwiMTUuODk1XCIgeTI9XCIyNC42MzVcIiB4bGluazpocmVmPVwiI2VcIi8+PGxpbmVhckdyYWRpZW50IGlkPVwiZ1wiIHgxPVwiMTYuMDIzXCIgeTE9XCIyNS41NDZcIiB4Mj1cIjE1Ljg4N1wiIHkyPVwiMjMuMzU1XCIgeGxpbms6aHJlZj1cIiNlXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cImhcIiB4MT1cIjE2LjAxM1wiIHkxPVwiMjcuNjI3XCIgeDI9XCIxNS44OTVcIiB5Mj1cIjI1LjcyXCIgeGxpbms6aHJlZj1cIiNlXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cImpcIiB4MT1cIjEzLjY4XCIgeTE9XCIyOC44MDVcIiB4Mj1cIjE4LjI4NFwiIHkyPVwiMjguODA1XCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMC4wMzRcIiBzdG9wLWNvbG9yPVwiIzU0NTQ1M1wiLz48c3RvcCBvZmZzZXQ9XCIwLjA3MVwiIHN0b3AtY29sb3I9XCIjNjE2MjYyXCIvPjxzdG9wIG9mZnNldD1cIjAuMTQzXCIgc3RvcC1jb2xvcj1cIiM4NDg1ODlcIi8+PHN0b3Agb2Zmc2V0PVwiMC4yMTlcIiBzdG9wLWNvbG9yPVwiI2FlYjFiOFwiLz48c3RvcCBvZmZzZXQ9XCIwLjM1MlwiIHN0b3AtY29sb3I9XCIjOWZhNGFiXCIvPjxzdG9wIG9mZnNldD1cIjAuNjA1XCIgc3RvcC1jb2xvcj1cIiM3ODgxODhcIi8+PHN0b3Agb2Zmc2V0PVwiMC43MTlcIiBzdG9wLWNvbG9yPVwiIzY1NzA3NlwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM1MDU2NTlcIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9XCJrXCIgeDE9XCIxMi4xNTlcIiB5MT1cIjI1LjgxM1wiIHgyPVwiMTkuNDc1XCIgeTI9XCIyNS44MTNcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNlNWUxZGZcIi8+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZGRkYWQ2XCIvPjxzdG9wIG9mZnNldD1cIjAuMDM4XCIgc3RvcC1jb2xvcj1cIiNjZWNjYzlcIi8+PHN0b3Agb2Zmc2V0PVwiMC4xMTJcIiBzdG9wLWNvbG9yPVwiI2E3YTlhOFwiLz48c3RvcCBvZmZzZXQ9XCIwLjIxMlwiIHN0b3AtY29sb3I9XCIjNjk3MDcyXCIvPjxzdG9wIG9mZnNldD1cIjAuMjY0XCIgc3RvcC1jb2xvcj1cIiM0NjUwNTRcIi8+PHN0b3Agb2Zmc2V0PVwiMC4zMDNcIiBzdG9wLWNvbG9yPVwiIzYzNmM2ZlwiLz48c3RvcCBvZmZzZXQ9XCIwLjM5OFwiIHN0b3AtY29sb3I9XCIjYTVhYWFjXCIvPjxzdG9wIG9mZnNldD1cIjAuNDc4XCIgc3RvcC1jb2xvcj1cIiNkNWQ3ZDlcIi8+PHN0b3Agb2Zmc2V0PVwiMC41MzlcIiBzdG9wLWNvbG9yPVwiI2YzZjRmNVwiLz48c3RvcCBvZmZzZXQ9XCIwLjU3M1wiIHN0b3AtY29sb3I9XCIjZmVmZWZmXCIvPjxzdG9wIG9mZnNldD1cIjAuNjJcIiBzdG9wLWNvbG9yPVwiI2Y0ZjVmNlwiLz48c3RvcCBvZmZzZXQ9XCIwLjY5OVwiIHN0b3AtY29sb3I9XCIjZGFkY2RmXCIvPjxzdG9wIG9mZnNldD1cIjAuOFwiIHN0b3AtY29sb3I9XCIjYjBiNGI5XCIvPjxzdG9wIG9mZnNldD1cIjAuODc2XCIgc3RvcC1jb2xvcj1cIiM4YjkyOThcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZDFkM2Q0XCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2E3YTlhY1wiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cImxcIiB4MT1cIjEyLjE1OVwiIHkxPVwiMjQuNzI4XCIgeDI9XCIxOS40NzVcIiB5Mj1cIjI0LjcyOFwiIHhsaW5rOmhyZWY9XCIja1wiLz48bGluZWFyR3JhZGllbnQgaWQ9XCJtXCIgeDE9XCIxMi4xNTlcIiB5MT1cIjIzLjU0OFwiIHgyPVwiMTkuNDc1XCIgeTI9XCIyMy41NDhcIiB4bGluazpocmVmPVwiI2tcIi8+PGxpbmVhckdyYWRpZW50IGlkPVwiblwiIHgxPVwiMTIuMTU5XCIgeTE9XCIyNi44OThcIiB4Mj1cIjE5LjQ3NVwiIHkyPVwiMjYuODk4XCIgeGxpbms6aHJlZj1cIiNrXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cIm9cIiB4MT1cIjEyLjE1OVwiIHkxPVwiMjUuOTY3XCIgeDI9XCIxOS40NzVcIiB5Mj1cIjI1Ljk2N1wiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2U1ZTFkZlwiLz48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNkZGU4ZDBcIi8+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZDJmM2JhXCIvPjxzdG9wIG9mZnNldD1cIjAuMDM2XCIgc3RvcC1jb2xvcj1cIiNjNWU0YjFcIi8+PHN0b3Agb2Zmc2V0PVwiMC4xMDVcIiBzdG9wLWNvbG9yPVwiI2E0YmQ5OFwiLz48c3RvcCBvZmZzZXQ9XCIwLjE5OVwiIHN0b3AtY29sb3I9XCIjNmU3ZjcxXCIvPjxzdG9wIG9mZnNldD1cIjAuMjY0XCIgc3RvcC1jb2xvcj1cIiM0NjUwNTRcIi8+PHN0b3Agb2Zmc2V0PVwiMC4zMDNcIiBzdG9wLWNvbG9yPVwiIzYzNmM2ZlwiLz48c3RvcCBvZmZzZXQ9XCIwLjM5OFwiIHN0b3AtY29sb3I9XCIjYTVhYWFjXCIvPjxzdG9wIG9mZnNldD1cIjAuNDc4XCIgc3RvcC1jb2xvcj1cIiNkNWQ3ZDlcIi8+PHN0b3Agb2Zmc2V0PVwiMC41MzlcIiBzdG9wLWNvbG9yPVwiI2YzZjRmNVwiLz48c3RvcCBvZmZzZXQ9XCIwLjU3M1wiIHN0b3AtY29sb3I9XCIjZmVmZWZmXCIvPjxzdG9wIG9mZnNldD1cIjAuNjJcIiBzdG9wLWNvbG9yPVwiI2Y0ZjVmNlwiLz48c3RvcCBvZmZzZXQ9XCIwLjY5OVwiIHN0b3AtY29sb3I9XCIjZGFkY2RmXCIvPjxzdG9wIG9mZnNldD1cIjAuOFwiIHN0b3AtY29sb3I9XCIjYjBiNGI5XCIvPjxzdG9wIG9mZnNldD1cIjAuODc2XCIgc3RvcC1jb2xvcj1cIiM4YjkyOThcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZDFkM2Q0XCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiI2E3YTlhY1wiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD1cInBcIiB4MT1cIjEyLjE1OVwiIHkxPVwiMjQuODgzXCIgeDI9XCIxOS40NzVcIiB5Mj1cIjI0Ljg4M1wiIHhsaW5rOmhyZWY9XCIjb1wiLz48bGluZWFyR3JhZGllbnQgaWQ9XCJxXCIgeDE9XCIxMi4xNTlcIiB5MT1cIjI3LjA1XCIgeDI9XCIxOS40NzVcIiB5Mj1cIjI3LjA1XCIgeGxpbms6aHJlZj1cIiNvXCIvPjxsaW5lYXJHcmFkaWVudCBpZD1cInJcIiB4MT1cIjExLjkwMlwiIHkxPVwiMjMuMjAxXCIgeDI9XCIxOS44ODRcIiB5Mj1cIjIzLjIwMVwiIHhsaW5rOmhyZWY9XCIjZVwiLz48cmFkaWFsR3JhZGllbnQgaWQ9XCJzXCIgY3g9XCItMTYuOTgzXCIgY3k9XCItMjIuOTQ4XCIgcj1cIjEwLjcxOFwiIGdyYWRpZW50VHJhbnNmb3JtPVwidHJhbnNsYXRlKDM0LjA0MiAzNy4wNjMpIHNjYWxlKDEuMDU0KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2ZmZmZkMVwiLz48c3RvcCBvZmZzZXQ9XCIwLjUwNVwiIHN0b3AtY29sb3I9XCIjZmYwXCIvPjxzdG9wIG9mZnNldD1cIjAuNTY4XCIgc3RvcC1jb2xvcj1cIiNmZGY3MDBcIi8+PHN0b3Agb2Zmc2V0PVwiMC42NjRcIiBzdG9wLWNvbG9yPVwiI2Y2ZTIwMFwiLz48c3RvcCBvZmZzZXQ9XCIwLjc4MlwiIHN0b3AtY29sb3I9XCIjZWJiZjAwXCIvPjxzdG9wIG9mZnNldD1cIjAuOTA2XCIgc3RvcC1jb2xvcj1cIiNkZTkyMDBcIi8+PHN0b3Agb2Zmc2V0PVwiMVwiIHN0b3AtY29sb3I9XCIjZGE5ODE5XCIvPjwvcmFkaWFsR3JhZGllbnQ+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfc21hcnR5PC90aXRsZT48cGF0aCBkPVwiTTEzLjg1OSwyOC43NzZhLjI0Mi4yNDIsMCwwLDAsLjEyOC4xOTEsMTIsMTIsMCwwLDAsMS4zOTIuNjIyLDQuMyw0LjMsMCwwLDAsLjU3OC4wNzJoLjA1MmE0LjMsNC4zLDAsMCwwLC41NzgtLjA3MiwxMi4wMTQsMTIuMDE0LDAsMCwwLDEuMzkyLS42MjIuMjQzLjI0MywwLDAsMCwuMTI4LS4xOTFsLTIuMTM3LjE5MlpcIiBzdHlsZT1cImZpbGw6dXJsKCNhKVwiLz48cGF0aCBkPVwiTTE2LjAxNCwzMGExLjEyMywxLjEyMywwLDAsMCwuNjg4LS4yNDcuMTc1LjE3NSwwLDAsMCwuMDg1LS4xMjZ2LS4xMDVhMy4yMzUsMy4yMzUsMCwwLDAtLjc3My0uMDUzaC0uMDYzYTMuMjM3LDMuMjM3LDAsMCwwLS43NzMuMDUzdi4xMDVhLjE3NS4xNzUsMCwwLDAsLjA4NS4xMjYsMS4xMjIsMS4xMjIsMCwwLDAsLjY4OC4yNDdaXCIgc3R5bGU9XCJmaWxsOnVybCgjYilcIi8+PHBhdGggZD1cIk0xNS45NTEsMjkuODA3YTQuNzMyLDQuNzMyLDAsMCwxLS42NzQtLjA0NCwxLjEwNSwxLjEwNSwwLDAsMCwuNjc0LjIzN2guMDYzYTEuMTA2LDEuMTA2LDAsMCwwLC42NzUtLjIzNyw0LjczMyw0LjczMywwLDAsMS0uNjc1LjA0NFpcIiBzdHlsZT1cImZpbGw6dXJsKCNjKVwiLz48cGF0aCBkPVwiTTE5LjgwOSwyNi44MzhhMSwxLDAsMCwwLS4yMzQuMzg5Yy0uMDM2LjE4MS0uMS41ODUtMS4zMjYsMS40MDZsLS4wMjUuMDE3YS40MzUuNDM1LDAsMCwxLS4wODYuMDM3LDkuOTY4LDkuOTY4LDAsMCwxLTIuMTU1LjIwOSw5Ljk2OCw5Ljk2OCwwLDAsMS0yLjE1Ni0uMjA5LjQzNi40MzYsMCwwLDEtLjA4NS0uMDM2bC0uMDI1LS4wMTdhNC41NzksNC41NzksMCwwLDEtMS4xMi0uOTU3Yy0uMTY0LS4yMTktLjM3My0uMjU3LS4zOS0uMzQ1YTIxLjA1NSwyMS4wNTUsMCwwLDAsMy44NTUuMDU3LDEzLjA0OSwxMy4wNDksMCwwLDAsMy43NjEtLjY1NEEuNjkyLjY5MiwwLDAsMSwxOS44MDksMjYuODM4WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2QpXCIvPjxwYXRoIGQ9XCJNMTkuNzcyLDI2Ljg4YS45ODUuOTg1LDAsMCwxLS4yNDYuMTI5Yy0uMDc2LjAyOC0uMjQ1LjA3OC0uMjQ1LjA3OGEyNS4xNSwyNS4xNSwwLDAsMS02LjQ1OC40MzZjLS4xMzYtLjAwOS0uMzItLjAyOC0uMzItLjAyOGExLjA2MiwxLjA2MiwwLDAsMS0uMTQtLjAyOCwxLjAxNiwxLjAxNiwwLDAsMSwuMTQuMTA3Yy4xNi4wMTMuMzE5LjAxOS4zMTkuMDE5YTI2Ljg2NCwyNi44NjQsMCwwLDAsNi43NDMtLjMyM2wuMDA5LS4wNDJBLjg4NS44ODUsMCwwLDEsMTkuNzcyLDI2Ljg4WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2UpXCIvPjxwYXRoIGQ9XCJNMTkuNDM5LDI1LjM4MnMuMjQ1LS4wNy4yNDUtLjE2MmEuMTE0LjExNCwwLDAsMC0uMDEzLS4wNjUuMjE0LjIxNCwwLDAsMS0uMDYxLS4xNDQuNDM3LjQzNywwLDAsMSwuMTE5LS4yNywxLjA2OSwxLjA2OSwwLDAsMS0uMi4xYy0uMDc2LjAyOC0uMjQ1LjA3OC0uMjQ1LjA3OGEyNS4xNTEsMjUuMTUxLDAsMCwxLTYuNDU4LjQzNmMtLjEzNi0uMDA5LS4zMi0uMDI4LS4zMi0uMDI4YTEuMDU1LDEuMDU1LDAsMCwxLS4xODEtLjA0MS4zNzcuMzc3LDAsMCwxLC4wNzguMjE3LjcxNi43MTYsMCwwLDEtLjI1NC40MzIuNjczLjY3MywwLDAsMSwuMzY4LS4wNzlBMjYuMiwyNi4yLDAsMCwwLDE5LjQzOSwyNS4zODJaXCIgc3R5bGU9XCJmaWxsOnVybCgjZilcIi8+PHBhdGggZD1cIk0xOS40MzksMjQuMjI5cy4yNDUtLjA3OC4yNDUtLjE4MmEuMTQzLjE0MywwLDAsMC0uMDEzLS4wNzMuMjU0LjI1NCwwLDAsMS0uMDYxLS4xNjIuNTE0LjUxNCwwLDAsMSwuMTE5LS4zLDEuMDI2LDEuMDI2LDAsMCwxLS4yLjExMWMtLjA3Ni4wMzItLjI0NS4wODgtLjI0NS4wODhhMjIuNTA3LDIyLjUwNywwLDAsMS02LjQ1OC40ODljLS4xMzYtLjAxLS4zMi0uMDMyLS4zMi0uMDMyYS45NTMuOTUzLDAsMCwxLS4xODEtLjA0Ni40NTUuNDU1LDAsMCwxLC4wNzguMjQzLjgyNS44MjUsMCwwLDEtLjI1NC40ODQuNjE0LjYxNCwwLDAsMSwuMzY4LS4wODlDMTMuMDE0LDI0Ljc1OCwxNi45MzUsMjUuMDQxLDE5LjQzOSwyNC4yMjlaXCIgc3R5bGU9XCJmaWxsOnVybCgjZylcIi8+PHBhdGggZD1cIk0xOS40MzksMjYuNDY3cy4yNDUtLjA3LjI0NS0uMTYzYS4xMTUuMTE1LDAsMCwwLS4wMTMtLjA2NS4yMTQuMjE0LDAsMCwxLS4wNjEtLjE0NC40MzUuNDM1LDAsMCwxLC4xMTktLjI3LDEuMDcsMS4wNywwLDAsMS0uMi4xYy0uMDc2LjAyOC0uMjQ1LjA3OC0uMjQ1LjA3OGEyNS4xNjIsMjUuMTYyLDAsMCwxLTYuNDU4LjQzNmMtLjEzNi0uMDA5LS4zMi0uMDI4LS4zMi0uMDI4YTEuMDQyLDEuMDQyLDAsMCwxLS4xODEtLjA0MS4zNzcuMzc3LDAsMCwxLC4wNzguMjE3LjcxNy43MTcsMCwwLDEtLjI1NC40MzIuNjcuNjcsMCwwLDEsLjM2OC0uMDc5QTI2LjIwNywyNi4yMDcsMCwwLDAsMTkuNDM5LDI2LjQ2N1pcIiBzdHlsZT1cImZpbGw6dXJsKCNoKVwiLz48cGF0aCBkPVwiTTE5LjQzOSwyNi40NjdzLjI0NS0uMDcuMjQ1LS4xNjNhLjExNS4xMTUsMCwwLDAtLjAxMy0uMDY1LjIxNC4yMTQsMCwwLDEtLjA2MS0uMTQ0LjQzNS40MzUsMCwwLDEsLjExOS0uMjcsMS4wNywxLjA3LDAsMCwxLS4yLjFjLS4wNzYuMDI4LS4yNDUuMDc4LS4yNDUuMDc4YTI1LjE2OCwyNS4xNjgsMCwwLDEtNi40NTguNDM2Yy0uMTM2LS4wMDktLjMyLS4wMjgtLjMyLS4wMjhhMS4wNDIsMS4wNDIsMCwwLDEtLjE4MS0uMDQxLjM3Ni4zNzYsMCwwLDEsLjA3OC4yMTcuNzE3LjcxNywwLDAsMS0uMjU0LjQzMi42Ny42NywwLDAsMSwuMzY4LS4wNzlBMjYuMjA3LDI2LjIwNywwLDAsMCwxOS40MzksMjYuNDY3WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2gpXCIvPjxwYXRoIGQ9XCJNMTguMjI0LDI4LjY1YS40MzUuNDM1LDAsMCwxLS4wODYuMDM3LDkuOTY4LDkuOTY4LDAsMCwxLTIuMTU1LjIwOSw5Ljk2OCw5Ljk2OCwwLDAsMS0yLjE1Ni0uMjA5LjQzNi40MzYsMCwwLDEtLjA4NS0uMDM2bC0uMDI1LS4wMTctLjAyOS0uMDE5YS4xMTIuMTEyLDAsMCwwLDAsLjA3M2MuMDI0LjA3My4xNDcuMS4xNDcuMWE5Ljk0Myw5Ljk0MywwLDAsMCwyLjE1LjIwOSw5Ljk0Miw5Ljk0MiwwLDAsMCwyLjE1LS4yMDlzLjEyNi0uMDI5LjE0Ny0uMWEuMTE4LjExOCwwLDAsMCwwLS4wNzNsLS4wMjkuMDE5WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2opXCIvPjxwYXRoIGQ9XCJNMTkuOTQ0LDI1LjVzLjA0MS4yNTItLjQxOC40MjNjLS4wNzYuMDI4LS4yNDUuMDc4LS4yNDUuMDc4YTI1LjE2MiwyNS4xNjIsMCwwLDEtNi40NTguNDM2Yy0uMTM2LS4wMDktLjMyLS4wMjgtLjMyLS4wMjgtLjI3Ni0uMDM4LS40NjctLjE2LS40NTUtLjMwOCwwLDAtLjAzMy0uMjQ5LjQ2Ni0uMjQ5YTI2LjIsMjYuMiwwLDAsMCw2LjkyNS0uNDcycy4yNDUtLjA3LjI0NS0uMTYyYS4xMTEuMTExLDAsMCwwLS4wMTMtLjA2NlMxOS45NDQsMjUuMzEyLDE5Ljk0NCwyNS41WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2spXCIvPjxwYXRoIGQ9XCJNMTkuOTQ0LDI0LjQxNnMuMDQxLjI1Mi0uNDE4LjQyM2MtLjA3Ni4wMjgtLjI0NS4wNzgtLjI0NS4wNzhhMjUuMTUxLDI1LjE1MSwwLDAsMS02LjQ1OC40MzZjLS4xMzYtLjAwOS0uMzItLjAyOC0uMzItLjAyOC0uMjc2LS4wMzgtLjQ2Ny0uMTYtLjQ1NS0uMzA4LDAsMC0uMDMzLS4yNDguNDY2LS4yNDhhMjYuMTkzLDI2LjE5MywwLDAsMCw2LjkyNS0uNDcycy4yNDUtLjA3LjI0NS0uMTYyYS4xMS4xMSwwLDAsMC0uMDEzLS4wNjVTMTkuOTQ0LDI0LjIyNywxOS45NDQsMjQuNDE2WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2wpXCIvPjxwYXRoIGQ9XCJNMTkuODkzLDI0LjQwNnYtLjAyMWMtLjAxMi4wNzYtLjA3OC4yMzYtLjQxNy4zNTUtLjA3Ni4wMjYtLjI0NS4wNzMtLjI0NS4wNzNhMjIuMzcyLDIyLjM3MiwwLDAsMS01LjEuNWgwYTIyLjE1NSwyMi4xNTUsMCwwLDAsNS4xLS40NDFzLjE2OS0uMDQ3LjI0NS0uMDczQzE5LjkzMywyNC42NDMsMTkuODkzLDI0LjQwNiwxOS44OTMsMjQuNDA2WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwYXRoIGQ9XCJNMTkuODkzLDI1LjQ5MVYyNS40N2MtLjAxMi4wNzYtLjA3OC4yMzYtLjQxNy4zNTUtLjA3Ni4wMjctLjI0NS4wNzMtLjI0NS4wNzNhMjIuMzgsMjIuMzgsMCwwLDEtNS4xLjVoMGEyMi4xNzEsMjIuMTcxLDAsMCwwLDUuMS0uNDQxcy4xNjktLjA0Ny4yNDUtLjA3M0MxOS45MzMsMjUuNzI4LDE5Ljg5MywyNS40OTEsMTkuODkzLDI1LjQ5MVpcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cGF0aCBkPVwiTTE5Ljk0NCwyMy4wMzRzLjA0MS4zMjktLjQxOC41NTJjLS4wNzYuMDM3LS4yNDUuMS0uMjQ1LjFhMTkuNDA5LDE5LjQwOSwwLDAsMS02LjQ1OC41NjljLS4xMzYtLjAxMi0uMzItLjAzNy0uMzItLjAzNy0uMjc2LS4wNS0uNDY3LS4yMDktLjQ1NS0uNCwwLDAtLjAzMy0uMzI0LjQ2Ni0uMzI0YTE4LjI4MywxOC4yODMsMCwwLDAsNi45MjUtLjQ2MSwxLjAxNCwxLjAxNCwwLDAsMCwuNDQ0LS4yMzhBLjUzLjUzLDAsMCwxLDE5Ljk0NCwyMy4wMzRaXCIgc3R5bGU9XCJmaWxsOnVybCgjbSlcIi8+PHBhdGggZD1cIk0xOS45NDQsMjYuNTg2cy4wNDEuMjUyLS40MTguNDIzYy0uMDc2LjAyOC0uMjQ1LjA3OC0uMjQ1LjA3OGEyNS4xNSwyNS4xNSwwLDAsMS02LjQ1OC40MzZjLS4xMzYtLjAwOS0uMzItLjAyOC0uMzItLjAyOC0uMjc2LS4wMzgtLjQ2Ny0uMTYtLjQ1NS0uMzA4LDAsMC0uMDMzLS4yNDguNDY2LS4yNDhhMjYuMjA3LDI2LjIwNywwLDAsMCw2LjkyNS0uNDcycy4yNDUtLjA3LjI0NS0uMTYzYS4xMTEuMTExLDAsMCwwLS4wMTMtLjA2NVMxOS45NDQsMjYuNCwxOS45NDQsMjYuNTg2WlwiIHN0eWxlPVwiZmlsbDp1cmwoI24pXCIvPjxwYXRoIGQ9XCJNMTkuODkzLDI2LjU3NnYtLjAyMWMtLjAxMi4wNzYtLjA3OC4yMzYtLjQxNy4zNTUtLjA3Ni4wMjYtLjI0NS4wNzMtLjI0NS4wNzNhMjIuMzcyLDIyLjM3MiwwLDAsMS01LjEuNWgwYTIyLjE2MywyMi4xNjMsMCwwLDAsNS4xLS40NDFzLjE2OS0uMDQ3LjI0NS0uMDczQzE5LjkzMywyNi44MTMsMTkuODkzLDI2LjU3NiwxOS44OTMsMjYuNTc2WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxwYXRoIGQ9XCJNMTkuODkzLDIzLjMyMVYyMy4zYy0uMDEyLjA3Ni0uMDc4LjIzNi0uNDE3LjM1NS0uMDc2LjAyNy0uMjQ1LjA3My0uMjQ1LjA3M2EyMi4zNzIsMjIuMzcyLDAsMCwxLTUuMS41aDBhMjIuMTU2LDIyLjE1NiwwLDAsMCw1LjEtLjQ0MXMuMTY5LS4wNDcuMjQ1LS4wNzNDMTkuOTMzLDIzLjU1OCwxOS44OTMsMjMuMzIxLDE5Ljg5MywyMy4zMjFaXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHBhdGggZD1cIk0xMi40MTcsMjUuODgxcy0uMjM2LDAtLjI0MS4wOC4yNDYuMDg1LjI0Ni4wODUuMTc1LDAsLjMuMDA1Yy42MTktLjAxMywxLjk5My0uMDM4LDMuNDM3LS4xNjZDMTQuMzg0LDI1Ljk1OCwxMi43MjMsMjUuODgzLDEyLjQxNywyNS44ODFaXCIgc3R5bGU9XCJmaWxsOnVybCgjbylcIi8+PHBhdGggZD1cIk0xMi40MTcsMjQuOHMtLjIzNiwwLS4yNDEuMDguMjQ2LjA4NS4yNDYuMDg1LjE3NSwwLC4zLjAwNWMuNjE5LS4wMTIsMS45OTMtLjAzOCwzLjQzNy0uMTY2QzE0LjM4NCwyNC44NzQsMTIuNzIzLDI0LjgsMTIuNDE3LDI0LjhaXCIgc3R5bGU9XCJmaWxsOnVybCgjcClcIi8+PHBhdGggZD1cIk0xMi40MTcsMjYuOTY1cy0uMjM2LDAtLjI0MS4wOC4yNDYuMDg1LjI0Ni4wODUuMTc1LDAsLjMuMDA1Yy42MTktLjAxMiwxLjk5My0uMDM4LDMuNDM3LS4xNjZDMTQuMzg0LDI3LjA0MiwxMi43MjMsMjYuOTY2LDEyLjQxNywyNi45NjVaXCIgc3R5bGU9XCJmaWxsOnVybCgjcSlcIi8+PHBhdGggZD1cIk0xMS45NjUsMjIuNzc5cy0uMjc0LjMxNS4zMTkuNzExYzAsMCw1Ljc3NS41ODcsNy42LS42OTVDMTkuODg0LDIyLjc5NSwxMy42MjMsMjMuMzIsMTEuOTY1LDIyLjc3OVpcIiBzdHlsZT1cImZpbGw6dXJsKCNyKVwiLz48cGF0aCBkPVwiTTIwLjAzNSwyMi43NzlhNC40NDksNC40NDksMCwwLDAsLjgxLTEuMTU1LDMuMzg2LDMuMzg2LDAsMCwwLC4yLTEuMTE1LDYuNzMzLDYuNzMzLDAsMCwxLC42MzItMi45MWMuNTM0LTEuMDE0LDIuODEtNC40NDcsMi44MS03LjQ2MkE4LjAxMiw4LjAxMiwwLDAsMCwxNiwyYTguMDEyLDguMDEyLDAsMCwwLTguNDgzLDguMTM2YzAsMy4wMTUsMi4yNzYsNi40NDgsMi44MSw3LjQ2MmE2LjczMSw2LjczMSwwLDAsMSwuNjMyLDIuOTEsMy4zODQsMy4zODQsMCwwLDAsLjIsMS4xMTUsNC40NTMsNC40NTMsMCwwLDAsLjgxLDEuMTU1LDEzLjg2NiwxMy44NjYsMCwwLDAsMy45ODcuMzdBMTUuMTUxLDE1LjE1MSwwLDAsMCwyMC4wMzUsMjIuNzc5WlwiIHN0eWxlPVwiZmlsbDp1cmwoI3MpXCIvPmAsXG5cdFwiU29saWRpdHkgKEV0aGVyZXVtKVwiOiBgPHBhdGggZD1cIk0yMC40NzcsMmwtNC41LDhoLTlsNC41LThoOVwiIHN0eWxlPVwiZmlsbDojYzFjMWMxO29wYWNpdHk6MC40NTtpc29sYXRpb246aXNvbGF0ZVwiLz48cGF0aCBkPVwiTTExLjUyLDMwbDQuNS04aDlsLTQuNSw4aC05XCIgc3R5bGU9XCJmaWxsOiNjMWMxYzE7b3BhY2l0eTowLjQ1O2lzb2xhdGlvbjppc29sYXRlXCIvPjxwYXRoIGQ9XCJNMTUuOTc1LDEwaDlsLTQuNS04aC05WlwiIHN0eWxlPVwiZmlsbDojYzFjMWMxO29wYWNpdHk6MC42O2lzb2xhdGlvbjppc29sYXRlXCIvPjxwYXRoIGQ9XCJNMTYuMDIyLDIyaC05bDQuNSw4aDlaXCIgc3R5bGU9XCJmaWxsOiNjMWMxYzE7b3BhY2l0eTowLjY7aXNvbGF0aW9uOmlzb2xhdGVcIi8+PHBhdGggZD1cIk0xMS40NzcsMThsNC41LTgtNC41LTgtNC41LDhaXCIgc3R5bGU9XCJmaWxsOiNjMWMxYzE7b3BhY2l0eTowLjg7aXNvbGF0aW9uOmlzb2xhdGVcIi8+PHBhdGggZD1cIk0yMC41MiwxNGwtNC41LDgsNC41LDgsNC41LThaXCIgc3R5bGU9XCJmaWxsOiNjMWMxYzE7b3BhY2l0eTowLjg7aXNvbGF0aW9uOmlzb2xhdGVcIi8+YCxcblx0XCJTb2x1dGlvbiBmaWxlXCI6IGA8ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9XCJhXCIgeDE9XCIxNlwiIHkxPVwiLTE4Mi4wNzJcIiB4Mj1cIjE2XCIgeTI9XCItMjA5LjkyOFwiIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KDEsIDAsIDAsIC0xLCAwLCAtMTgwKVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2ZmZlwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNmZmZcIiBzdG9wLW9wYWNpdHk9XCIwXCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjx0aXRsZT5maWxlX3R5cGVfc2xuPC90aXRsZT48cGF0aCBkPVwiTTYuMDQ1LDIzLjk5MWExLjE2NiwxLjE2NiwwLDAsMS0xLjIwOC4xOTFMMi43MTgsMjMuM0ExLjE2OCwxLjE2OCwwLDAsMSwyLDIyLjIyMlY5Ljc3OEExLjE2NSwxLjE2NSwwLDAsMSwyLjcxOCw4LjdsMi4xMTktLjg4M2ExLjE2OSwxLjE2OSwwLDAsMSwxLjIwOC4xOTFsLjQ3Ni40MDhBLjY0Ni42NDYsMCwwLDAsNS41LDguOTQyVjIzLjA1OGEuNjQ2LjY0NiwwLDAsMCwxLjAyMS41MjVaXCIgc3R5bGU9XCJmaWxsOiM1MjIxOGFcIi8+PHBhdGggZD1cIk0yLjcxOCwyMy4zQTEuMTY5LDEuMTY5LDAsMCwxLDIsMjIuMjIydi0uMWEuNjc0LjY3NCwwLDAsMCwxLjE3NC40NTJMMjEuMjUsMi41ODNhMS43NDMsMS43NDMsMCwwLDEsMS45OS0uMzM4bDUuNzY5LDIuNzc4QTEuNzQ5LDEuNzQ5LDAsMCwxLDMwLDYuNnYuMDY3YTEuMSwxLjEsMCwwLDAtMS44LS44NTRMNi41MjEsMjMuNTgzbC0uNDc2LjQwOGExLjE2NiwxLjE2NiwwLDAsMS0xLjIwOC4xOTFaXCIgc3R5bGU9XCJmaWxsOiM2YzMzYWZcIi8+PHBhdGggZD1cIk0yLjcxOCw4LjdBMS4xNjgsMS4xNjgsMCwwLDAsMiw5Ljc3OHYuMWEuNjc0LjY3NCwwLDAsMSwxLjE3NC0uNDUyTDIxLjI1LDI5LjQxNmExLjc0MywxLjc0MywwLDAsMCwxLjk5LjMzOGw1Ljc2OS0yLjc3OEExLjc0NywxLjc0NywwLDAsMCwzMCwyNS40di0uMDY4YTEuMSwxLjEsMCwwLDEtMS44Ljg1NUw2LjUyMSw4LjQxN2wtLjQ3Ni0uNDA4YTEuMTY2LDEuMTY2LDAsMCwwLTEuMjA4LS4xOTFaXCIgc3R5bGU9XCJmaWxsOiM4NTRjYzdcIi8+PHBhdGggZD1cIk0yMy4yNCwyOS43NTVhMS43NDMsMS43NDMsMCwwLDEtMS45OS0uMzM4QTEuMDI1LDEuMDI1LDAsMCwwLDIzLDI4LjY5MlYzLjMwOGExLjAyNSwxLjAyNSwwLDAsMC0xLjc1LS43MjUsMS43NDMsMS43NDMsMCwwLDEsMS45OS0uMzM4bDUuNzY4LDIuNzc0QTEuNzQ5LDEuNzQ5LDAsMCwxLDMwLDYuNlYyNS40MDVhMS43NTEsMS43NTEsMCwwLDEtLjk5MSwxLjU3N1pcIiBzdHlsZT1cImZpbGw6I2IxNzlmMVwiLz48ZyBzdHlsZT1cIm9wYWNpdHk6MC4yNVwiPjxwYXRoIGQ9XCJNMjIuMDkzLDI5Ljg4M2ExLjc0LDEuNzQsMCwwLDAsMS4xNDctLjEyOGw1Ljc2OC0yLjc3NEExLjc0OSwxLjc0OSwwLDAsMCwzMCwyNS40VjYuNmExLjc1LDEuNzUsMCwwLDAtLjk5Mi0xLjU3N0wyMy4yNCwyLjI0NWExLjc0MiwxLjc0MiwwLDAsMC0xLjk5LjMzOWwtOS4zLDEwLjI4NEw2LjUyMSw4LjQxNmwtLjQ3Ni0uNDA4YTEuMTY4LDEuMTY4LDAsMCwwLTEuMjA3LS4xOTFMMi43MTksOC43QTEuMTY3LDEuMTY3LDAsMCwwLDIsOS42ODljMCwuMDI5LDAsLjA1OSwwLC4wODhWMjIuMjIxYzAsLjAzLDAsLjA1OSwwLC4wODhhMS4xNjcsMS4xNjcsMCwwLDAsLjcxNS45ODlsMi4xMTkuODgzYTEuMjI2LDEuMjI2LDAsMCwwLC4xNTUuMDUyLDEuMTY1LDEuMTY1LDAsMCwwLDEuMDUyLS4yNDNsLjQ3Ni0uNDA4LDUuNDMtNC40NTIsOS4zLDEwLjI4NUExLjczMywxLjczMywwLDAsMCwyMi4wOTMsMjkuODgzWk0yMywxMC4wNzIsMTUuNzcsMTYsMjMsMjEuOTI3Wk01LjUsMTJsMy42MTksNEw1LjUsMjBaXCIgc3R5bGU9XCJmaWxsLXJ1bGU6ZXZlbm9kZDtmaWxsOnVybCgjYSlcIi8+PC9nPmAsXG5cdFwiU1BBUlFMXCI6IGA8cGF0aCBkPVwiTTI2LjI4NCwyMC4zNjFjLS4xNjUtLjA4NC0uMzU5LS4xNjQtLjUyMy0uMjQ4SDI1LjlzLTEuMTU4LS41LTEuMjQtNC4xNzZjLS4xMTEtMy42NTUsMS4xLTQuMjg5LDEuMS00LjI4OWE0Ljk2LDQuOTYsMCwwLDAsMi4xNzYtMi4xNDMsNS4xMjIsNS4xMjIsMCwwLDAtMi4xMjItNi45MjcsNS4zNDIsNS4zNDIsMCwwLDAtNy4xMzgsMi4xNDYsNS4wNjcsNS4wNjcsMCwwLDAtLjUyMywzLjIxNEwxOC4xLDcuODU1cy4zLDEuMzE5LTIuODM5LDMuMjcyYy0zLjExNSwxLjk1LTQuNTQ5Ljk2Mi00LjU0OS45NjJsLjA4Mi4xMzhhMi4xMzEsMi4xMzEsMCwwLDAtLjI3My0uMTY3LDUuMTE3LDUuMTE3LDAsMSwwLC44MjUsOC41MmwtLjAyNS4wNTVzMS4xMjktLjkzMyw0LjQwNy44MjdjMi41OTIsMS4zNzQsMi45NzksMi43NDgsMy4wMzMsMy4yNGE1LjEsNS4xLDAsMCwwLDIuNyw0LjcsNS4xMjQsNS4xMjQsMCwxLDAsNC44MjUtOS4wNDFabS01Ljc5LjY4NWMtLjQxMi4xMzgtMS42LjMtNC4wNzctMS4wMTctMi43LTEuNDU0LTMuMTE1LTIuNjY0LTMuMTY5LTMuMDIxYTUuNDA2LDUuNDA2LDAsMCwwLS4wNTctMS4zMTlsLjAyOS4wMjZTMTMsMTQuNTM0LDE2LjA4NCwxMi42MzljMi43NTctMS43MDUsNC4wMjYtMS4zNzQsNC4yNDUtMS4yOTNhMi44MywyLjgzLDAsMCwwLC40Ny4yNzcsNC4wODIsNC4wODIsMCwwLDAsLjk2NC4zODNjLjM4Ny4zNTcsMS4wNzYsMS4zNzQsMS4xNTgsNC4xcy0uNzE3LDMuNzY0LTEuMTU4LDQuMTIxQTUuMDQsNS4wNCwwLDAsMCwyMC40OTQsMjEuMDQ3WlwiIHN0eWxlPVwiZmlsbDojMGM0NzljXCIvPjxwYXRoIGQ9XCJNMjAuMTM1LDQuMjI5YTMuODYxLDMuODYxLDAsMCwwLS4wODIsNS4zODZjLS43MTctLjY4NS0uNjg4LTIuMTE3LjAyOS0zLjQ2MmEuNjczLjY3MywwLDAsMSwuNzQ2LS4yNzdjLjAyNSwwLC4wNTQuMDI5LjA4Mi4wMjlhLjk5My45OTMsMCwwLDAsLjI3Ni4wMjZBMS4wNTYsMS4wNTYsMCwwLDAsMjIuMiw0LjgwNWEuOTM0LjkzNCwwLDAsMC0uMy0uNjg1YzEuMzgtLjkwNywyLjk1LTEuMDE3LDMuNjEtLjQxMmguMDI5QTMuODI2LDMuODI2LDAsMCwwLDIwLjEzNSw0LjIyOVpNNS4xNDUsMTMuODQ2YTMuODU5LDMuODU5LDAsMCwwLS4wODIsNS4zODljLS43MTctLjY4OS0uNjkyLTIuMTE3LjAyNS0zLjQ2NWEuNjY4LjY2OCwwLDAsMSwuNzQ2LS4yNzNjLjAyNSwwLC4wNTQuMDI5LjA4Mi4wMjlhMSwxLDAsMCwwLC4yNzYuMDI2QTEuMDU2LDEuMDU2LDAsMCwwLDcuMjEsMTQuNDI1YS45NDUuOTQ1LDAsMCwwLS4zLS42ODljMS4zNzctLjkwNywyLjk0Ny0xLjAxNywzLjYxLS40MTJoLjAyNUEzLjg1MiwzLjg1MiwwLDAsMCw1LjE0NSwxMy44NDZabTE1Ljg3Miw4LjE2M2EzLjg2NSwzLjg2NSwwLDAsMC0uMDgyLDUuMzg5Yy0uNzE3LS42ODktLjY4OC0yLjExNy4wMjktMy40NjVhLjY2OC42NjgsMCwwLDEsLjc0Ni0uMjczYy4wMjUsMCwuMDU0LjAyNi4wODIuMDI2YS44ODcuODg3LDAsMCwwLC4yNzYuMDI5LDEuMDU3LDEuMDU3LDAsMCwwLDEuMDE4LTEuMTI2LjkzNi45MzYsMCwwLDAtLjMtLjY4OWMxLjM4LS45MDcsMi45NS0xLjAxNywzLjYxLS40MTJoLjAyOUEzLjgyOSwzLjgyOSwwLDAsMCwyMS4wMTcsMjIuMDA5WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPmAsXG5cdFwiU1FGXCI6IGA8cGF0aCBkPVwiTTI1LDIzLjVIN2E1LjAxNSw1LjAxNSwwLDAsMS01LTV2LTZhNS4wMTUsNS4wMTUsMCwwLDEsNS01SDI1YTUuMDE1LDUuMDE1LDAsMCwxLDUsNXY2YTUuMDE1LDUuMDE1LDAsMCwxLTUsNVpcIi8+PHBhdGggZD1cIk03LDE5LjQ2MWE0LjgxLDQuODEsMCwwLDEtMS40MTQtLjIsNS4wNTIsNS4wNTIsMCwwLDEtMS4xMTEtLjQ3MmwtLjQuNDMyaC0uNUwzLjUsMTYuMDUySDRhOC40NjIsOC40NjIsMCwwLDAsLjQzMS45NTMsNC42MzgsNC42MzgsMCwwLDAsLjYwNi45LDMuMTc3LDMuMTc3LDAsMCwwLC44LjY3NSwxLjk4NSwxLjk4NSwwLDAsMCwxLjAyOS4yNiwxLjY3MiwxLjY3MiwwLDAsMCwxLjIxNi0uNDExQTEuMzgyLDEuMzgyLDAsMCwwLDguNSwxNy4zOTFhMS4xNTYsMS4xNTYsMCwwLDAtLjM1OS0uODYyLDIuOTQ1LDIuOTQ1LDAsMCwwLTEuMTExLS42cS0uNDktLjE2Ny0uOS0uMzF0LS43NzMtLjI5MmEyLjU4LDIuNTgsMCwwLDEtMS4yMzktMS4wMDcsMi43MywyLjczLDAsMCwxLS40MDUtMS40NjUsMi40MDYsMi40MDYsMCwwLDEsLjIxLS45ODYsMi42MDgsMi42MDgsMCwwLDEsLjYxMi0uODUsMi45NjcsMi45NjcsMCwwLDEsLjk4NS0uNTc1LDMuNzIyLDMuNzIyLDAsMCwxLDEuMzA2LS4yMjMsMy45ODQsMy45ODQsMCwwLDEsMS4yODguMiw1LjE1MSw1LjE1MSwwLDAsMSwuOTQ0LjQwOGwuMzU2LS4zN2guNTA3bC4wNDcsMi45ODhoLS41cS0uMTc1LS40ODMtLjQxMS0uOTg3YTQuMzMyLDQuMzMyLDAsMCwwLS41LS44MzksMi4zLDIuMywwLDAsMC0uNjU5LS41NzMsMS43MjksMS43MjksMCwwLDAtLjg3NS0uMjE0QTEuNDM3LDEuNDM3LDAsMCwwLDYsMTEuMjEyYTEuMjMzLDEuMjMzLDAsMCwwLS40LjkzNCwxLjE0MSwxLjE0MSwwLDAsMCwuMzQ3Ljg2LDIuOTUxLDIuOTUxLDAsMCwwLDEuMDgyLjU4OHEuNDMxLjE1NC44OC4zMDl0LjguM2EyLjg4NSwyLjg4NSwwLDAsMSwxLjI4Ni45NTUsMi41MTIsMi41MTIsMCwwLDEsLjQ0LDEuNTEyLDIuNjMyLDIuNjMyLDAsMCwxLS45MjcsMS45ODUsMy4zNjcsMy4zNjcsMCwwLDEtMS4wNzkuNkE0LjM5MSw0LjM5MSwwLDAsMSw3LDE5LjQ2MVpcIiBzdHlsZT1cImZpbGw6I2MyYzJjMlwiLz48cGF0aCBkPVwiTTE4LjkyMSwxMS40MzRhNC4zMzgsNC4zMzgsMCwwLDEsLjk3MSwxLjQzMiw0LjgzNCw0LjgzNCwwLDAsMSwuMzU5LDEuOTE0LDQuOTU4LDQuOTU4LDAsMCwxLS43MiwyLjY4LDQuMDM2LDQuMDM2LDAsMCwxLTIuMDM4LDEuNjYxLDIuMTUxLDIuMTUxLDAsMCwwLC40MiwxLjI3MiwxLjE2OCwxLjE2OCwwLDAsMCwuOTUuNTM3LDMuNTYzLDMuNTYzLDAsMCwwLC41OTItLjA0M3EuMjU0LS4wNDMuNDU4LS4xdi41NDNhNS43NTMsNS43NTMsMCwwLDEtLjk4NS4zLDYuMDU0LDYuMDU0LDAsMCwxLTEuMzcuMTUxLDIuMjA2LDIuMjA2LDAsMCwxLTEuNjEyLS42MjEsMi41NzQsMi41NzQsMCwwLDEtLjcwOC0xLjczMkE0LjU3OSw0LjU3OSwwLDAsMSwxMy43LDE5YTQuMTg2LDQuMTg2LDAsMCwxLTEuMjUzLS45MzIsNC4zODgsNC4zODgsMCwwLDEtLjg0Mi0xLjM3Nyw0Ljc2OSw0Ljc2OSwwLDAsMS0uMzEyLTEuNzUzLDUuMjM3LDUuMjM3LDAsMCwxLC4zNDctMS45NDgsNC41LDQuNSwwLDAsMSwuOTUzLTEuNSw0LjExOSw0LjExOSwwLDAsMSwxLjQyNS0uOTQyLDQuODYsNC44NiwwLDAsMSwzLjUtLjAwOUE0LjI0Nyw0LjI0NywwLDAsMSwxOC45MjEsMTEuNDM0Wm0tMS41LDYuMjY2YTQuODU3LDQuODU3LDAsMCwwLC4zNzktMS4yNzMsOS45ODEsOS45ODEsMCwwLDAsLjExNy0xLjYwNiwxMC41MzQsMTAuNTM0LDAsMCwwLS4xLTEuNDgsNC45MzYsNC45MzYsMCwwLDAtLjM0Ny0xLjI4MiwyLjQxLDIuNDEsMCwwLDAtLjY2NS0uOSwxLjU3MSwxLjU3MSwwLDAsMC0xLjAzMi0uMzQsMS43MywxLjczLDAsMCwwLTEuNiwxLjA2LDYuNjM0LDYuNjM0LDAsMCwwLS41NDgsMi45OTMsOS41ODMsOS41ODMsMCwwLDAsLjEyLDEuNTUxLDQuOCw0LjgsMCwwLDAsLjM3NiwxLjI3MywyLjI4NiwyLjI4NiwwLDAsMCwuNjY1Ljg1NiwxLjU5MSwxLjU5MSwwLDAsMCwuOTkxLjMwNiwxLjYxMSwxLjYxMSwwLDAsMCwuOTkxLS4zMDlBMi4xMzUsMi4xMzUsMCwwLDAsMTcuNDIzLDE3LjdaXCIgc3R5bGU9XCJmaWxsOiNjMmMyYzJcIi8+PHBhdGggZD1cIk0yOC41LDEyLjhoLS40NTVhMy45MywzLjkzLDAsMCwwLS42LTEuMDg2LDEuMzg1LDEuMzg1LDAsMCwwLS44MTItLjYzYy0uMTE2LS4wMTYtLjI3Mi0uMDMxLS40NjUtLjA0M3MtLjM3My0uMDE5LS41MzUtLjAxOUgyNC4zNDl2My40MzNoLjgyMmExLjk2OSwxLjk2OSwwLDAsMCwuNjA2LS4wODMsMS4wNTQsMS4wNTQsMCwwLDAsLjQ1NS0uMywxLjU5MSwxLjU5MSwwLDAsMCwuMjgzLS41MTYsMi42MzUsMi42MzUsMCwwLDAsLjE2Ni0uNjIxaC40NDN2My42ODZoLS40NDNhMi40NzEsMi40NzEsMCwwLDAtLjE4MS0uNjc2LDIuMDk0LDIuMDk0LDAsMCwwLS4yNjgtLjUyOCwxLjAxMiwxLjAxMiwwLDAsMC0uNDMxLS4yOTMsMS44NDIsMS44NDIsMCwwLDAtLjYzLS4xaC0uODIydjIuOWEuODQyLjg0MiwwLDAsMCwuMDc5LjM4LjU4LjU4LDAsMCwwLC4zLjI1NiwxLjg3LDEuODcsMCwwLDAsLjM1My4xcS4yMjQuMDQ2LjQ0Ni4wNzF2LjQ4MmgtNC40NnYtLjQ4MmwuNDQ5LS4wNTJhMS41MjUsMS41MjUsMCwwLDAsLjM5MS0uMDgzLjU0Ny41NDcsMCwwLDAsLjI5Mi0uMjQxLjg0Mi44NDIsMCwwLDAsLjA4Mi0uNHYtNi4xOGEuODY3Ljg2NywwLDAsMC0uMDczLS4zNjcuNTc1LjU3NSwwLDAsMC0uMy0uMjYyLDIuMzQxLDIuMzQxLDAsMCwwLS40MzEtLjEzNnEtLjI2OC0uMDYyLS40MDgtLjA4di0uNDgySDI4LjVaXCIgc3R5bGU9XCJmaWxsOiNjMmMyYzJcIi8+YCxcblx0XCJTUUY6IFN0YXR1cyBRdW8gRnVuY3Rpb24gKEFybWEgMylcIjogYDxwYXRoIGQ9XCJNMjUsMjMuNUg3YTUuMDE1LDUuMDE1LDAsMCwxLTUtNXYtNmE1LjAxNSw1LjAxNSwwLDAsMSw1LTVIMjVhNS4wMTUsNS4wMTUsMCwwLDEsNSw1djZhNS4wMTUsNS4wMTUsMCwwLDEtNSw1WlwiLz48cGF0aCBkPVwiTTcsMTkuNDYxYTQuODEsNC44MSwwLDAsMS0xLjQxNC0uMiw1LjA1Miw1LjA1MiwwLDAsMS0xLjExMS0uNDcybC0uNC40MzJoLS41TDMuNSwxNi4wNTJINGE4LjQ2Miw4LjQ2MiwwLDAsMCwuNDMxLjk1Myw0LjYzOCw0LjYzOCwwLDAsMCwuNjA2LjksMy4xNzcsMy4xNzcsMCwwLDAsLjguNjc1LDEuOTg1LDEuOTg1LDAsMCwwLDEuMDI5LjI2LDEuNjcyLDEuNjcyLDAsMCwwLDEuMjE2LS40MTFBMS4zODIsMS4zODIsMCwwLDAsOC41LDE3LjM5MWExLjE1NiwxLjE1NiwwLDAsMC0uMzU5LS44NjIsMi45NDUsMi45NDUsMCwwLDAtMS4xMTEtLjZxLS40OS0uMTY3LS45LS4zMXQtLjc3My0uMjkyYTIuNTgsMi41OCwwLDAsMS0xLjIzOS0xLjAwNywyLjczLDIuNzMsMCwwLDEtLjQwNS0xLjQ2NSwyLjQwNiwyLjQwNiwwLDAsMSwuMjEtLjk4NiwyLjYwOCwyLjYwOCwwLDAsMSwuNjEyLS44NSwyLjk2NywyLjk2NywwLDAsMSwuOTg1LS41NzUsMy43MjIsMy43MjIsMCwwLDEsMS4zMDYtLjIyMywzLjk4NCwzLjk4NCwwLDAsMSwxLjI4OC4yLDUuMTUxLDUuMTUxLDAsMCwxLC45NDQuNDA4bC4zNTYtLjM3aC41MDdsLjA0NywyLjk4OGgtLjVxLS4xNzUtLjQ4My0uNDExLS45ODdhNC4zMzIsNC4zMzIsMCwwLDAtLjUtLjgzOSwyLjMsMi4zLDAsMCwwLS42NTktLjU3MywxLjcyOSwxLjcyOSwwLDAsMC0uODc1LS4yMTRBMS40MzcsMS40MzcsMCwwLDAsNiwxMS4yMTJhMS4yMzMsMS4yMzMsMCwwLDAtLjQuOTM0LDEuMTQxLDEuMTQxLDAsMCwwLC4zNDcuODYsMi45NTEsMi45NTEsMCwwLDAsMS4wODIuNTg4cS40MzEuMTU0Ljg4LjMwOXQuOC4zYTIuODg1LDIuODg1LDAsMCwxLDEuMjg2Ljk1NSwyLjUxMiwyLjUxMiwwLDAsMSwuNDQsMS41MTIsMi42MzIsMi42MzIsMCwwLDEtLjkyNywxLjk4NSwzLjM2NywzLjM2NywwLDAsMS0xLjA3OS42QTQuMzkxLDQuMzkxLDAsMCwxLDcsMTkuNDYxWlwiIHN0eWxlPVwiZmlsbDojYzJjMmMyXCIvPjxwYXRoIGQ9XCJNMTguOTIxLDExLjQzNGE0LjMzOCw0LjMzOCwwLDAsMSwuOTcxLDEuNDMyLDQuODM0LDQuODM0LDAsMCwxLC4zNTksMS45MTQsNC45NTgsNC45NTgsMCwwLDEtLjcyLDIuNjgsNC4wMzYsNC4wMzYsMCwwLDEtMi4wMzgsMS42NjEsMi4xNTEsMi4xNTEsMCwwLDAsLjQyLDEuMjcyLDEuMTY4LDEuMTY4LDAsMCwwLC45NS41MzcsMy41NjMsMy41NjMsMCwwLDAsLjU5Mi0uMDQzcS4yNTQtLjA0My40NTgtLjF2LjU0M2E1Ljc1Myw1Ljc1MywwLDAsMS0uOTg1LjMsNi4wNTQsNi4wNTQsMCwwLDEtMS4zNy4xNTEsMi4yMDYsMi4yMDYsMCwwLDEtMS42MTItLjYyMSwyLjU3NCwyLjU3NCwwLDAsMS0uNzA4LTEuNzMyQTQuNTc5LDQuNTc5LDAsMCwxLDEzLjcsMTlhNC4xODYsNC4xODYsMCwwLDEtMS4yNTMtLjkzMiw0LjM4OCw0LjM4OCwwLDAsMS0uODQyLTEuMzc3LDQuNzY5LDQuNzY5LDAsMCwxLS4zMTItMS43NTMsNS4yMzcsNS4yMzcsMCwwLDEsLjM0Ny0xLjk0OCw0LjUsNC41LDAsMCwxLC45NTMtMS41LDQuMTE5LDQuMTE5LDAsMCwxLDEuNDI1LS45NDIsNC44Niw0Ljg2LDAsMCwxLDMuNS0uMDA5QTQuMjQ3LDQuMjQ3LDAsMCwxLDE4LjkyMSwxMS40MzRabS0xLjUsNi4yNjZhNC44NTcsNC44NTcsMCwwLDAsLjM3OS0xLjI3Myw5Ljk4MSw5Ljk4MSwwLDAsMCwuMTE3LTEuNjA2LDEwLjUzNCwxMC41MzQsMCwwLDAtLjEtMS40OCw0LjkzNiw0LjkzNiwwLDAsMC0uMzQ3LTEuMjgyLDIuNDEsMi40MSwwLDAsMC0uNjY1LS45LDEuNTcxLDEuNTcxLDAsMCwwLTEuMDMyLS4zNCwxLjczLDEuNzMsMCwwLDAtMS42LDEuMDYsNi42MzQsNi42MzQsMCwwLDAtLjU0OCwyLjk5Myw5LjU4Myw5LjU4MywwLDAsMCwuMTIsMS41NTEsNC44LDQuOCwwLDAsMCwuMzc2LDEuMjczLDIuMjg2LDIuMjg2LDAsMCwwLC42NjUuODU2LDEuNTkxLDEuNTkxLDAsMCwwLC45OTEuMzA2LDEuNjExLDEuNjExLDAsMCwwLC45OTEtLjMwOUEyLjEzNSwyLjEzNSwwLDAsMCwxNy40MjMsMTcuN1pcIiBzdHlsZT1cImZpbGw6I2MyYzJjMlwiLz48cGF0aCBkPVwiTTI4LjUsMTIuOGgtLjQ1NWEzLjkzLDMuOTMsMCwwLDAtLjYtMS4wODYsMS4zODUsMS4zODUsMCwwLDAtLjgxMi0uNjNjLS4xMTYtLjAxNi0uMjcyLS4wMzEtLjQ2NS0uMDQzcy0uMzczLS4wMTktLjUzNS0uMDE5SDI0LjM0OXYzLjQzM2guODIyYTEuOTY5LDEuOTY5LDAsMCwwLC42MDYtLjA4MywxLjA1NCwxLjA1NCwwLDAsMCwuNDU1LS4zLDEuNTkxLDEuNTkxLDAsMCwwLC4yODMtLjUxNiwyLjYzNSwyLjYzNSwwLDAsMCwuMTY2LS42MjFoLjQ0M3YzLjY4NmgtLjQ0M2EyLjQ3MSwyLjQ3MSwwLDAsMC0uMTgxLS42NzYsMi4wOTQsMi4wOTQsMCwwLDAtLjI2OC0uNTI4LDEuMDEyLDEuMDEyLDAsMCwwLS40MzEtLjI5MywxLjg0MiwxLjg0MiwwLDAsMC0uNjMtLjFoLS44MjJ2Mi45YS44NDIuODQyLDAsMCwwLC4wNzkuMzguNTguNTgsMCwwLDAsLjMuMjU2LDEuODcsMS44NywwLDAsMCwuMzUzLjFxLjIyNC4wNDYuNDQ2LjA3MXYuNDgyaC00LjQ2di0uNDgybC40NDktLjA1MmExLjUyNSwxLjUyNSwwLDAsMCwuMzkxLS4wODMuNTQ3LjU0NywwLDAsMCwuMjkyLS4yNDEuODQyLjg0MiwwLDAsMCwuMDgyLS40di02LjE4YS44NjcuODY3LDAsMCwwLS4wNzMtLjM2Ny41NzUuNTc1LDAsMCwwLS4zLS4yNjIsMi4zNDEsMi4zNDEsMCwwLDAtLjQzMS0uMTM2cS0uMjY4LS4wNjItLjQwOC0uMDh2LS40ODJIMjguNVpcIiBzdHlsZT1cImZpbGw6I2MyYzJjMlwiLz5gLFxuXHRcIlNRTFwiOiBgPHBhdGggZD1cIk04LjU2MiwxNS4yNTZBMjEuMTU5LDIxLjE1OSwwLDAsMCwxNiwxNi40NDlhMjEuMTU5LDIxLjE1OSwwLDAsMCw3LjQzOC0xLjE5NGMxLjg2NC0uNzI3LDIuNTI1LTEuNTM1LDIuNTI1LTJWOS43YTEwLjM1NywxMC4zNTcsMCwwLDEtMi4wODQsMS4wNzZBMjIuMjkzLDIyLjI5MywwLDAsMSwxNiwxMi4wNzhhMjIuMzYsMjIuMzYsMCwwLDEtNy44NzktMS4zQTEwLjI4LDEwLjI4LDAsMCwxLDYuMDM3LDkuN3YzLjU1QzYuMDM3LDEzLjcyNCw2LjcsMTQuNTI4LDguNTYyLDE1LjI1NlpcIiBzdHlsZT1cImZpbGw6I2ZmZGE0NFwiLz48cGF0aCBkPVwiTTguNTYyLDIxLjk2MWExNS42MTEsMTUuNjExLDAsMCwwLDIuNi43NDFBMjQuOSwyNC45LDAsMCwwLDE2LDIzLjE1NWEyNC45LDI0LjksMCwwLDAsNC44MzgtLjQ1MiwxNS42MTQsMTUuNjE0LDAsMCwwLDIuNi0uNzQxYzEuODY0LS43MjcsMi41MjUtMS41MzUsMi41MjUtMnYtMy4zOWExMC43MDYsMTAuNzA2LDAsMCwxLTEuNjkyLjgyNUEyMy40OSwyMy40OSwwLDAsMSwxNiwxOC43NGEyMy40OSwyMy40OSwwLDAsMS04LjI3MS0xLjM0OCwxMC44MjksMTAuODI5LDAsMCwxLTEuNjkyLS44MjVWMTkuOTZDNi4wMzcsMjAuNDI2LDYuNywyMS4yMzEsOC41NjIsMjEuOTYxWlwiIHN0eWxlPVwiZmlsbDojZmZkYTQ0XCIvPjxwYXRoIGQ9XCJNMTYsMzBjNS41LDAsOS45NjMtMS43NDQsOS45NjMtMy44OTRWMjMuMjY5YTEwLjUsMTAuNSwwLDAsMS0xLjUzNS43NjJsLS4xNTcuMDYzQTIzLjQ4NywyMy40ODcsMCwwLDEsMTYsMjUuNDQ1YTIzLjQyMiwyMy40MjIsMCwwLDEtOC4yNzEtMS4zNTFjLS4wNTQtLjAyLS4xMDYtLjA0My0uMTU3LS4wNjNhMTAuNSwxMC41LDAsMCwxLTEuNTM1LS43NjJ2Mi44MzdDNi4wMzcsMjguMjU2LDEwLjUsMzAsMTYsMzBaXCIgc3R5bGU9XCJmaWxsOiNmZmRhNDRcIi8+PGVsbGlwc2UgY3g9XCIxNlwiIGN5PVwiNS44OTRcIiByeD1cIjkuOTYzXCIgcnk9XCIzLjg5NFwiIHN0eWxlPVwiZmlsbDojZmZkYTQ0XCIvPmAsXG5cdFwiU3F1aXJyZWxcIjogYDxwYXRoIGQ9XCJNMTIuOTY2LDI3LjNhMTguOTI2LDE4LjkyNiwwLDAsMS01LjcwNy0uOTE1Yy0xLjgzMi0uNTkyLTQuMDQ0LTEuNTQtNC45MzEtMy42NDVhLjU1Ny41NTcsMCwwLDEtLjAyNS0uMDczLDEyLjIxNCwxMi4yMTQsMCwwLDEsLjc2My03LjUzMWMxLjUyMi00LjAwOCwzLjcxLTYuNzM5LDYuNS04LjExNmExMC40MjIsMTAuNDIyLDAsMCwxLDcuNi0uNTUsMTAuNDI2LDEwLjQyNiwwLDAsMSw2LjA0LDQuNjM5LDExLjA1NywxMS4wNTcsMCwwLDEsMS4wNTgsMi4zMjYsMTAuNjYsMTAuNjYsMCwwLDEtNS4zNzgsMTIuNjg5bC0uMDIuMDA5QTE0LjgzMiwxNC44MzIsMCwwLDEsMTIuOTY2LDI3LjNaXCIvPjxwYXRoIGQ9XCJNMjIuNzIsMTEuMzkzYTEwLjE0NCwxMC4xNDQsMCwwLDAtMTIuOS0zLjg2OUM2LjcsOS4wNjEsNC43ODQsMTIuMiwzLjU5MywxNS4zMzRhMTEuOSwxMS45LDAsMCwwLS43NDYsNy4xODdjLjc4MywxLjg2LDIuNzc5LDIuNzQ0LDQuNTgyLDMuMzI3YTE2LjIwNiwxNi4yMDYsMCwwLDAsMTEuMjEzLS4yMzJBMTAuMTEsMTAuMTEsMCwwLDAsMjMuNzI3LDEzLjYsMTAuNDg4LDEwLjQ4OCwwLDAsMCwyMi43MiwxMS4zOTNaXCIgc3R5bGU9XCJmaWxsOiNhMDVhMmNcIi8+PHBhdGggZD1cIk0xNS43ODIsNi43MkE4LjI2Myw4LjI2MywwLDAsMSwxNy42NCw4LjA4NCw5LjY1LDkuNjUsMCwwLDEsMTkuMDgsOS44YTkuMzE3LDkuMzE3LDAsMCwxLTEuNTMxLDExLjkyMUExNC45MzMsMTQuOTMzLDAsMCwxLDcuNjU2LDI0LjdhNy41ODEsNy41ODEsMCwwLDEtNC4xMzUtMS4xLDguNDU0LDguNDU0LDAsMCwwLDMuOTA3LDIuMjQxLDE2LjIwOCwxNi4yMDgsMCwwLDAsMTEuMjE0LS4yMzNBMTAuMTEyLDEwLjExMiwwLDAsMCwyMy43MjcsMTMuNmExMC40ODcsMTAuNDg3LDAsMCwwLTEuMDA3LTIuMjExQTkuOTczLDkuOTczLDAsMCwwLDE1Ljc4Miw2LjcyWlwiIHN0eWxlPVwiZmlsbC1vcGFjaXR5OjAuMzEzNzI1NTAxMjk4OTA0NFwiLz48cGF0aCBkPVwiTTIzLjQ3NiwxMy4zODlsLTEuMDYyLTIuODk1LjE1Mi0uMjM2QTYuODc1LDYuODc1LDAsMCwxLDI3LjUwOSw3LjdhMi4xNzcsMi4xNzcsMCwwLDEsMS44NzkuNTg4LDMuMzc2LDMuMzc2LDAsMCwxLC4xLDMuNzI5Yy0uMzQzLjI5Mi0uNzUxLjEyNC0xLjIyMi0uMDdhMi44MjEsMi44MjEsMCwwLDAtMi4xMzMtLjI3LDEwLjIsMTAuMiwwLDAsMC0yLjA0NywxLjIwOVpcIi8+PHBhdGggZD1cIk0yMy4wMzksMTAuNTYzYzEuMjIzLTEuOSw1LjEwNy0yLjkxNSw1LjkxMi0xLjkyM2EyLjk3LDIuOTcsMCwwLDEsLjE3NywyLjk0NWMtLjI0NS4yMDctMS44MzctMS4wNTktMy4yMjUtLjQyM0ExMC41NzQsMTAuNTc0LDAsMCwwLDIzLjczLDEyLjQ1WlwiIHN0eWxlPVwiZmlsbDojNTAyZDE2XCIvPjxwYXRoIGQ9XCJNMjkuNCw5LjcyN2EuOC44LDAsMCwxLS4yLjQ2OWMtLjIyOS4xNjItMS45LS41MDYtMy4yMzguMDU2YTEyLjQzOSwxMi40MzksMCwwLDAtMi4wNzEsMS4wN0wyMy4yLDEwLjM0Yy0uMDU3LjA3NC0uMTE2LjE0Ny0uMTY1LjIyM2wuNjkyLDEuODg2QTEwLjU3NywxMC41NzcsMCwwLDEsMjUuOSwxMS4xNjJjMS4zODgtLjYzNiwyLjk4LjYzMSwzLjIyNS40MjNBMi44NDYsMi44NDYsMCwwLDAsMjkuNCw5LjcyN1pcIiBzdHlsZT1cImZpbGwtb3BhY2l0eTowLjMxMzcyNTUwMTI5ODkwNDRcIi8+PHBhdGggZD1cIk0yMS4zODIsMjUuMThhMi4yMzYsMi4yMzYsMCwwLDEtMS4xNDctLjMyMy41NjMuNTYzLDAsMCwxLS4wODItLjg4OGMuNzM3LS42ODQuNjA3LTIuMTczLS40MS00LjY4OWEzNi41MjYsMzYuNTI2LDAsMCwwLTUuMTIzLTguODI1bC0uMzUtLjQzYy0xLjUxMi0xLjg2NS0yLjM1OC0yLjgxNS0zLjU1NC0yLjNhLjU2Mi41NjIsMCwwLDEtLjQxMy4wMTYuNTcxLjU3MSwwLDAsMS0uMzc3LS41OTIsMi4xMTksMi4xMTksMCwwLDEsMS40NjEtMmM0LjcxNi0xLjQ4MSwxMC4yNi44MTQsMTIuOTA1LDUuMzQ0YTExLjIsMTEuMiwwLDAsMS0xLjQzMSwxMy45OTFBMS45MTksMS45MTksMCwwLDEsMjEuMzgyLDI1LjE4WlwiLz48cGF0aCBkPVwiTTIzLjgxMiwxMC43ODNjLTIuNDQ0LTQuMTkyLTcuNzMtNi41MjgtMTIuMjctNS4wOTMtMS4wMDcuMjQ4LTEuMDY1LDEuNTM1LTEuMDUyLDEuNTE3LDEuNzc2LS43NjcsMi45NTMuOTE5LDQuNTY2LDIuODlhMzYuOSwzNi45LDAsMCwxLDUuMjA5LDguOTcxYy44OSwyLjIsMS40LDQuMjY3LjI3LDUuMzEyYTEuNSwxLjUsMCwwLDAsMS45MDktLjI3NEExMC42NDYsMTAuNjQ2LDAsMCwwLDIzLjgxMiwxMC43ODNaXCIgc3R5bGU9XCJmaWxsOiM1MDJkMTZcIi8+PHBhdGggZD1cIk0yMy42NDksMTAuMzQ2YTkuMzE0LDkuMzE0LDAsMCwxLTIuNTE4LDcuNzI1Yy0uNDU1LjQ4Ni0uODczLjE3Ny0xLjI2My4wNjMuMTM4LjMxMy4yNzEuNjI2LjQuOTM2Ljg5LDIuMiwxLjQsNC4yNjYuMjcxLDUuMzEyYTEuNSwxLjUsMCwwLDAsMS45MDktLjI3NEMyNi4wODksMjAuMTgzLDI2LjM1NywxNC45MTksMjMuNjQ5LDEwLjM0NlpcIiBzdHlsZT1cImZpbGwtb3BhY2l0eTowLjMxMzcyNTUwMTI5ODkwNDRcIi8+YCxcblx0XCJTdGFuXCI6IGA8dGl0bGU+ZmlsZV90eXBlX3N0YW48L3RpdGxlPjxwYXRoIGQ9XCJNMTYsMkExNCwxNCwwLDAsMCw1LjY4OCwyNS40NjljMS43LS41MTQsMy40MTEtLjk5Miw0LjgwNi0xLjM1Nyw0LjAzNy0xLjA1NCwxMC45NDgtMi44MzYsMTEuOTQ2LTUuMDgyLS4yOC43OC0xLjIxOCwyLjg3LTEuMjE4LDIuODctMS4yNzksMS4yNDctNy4wOSwyLjYzMS0xMC45MTcsMy4zNjctMS4yMi4yMzUtMi42MTQuNTA3LTQuMDI2LjgwNkExNCwxNCwwLDAsMCwyOC40NjcsOS42MjhjLTIuNTI2LjQwOC0xMC41LDEuODU0LTEyLjUzOSwyLjMxNS0yLjI1NS41MDktNi43ODksMS40MzMtNy42OTQsMi45OTNDOC44LDEzLjUsMTAuNDkyLDkuNzQ0LDEwLjQ5Miw5Ljc0NGMxLjIxNi0yLDYuNi0zLjQyNSwxMC4zNTgtNC40NjMuODc2LS4yNDIsMS45MjItLjUzOSwzLjAyMy0uODU4QTEzLjkzNCwxMy45MzQsMCwwLDAsMTYsMlpcIiBzdHlsZT1cImZpbGw6I2IyMDAxZFwiLz48cGF0aCBkPVwiTTguMjIzLDE0Ljk4N2MtLjI1MiwxLjE3NSwzLjUyLDIuMzEzLDYuOTIxLDMuMzg5YTI2LjM2MiwyNi4zNjIsMCwwLDEsNS42NjcsMi4xOTIsMy4wODUsMy4wODUsMCwwLDAsMS42NjItMS42MTRjLjM3Ny0xLjQ4OS0zLjAxMy0zLjM5My01LjI3NC00LjIyOWEzMy4zMzcsMzMuMzM3LDAsMCwxLTQuNDA3LTIuMDQyYy00LjMxNiwxLjE0My00LjU2OSwyLjMtNC41NjksMi4zWlwiIHN0eWxlPVwiZmlsbDojNTkwODE1XCIvPmAsXG5cdFwiU3RhdGEgQWRvXCI6IGA8ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9XCJhXCIgeDE9XCIxNlwiIHkxPVwiMlwiIHgyPVwiMTZcIiB5Mj1cIjMwXCIgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjOGFhN2MwXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzNjNmU4ZlwiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48dGl0bGU+ZmlsZV90eXBlX3N0YXRhPC90aXRsZT48cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIyOFwiIGhlaWdodD1cIjI4XCIgcng9XCIxLjU1NlwiIHJ5PVwiMS41NTZcIiBzdHlsZT1cImZpbGw6dXJsKCNhKVwiLz48cmVjdCB4PVwiMTMuMTcxXCIgeT1cIjYuMDE1XCIgd2lkdGg9XCI1Ljc1NlwiIGhlaWdodD1cIjUuNzU2XCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHJlY3QgeD1cIjIwLjMyNlwiIHk9XCI2LjAxNVwiIHdpZHRoPVwiNS43NTZcIiBoZWlnaHQ9XCI1Ljc1NlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxyZWN0IHg9XCIyMC4zMjZcIiB5PVwiMTMuMTcxXCIgd2lkdGg9XCI1Ljc1NlwiIGhlaWdodD1cIjUuNzU2XCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHJlY3QgeD1cIjEzLjE3MVwiIHk9XCIxMy4xNzFcIiB3aWR0aD1cIjUuNzU2XCIgaGVpZ2h0PVwiNS43NTZcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cmVjdCB4PVwiNi4wMTVcIiB5PVwiMTMuMTcxXCIgd2lkdGg9XCI1Ljc1NlwiIGhlaWdodD1cIjUuNzU2XCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHJlY3QgeD1cIjYuMDE1XCIgeT1cIjIwLjMyNlwiIHdpZHRoPVwiNS43NTZcIiBoZWlnaHQ9XCI1Ljc1NlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPjxyZWN0IHg9XCIxMy4xNzFcIiB5PVwiMjAuMzI2XCIgd2lkdGg9XCI1Ljc1NlwiIGhlaWdodD1cIjUuNzU2XCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+YCxcblx0XCJTdHlsdXNcIjogYDx0aXRsZT5maWxlX3R5cGVfc3R5bHVzPC90aXRsZT48cGF0aCBkPVwiTTYuMzE1LDIwLjc3NmMuNzI2LS44NjkuODEyLTEuNzY2LjI0OS0zLjQzMi0uMzU2LTEuMDU0LS45NDctMS44NjUtLjUxMy0yLjUyMS40NjMtLjcsMS40NDUtLjAyMS42MjcuOTExbC4xNjQuMTE0Yy45ODMuMTE0LDEuNDY3LTEuMjMyLjczMy0xLjYxNi0xLjkzNy0xLjAxMS0zLjYzMS45MzMtMi44ODQsMy4xODMuMzIuOTU0Ljc2OSwxLjk2NS40MDYsMi43N0ExLjc5NCwxLjc5NCwwLDAsMSwzLjc3MywyMS4zYy0uODQ3LjA0My0uMjg1LTEuOS42OTEtMi4zODUuMDg1LS4wNDMuMjA2LS4xLjA5My0uMjQyYTIuMTM0LDIuMTM0LDAsMCwwLTIuMzE0LDEuMkMxLjA2MSwyMi4xMjEsNC40ODUsMjIuOTU0LDYuMzE1LDIwLjc3NlpcIiBzdHlsZT1cImZpbGw6I2MyYzJjMlwiLz48cGF0aCBkPVwiTTI3LjQ2MiwxNC4xNGMuMjc4LjY4NC43LDEuMzYuNDQ5LDEuOTU4LS4yMDYuNTEzLS40NzcuNzI2LS43NzYuNzc2LS40Mi4wNzEtLjMwNi0xLjI0Ni40MTMtMS42MzguMDY0LS4wMzYuMTU3LS4yMDYuMDcxLS4zMDZhMS42MzYsMS42MzYsMCwwLDAtMS43Ljk2MWMtLjgsMS42ODcsMS44MjMsMi4xNSwzLjExMi40OTEuNTEzLS42NjIuNTM0LTEuMzE3LjA0My0yLjUwNi0uMzEzLS43NTUtLjc5LTEuMzE3LS40OTEtMS44MTYuMzItLjUyNywxLjA4OS0uMDcxLjUxMy42MzRsLjEyOC4wNzFjLjc0OC4wNDMsMS4wNTQtLjk1NC40ODQtMS4yQTEuODM0LDEuODM0LDAsMCwwLDI3LjQ2MiwxNC4xNFpcIiBzdHlsZT1cImZpbGw6I2MyYzJjMlwiLz48cGF0aCBkPVwiTTE3Ljk1LDEyLjMzOGMtLjUyLS40MTMtMS45NzkuMjc4LTIuMzkyLDEuM2ExNi4yMTMsMTYuMjEzLDAsMCwxLTIuMDQzLDQuMDM3Yy0uOC44NzYtLjg3Ni4yLS44LS4zMDZBMTUuMzI3LDE1LjMyNywwLDAsMSwxNC43LDEyLjY1MmMtLjIzNS0uMzQ5LTEuNzczLS4zLTIuODQxLDEuMzYtLjQuNjI3LTEuMzEsMi43MTMtMi4zMjEsNC4zNTgtLjIyMS4zNTYtLjUuMTA3LS4yODUtLjcyNmEzOS44LDM5LjgsMCwwLDEsMS44NzMtNS42ODIsMzkuMDcyLDM5LjA3MiwwLDAsMSw2LjkyMS0uODE5Yy4yNjMtLjA3MS40NDEtLjMwNiwwLS4zMmE0Ni43NzgsNDYuNzc4LDAsMCwwLTYuNTkzLjQ0MSw0LjkyMyw0LjkyMywwLDAsMSwxLjQ0NS0xLjk0NCwxLjc4NywxLjc4NywwLDAsMC0yLjI2NC43MTksMTIuMjg3LDEyLjI4NywwLDAsMC0uODE5LDEuNDUzLDI0LjE5NCwyNC4xOTQsMCwwLDAtMy45OC44NjJjLS43ODMuMy0uNywxLjI0Ni0uMjIxLDEuMDY4YTMxLjYzMSwzMS42MzEsMCwwLDEsMy44MTYtMS4xLDMwLjI5MiwzMC4yOTIsMCwwLDAtMS44NjUsNS42ODJjLS40NDEsMi40OTIsMS4xLDIuNDc4LDEuODU4LDEuNS44MTktMS4wNzUsMi41MjgtNC44NTYsMi43OTEtNS4yNTUuMDc4LS4xMzUuMTg1LS4wNjQuMTI4LjA1Ny0xLjkwOCwzLjgwOS0xLjc0NCw1LjI4My0uMiw0Ljk1NmE0LjkyOSw0LjkyOSwwLDAsMCwyLjIxNC0xLjk2NWMuMDY0LS4xNS4yLS4xMzUuMTcxLS4wNzEtMS4yMSwzLjE0LTIuNzQ4LDUuNjgyLTMuNzgxLDYuNDc5LS45NC43MTktMS42MzgtLjg0LDEuNjg3LTMuMDc2LjQ5MS0uMzM1LjI2My0uNzktLjI5Mi0uNjM0aDBhMjkuNzkzLDI5Ljc5MywwLDAsMC04Ljc4NiwzLjMyNWMtLjE2NC4xMTQtLjMxMy4yMDYtLjMwNi40NDEuMDA3LjEzNS4yNDIuMDg1LjM1Ni4wMTRBMjIuNzcxLDIyLjc3MSwwLDAsMSwxMS4xLDIwLjlhLjE1OC4xNTgsMCwwLDAsLjExNC4wMDdjLjEyMS0uMDI4LjExNC4wMzYuMDM2LjA4NS0uMTc4LjEtLjM1Ni4xOTItLjQuMjA2LTEuNzY2LjY5MS0yLjgzNCwyLjIxNC0yLjQ1NiwyLjk5LjMyLjY2OSwyLjA1MS40MjcsMi44NjktLjAxNCwyLjAwOC0xLjA4OSwzLjQ2OC0zLjIyNSw0LjQ2NC02LjE3M0MxNi42LDE1LjM4NiwxNy42OTMsMTIuNDI0LDE3Ljk1LDEyLjMzOFpcIiBzdHlsZT1cImZpbGw6I2MyYzJjMlwiLz48cGF0aCBkPVwiTTI5LjYyLDE4LjM2OWE0OC4xNDUsNDguMTQ1LDAsMCwwLTEzLjQyOS45NjhjLS45MjYuMjQyLS42NjkuNzMzLS4yLjY0MS4wMDcsMCwuMjA2LS4wNS4yMTQtLjA1YTQyLjI3OSw0Mi4yNzksMCwwLDEsMTIuMzc1LS4yNDJDMjkuMDE0LDE5Ljc2NSwzMC4zMTcsMTguNDYyLDI5LjYyLDE4LjM2OVpcIiBzdHlsZT1cImZpbGw6I2MyYzJjMlwiLz48cGF0aCBkPVwiTTE4Ljg2MSwxNy45ODVjLjkxMS0uNDU2LDIuMjY0LTMuMjc1LDMuMTU0LTQuODIuMDY0LS4xMTQuMTc4LS4wMjEuMTE0LjA1Ny0yLjI1LDMuODczLTEuMyw0LjMyMi0uNDA2LDQuMjY1LDEuMTg5LS4wNzEsMi4yODYtMS43OCwyLjUyOC0yLjE2NS4xLS4xNS4xNTctLjAyOC4xLjA3OC0uMDU3LjE3OC0uMjYzLjQ5MS0uNDU2LjkxOS0uMjcxLjYwNS4wMTQuODQuMjQ5Ljk0Ny4zNy4xNzgsMS4zODEuMDY0LDEuNTM4LS41NTUtMS4wMTEtLjAyMSwxLjQxLTQuNzkyLDEuNjU5LTUuMDg0YTEuNzE4LDEuNzE4LDAsMCwwLTIuMi45NzVjLTEuMDE4LDIuMDE1LTEuODczLDMuNjM4LTIuNDA3LDMuNjY3LTEuMDQuMDU3LDEuMi00LjQ5MywxLjU1OS00LjYzNS0uMjIxLS4zMi0xLjYzOC0uMTg1LTIuNDI4LDEuMDQtLjI4NS40NDEtMi4wMjIsMy41MTctMi40NDksNC4wMjMtLjc1NS45LS44MTIuMTI4LS42LS43NjlhMTAuNTY5LDEwLjU2OSwwLDAsMSwuMzQ5LTEuMTMyLDUuMzI0LDUuMzI0LDAsMCwxLDEuMzYtMS44NDRjMi4yLTIuNDQyLDMuNDYtNC40MjIsMi45NjItNS4yLS40NDEtLjY5MS0xLjkxNS0uMzg0LTIuODYyLDEuMDQtMS43NDQsMi42MTMtMy4zNTQsNi4xOTUtMy41Niw3LjgzMlMxOC4wNTYsMTguMzgzLDE4Ljg2MSwxNy45ODVabS45MjYtNC43OTJjLjA3OC0uMTc4LjEyOC0uMjI4LjI2My0uNTI3aDBBMjQuOTM0LDI0LjkzNCwwLDAsMSwyMi40OTIsOC4yOGMuNDItLjQ0MSwxLjAxMS4xNTctLjA1NywxLjc5NGExNi40NjIsMTYuNDYyLDAsMCwxLTIuMTE1LDIuNjQydi4wMDdjLS4yLjIyMS0uMzc3LjQwNi0uNDU2LjUxM0MxOS44MDgsMTMuMzA3LDE5Ljc0NCwxMy4yOTIsMTkuNzg3LDEzLjE5M1pcIiBzdHlsZT1cImZpbGw6I2MyYzJjMlwiLz5gLFxuXHRcIlNWR1wiOiBgPHBhdGggZD1cIk03LjY3NCwxNC40ODhhMi4yMTgsMi4yMTgsMCwxLDAsMCwzLjEzN0gyNC4zMjZhMi4yMTgsMi4yMTgsMCwxLDAsMC0zLjEzN1pcIiBzdHlsZT1cImZpbGw6I2ZmYjEzYjtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6My43MzAwMDAwMTkwNzM0OXB4XCIvPjxwYXRoIGQ9XCJNMTEuMjIyLDkuMDZBMi4yMTgsMi4yMTgsMCwxLDAsOSwxMS4yNzhMMjAuNzc4LDIzLjA1MkEyLjIxOCwyLjIxOCwwLDEsMCwyMywyMC44MzRaXCIgc3R5bGU9XCJmaWxsOiNmZmIxM2I7c3Ryb2tlOiMwMDA7c3Ryb2tlLXdpZHRoOjMuNzMwMDAwMDE5MDczNDlweFwiLz48cGF0aCBkPVwiTTE3LjU2OCw3LjczYTIuMjE4LDIuMjE4LDAsMSwwLTMuMTM3LDBWMjQuMzgyYTIuMjE4LDIuMjE4LDAsMSwwLDMuMTM3LDBaXCIgc3R5bGU9XCJmaWxsOiNmZmIxM2I7c3Ryb2tlOiMwMDA7c3Ryb2tlLXdpZHRoOjMuNzMwMDAwMDE5MDczNDlweFwiLz48cGF0aCBkPVwiTTIzLDExLjI3OEEyLjIxOCwyLjIxOCwwLDEsMCwyMC43NzgsOS4wNkw5LDIwLjgzNGEyLjIxOCwyLjIxOCwwLDEsMCwyLjIxOCwyLjIxOFpcIiBzdHlsZT1cImZpbGw6I2ZmYjEzYjtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6My43MzAwMDAwMTkwNzM0OXB4XCIvPjxwYXRoIGQ9XCJNNy42NzQsMTQuNDg4YTIuMjE4LDIuMjE4LDAsMSwwLDAsMy4xMzdIMjQuMzI2YTIuMjE4LDIuMjE4LDAsMSwwLDAtMy4xMzdaXCIgc3R5bGU9XCJmaWxsOiNmZmIxM2JcIi8+PHBhdGggZD1cIk0xMS4yMjIsOS4wNkEyLjIxOCwyLjIxOCwwLDEsMCw5LDExLjI3OEwyMC43NzgsMjMuMDUyQTIuMjE4LDIuMjE4LDAsMSwwLDIzLDIwLjgzNFpcIiBzdHlsZT1cImZpbGw6I2ZmYjEzYlwiLz48cGF0aCBkPVwiTTE3LjU2OCw3LjczYTIuMjE4LDIuMjE4LDAsMSwwLTMuMTM3LDBWMjQuMzgyYTIuMjE4LDIuMjE4LDAsMSwwLDMuMTM3LDBaXCIgc3R5bGU9XCJmaWxsOiNmZmIxM2JcIi8+PHBhdGggZD1cIk0yMywxMS4yNzhBMi4yMTgsMi4yMTgsMCwxLDAsMjAuNzc4LDkuMDZMOSwyMC44MzRhMi4yMTgsMi4yMTgsMCwxLDAsMi4yMTgsMi4yMThaXCIgc3R5bGU9XCJmaWxsOiNmZmIxM2JcIi8+PHBhdGggZD1cIk0yLDE2LjA1NkgzMFYyNS45NWE0LjAzNSw0LjAzNSwwLDAsMS00LjEwNiw0LjEwNkg2LjEwNkE0LjAzNSw0LjAzNSwwLDAsMSwyLDI1Ljk1WlwiLz48cGF0aCBkPVwiTTYuMiwyMy4wNDVBMy42MjgsMy42MjgsMCwxLDEsMTIuNCwyMC40OEgxMC4yN0ExLjUsMS41LDAsMSwwLDcuNywyMS41NDFoMGExLjYsMS42LDAsMCwwLDEuMDYyLjQ0MWgwYTQuMTE4LDQuMTE4LDAsMCwxLDIuNTY2LDEuMDYzaDBhMy42MjgsMy42MjgsMCwxLDEtNi4xOTQsMi41NjVINy4yNjRBMS41LDEuNSwwLDEsMCw5LjgzLDI0LjU1aDBhMS45NDgsMS45NDgsMCwwLDAtMS4wNjMtLjQ0aDBBNC40NjUsNC40NjUsMCwwLDEsNi4yLDIzLjA0NVpcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cGF0aCBkPVwiTTE5LjY1MSwxNi44NTIsMTcuMDg1LDI5LjI0SDE0Ljk2TDEyLjQsMTYuODUySDE0LjUybDEuNSw3LjI1NSwxLjUtNy4yNTVaXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PHBhdGggZD1cIk0yMy4yOCwyMS45ODNoMy42Mjh2My42MjhoMGEzLjYyOCwzLjYyOCwwLDEsMS03LjI1NywwaDBWMjAuNDhoMGEzLjYyOCwzLjYyOCwwLDAsMSw3LjI1NywwSDI0Ljc4M2ExLjUsMS41LDAsMSwwLTMuMDA1LDB2NS4xM2gwYTEuNSwxLjUsMCwwLDAsMy4wMDUsMGgwdi0xLjVoLTEuNVYyMS45ODNaXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+YCxcblx0XCJTd2lmdFwiOiBgPGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiLTEzNC40OTRcIiB5MT1cIi0xNzEuODJcIiB4Mj1cIi0xMzQuNDk3XCIgeTI9XCItMTcxLjg5XCIgZ3JhZGllbnRUcmFuc2Zvcm09XCJtYXRyaXgoMjQwLCAwLCAwLCAtMjA1LjYsIDMyMjk1LCAtMzUzMTIuNTg1KVwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPjxzdG9wIG9mZnNldD1cIjBcIiBzdG9wLWNvbG9yPVwiI2Y4ODUzNVwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiNmZDIyMjFcIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHRpdGxlPmZpbGVfdHlwZV9zd2lmdDwvdGl0bGU+PHBhdGggZD1cIk0xOS40MjIsNC4wMDdzNi4yMTcsMy41NTQsNy44NDQsOS4yYzEuNDY2LDUuMS4yOTIsNy41MzQuMjkyLDcuNTM0YTguOTE1LDguOTE1LDAsMCwxLDEuNzQyLDIuOCw0LjgyNSw0LjgyNSwwLDAsMSwuMjksNC40NTNzLS4xLTIuMDgtMy4yLTIuNTExYy0yLjg0MS0uNC0zLjg3NCwyLjM2Ni05LjMsMi4yMzJBMTguNDM1LDE4LjQzNSwwLDAsMSwyLDE5LjM1NEM0LjY1MSwyMC44LDguMTI0LDIzLjA0NSwxMi40NDksMjIuN3M1LjIyOC0xLjY3NCw1LjIyOC0xLjY3NEE2Ni45LDY2LjksMCwwLDEsNC44OTEsNy42NDNjMy40LDIuODQ1LDExLjgyMiw4LjUwNywxMS42MjYsOC4zNjNBNzUuODI2LDc1LjgyNiwwLDAsMSw4LjA5Miw2LjI0UzIwLjcyOCwxNi42MjksMjEuNzQ1LDE2LjU2M2MuNDE4LS44NjEsMi41NzktNS4zMTgtMi4zMjQtMTIuNTU3WlwiIHN0eWxlPVwiZmlsbDp1cmwoI2EpXCIvPmAsXG5cdFwiU3lzdGVtZCBjb25maWd1cmF0aW9uIGZpbGVcIjogYDxwYXRoIGQ9XCJNMiwxMnY4SDUuMjU2VjE4Ljc2OUgzLjNWMTMuMjMxSDUuMjU2VjEyWlwiIHN0eWxlPVwiZmlsbDojZDJkMmQyXCIvPjxwYXRoIGQ9XCJNMjYuNzQ0LDEydjEuMjMxSDI4Ljd2NS41MzhIMjYuNzQ0VjIwSDMwVjEyWlwiIHN0eWxlPVwiZmlsbDojZDJkMmQyXCIvPjxwYXRoIGQ9XCJNMTcuNjI4LDE2bDUuMjEtMi43Njl2NS41MzhaXCIgc3R5bGU9XCJmaWxsOiMzMGQ0NzVcIi8+PGVsbGlwc2UgY3g9XCIxMi4wOTNcIiBjeT1cIjE2XCIgcng9XCIyLjkzXCIgcnk9XCIyLjc2OVwiIHN0eWxlPVwiZmlsbDojMzBkNDc1XCIvPmAsXG5cdFwiVDQgdGVtcGxhdGluZ1wiOiBgPHBhdGggZD1cIk0xOS41NDUsNi4wMzVIMTMuMjdWMjRIOC4zVjYuMDM1SDIuMDU1VjJoMTcuNDlaXCIgc3R5bGU9XCJmaWxsOiMxZTg4ZTVcIi8+PHBhdGggZD1cIk0yNy41NjcsMTBWMjIuNjA4aDIuNFYyNS45aC0yLjRWMzBIMjMuNTUxVjI1LjlIMTQuODM0VjIyLjQ1NXExLjE1OC0xLjMsMi40LTIuODM4dDIuNC0zLjE3M3ExLjE1OC0xLjYzMiwyLjE1NS0zLjI4NUEzMi45MjUsMzIuOTI1LDAsMCwwLDIzLjQ4MSwxMFpNMTguNzgxLDIyLjYwOGg0Ljc3VjE1LjYyMXEtLjQ4OC45MDctMS4wNiwxLjgzNHQtMS4yLDEuODI3cS0uNjI4LjktMS4yNjksMS43NDNUMTguNzgxLDIyLjYwOFpcIiBzdHlsZT1cImZpbGw6IzFlODhlNVwiLz5gLFxuXHRcIlQ0IFRleHQgVGVtcGxhdGVzIChDIylcIjogYDxwYXRoIGQ9XCJNMTkuNTQ1LDYuMDM1SDEzLjI3VjI0SDguM1Y2LjAzNUgyLjA1NVYyaDE3LjQ5WlwiIHN0eWxlPVwiZmlsbDojMWU4OGU1XCIvPjxwYXRoIGQ9XCJNMjcuNTY3LDEwVjIyLjYwOGgyLjRWMjUuOWgtMi40VjMwSDIzLjU1MVYyNS45SDE0LjgzNFYyMi40NTVxMS4xNTgtMS4zLDIuNC0yLjgzOHQyLjQtMy4xNzNxMS4xNTgtMS42MzIsMi4xNTUtMy4yODVBMzIuOTI1LDMyLjkyNSwwLDAsMCwyMy40ODEsMTBaTTE4Ljc4MSwyMi42MDhoNC43N1YxNS42MjFxLS40ODguOTA3LTEuMDYsMS44MzR0LTEuMiwxLjgyN3EtLjYyOC45LTEuMjY5LDEuNzQzVDE4Ljc4MSwyMi42MDhaXCIgc3R5bGU9XCJmaWxsOiMxZTg4ZTVcIi8+YCxcblx0XCJUNCBUZXh0IFRlbXBsYXRlcyAoVkIpXCI6IGA8cGF0aCBkPVwiTTE5LjU0NSw2LjAzNUgxMy4yN1YyNEg4LjNWNi4wMzVIMi4wNTVWMmgxNy40OVpcIiBzdHlsZT1cImZpbGw6IzFlODhlNVwiLz48cGF0aCBkPVwiTTI3LjU2NywxMFYyMi42MDhoMi40VjI1LjloLTIuNFYzMEgyMy41NTFWMjUuOUgxNC44MzRWMjIuNDU1cTEuMTU4LTEuMywyLjQtMi44Mzh0Mi40LTMuMTczcTEuMTU4LTEuNjMyLDIuMTU1LTMuMjg1QTMyLjkyNSwzMi45MjUsMCwwLDAsMjMuNDgxLDEwWk0xOC43ODEsMjIuNjA4aDQuNzdWMTUuNjIxcS0uNDg4LjkwNy0xLjA2LDEuODM0dC0xLjIsMS44MjdxLS42MjguOS0xLjI2OSwxLjc0M1QxOC43ODEsMjIuNjA4WlwiIHN0eWxlPVwiZmlsbDojMWU4OGU1XCIvPmAsXG5cdFwiVGNsXCI6IGA8cGF0aCBkPVwiTTIxLjk0MiwyLjg3NmMuMDQsMi40NjgtLjAzMyw0LjkxLTIuMTY5LDcuMjNsLS4wNzkuMDg5aC4xMTlsLjg3My4wMTNjLTEuNDE4LDIuOTUtMi4zNDEsNS44OTItNC4zOCw4LjgzbC0uMDczLjEwNi4xMjYtLjAyMywxLjA3OC0uMmE1Ljg1MSw1Ljg1MSwwLDAsMS0zLjQ4NCwzLjY1Yy0uMzktNS40NTUsMi4zMzMtMTAuMjcsNC42NDUtMTUuMDcxbC4wMDctLjAxMy0uMDg2LS4wNmMtMy43ODYsNC4yMzMtNS40OTEsMTAuMi02LjEzNiwxNS4xMjdhNC41ODIsNC41ODIsMCwwLDEtMi4xNDUtMi45ODhsLjkuMzc3LjA5My4wNC0uMDItLjFjLS42ODEtMy4wMjguMzc2LTUuMiwxLjQtOC4wNTZsLjczNy40OTMuMDg2LjA2LDAtLjFjLS4wNTgtMi4zMiwxLjUtNC42NDksMy41NzctNi43MjdsLjI4OC43Ny4wNC4xLjA1Ni0uMS42MzEtMS4wNTEsMC0uMDA3QTYuMSw2LjEsMCwwLDEsMjEuOTQyLDIuODc2WlwiIHN0eWxlPVwiZmlsbDojYzNiMTVmXCIvPjxwYXRoIGQ9XCJNMjEuOTQ4LDIuODc1YTYuMTMxLDYuMTMxLDAsMCwwLTMuOTI2LDIuMzg4bDAsLjAwNy0uNjMxLDEuMDUxLS4wNTYuMS0uMDQtLjFMMTcsNS41NDRjLTIuMDcyLDIuMDc4LTMuNjM1LDQuNDA3LTMuNTc3LDYuNzI3bDAsLjEtLjA4Ni0uMDYtLjczNy0uNDkzYy0xLjAyNSwyLjg1Ni0yLjA4Myw1LjAyOS0xLjQsOC4wNTZsLjAyLjEtLjA5My0uMDQtLjg4Ni0uMzc0YzAsLjAxOC4wMDcuMDM1LjAxLjA1M2E0LjUzMyw0LjUzMywwLDAsMCwyLjEyNiwyLjkzMmMuMDUtLjM4MS4xMDUtLjc3MS4xNjktMS4xNjQtMS41NDMtMy42MTQtLjItNi4yNzEuNDA3LTguNjYxbC45MzkuNTQyYy0uMTMtMi4yMzgsMS4xODQtNC42NTEsMi44OTMtNi43NTdsLjUuODczQzE4LjU1NSw0Ljc2OSwxOS41NiwzLjcyLDIxLjk0OCwyLjg3NVpcIiBzdHlsZT1cImZpbGw6I2VmZjFjYjtzdHJva2U6I2VmZjFjYlwiLz48cGF0aCBkPVwiTTIyLjUxOCwybC0uMDU2LjAxYy0yLjA4Mi4zNjMtNC4xMjEsMS4xMjgtNS4wMTUsMi45NTlsLS4zNzctLjY1OC0uMDMzLS4wNi0uMDUuMDVhMjAuODUsMjAuODUsMCwwLDAtMi45MzksMy41QTUuOTM5LDUuOTM5LDAsMCwwLDEyLjgzNSwxMWwtLjUzMi0uNjY0LS4wNTMtLjA2Ni0uMDM2LjA3NmEyNy41MzUsMjcuNTM1LDAsMCwwLTEuNjkzLDQuNyw2LjczLDYuNzMsMCwwLDAtLjE1OSwzLjcxOWwtLjg3Ni0uNTA5LS4wNzMtLjA0My0uMDA3LjA4NmE1LjUyOSw1LjUyOSwwLDAsMCwyLjAxNyw0Ljg0M2wtLjk3Mi4yNDEtLjIuMDUuMi4wNTNhNC4yNTgsNC4yNTgsMCwwLDEsMS40NTUuNiwxLjMyNSwxLjMyNSwwLDAsMSwuNTE2LDEuM1YyOC4xbC4wMS4wMTMsMS4yMTcsMS43NDUuMS4xMzlWMjUuNzE5YTMuNDY2LDMuNDY2LDAsMCwxLC42MjEtMS40ODRBMS42MzksMS42MzksMCwwLDEsMTUuNSwyMy43bC4xODItLjAyMy0uMTY1LS4wNzYtLjY0MS0uM2E5LjExMiw5LjExMiwwLDAsMCwzLjY5My01LjMyMmwuMDItLjA4Ni0uMDgzLjAyMy0uNzkzLjIxNWExMS42NjksMTEuNjY5LDAsMCwwLDIuMDg5LTMuNUMyMC41MTIsMTMsMjEuMTgsMTEuMTY2LDIxLjcyOCw5LjdsLjAzLS4wNzktLjA4My4wMDctLjYxMi4wNDNhNi42NTUsNi42NTUsMCwwLDAsMS4zODItMy41MjcsMTcuMDM5LDE3LjAzOSwwLDAsMCwuMDc5LTQuMDg2Wm0tLjU3NS44NzZjLjA0LDIuNDY4LS4wMzMsNC45MS0yLjE2OSw3LjIzbC0uMDc5LjA4OWguMTE5bC44NzMuMDEzYy0xLjQxOCwyLjk1LTIuMzQxLDUuODkyLTQuMzgsOC44M2wtLjA3My4xMDYuMTI2LS4wMjMsMS4wNzgtLjJhNS44NTEsNS44NTEsMCwwLDEtMy40ODQsMy42NWMtLjM5LTUuNDU1LDIuMzMzLTEwLjI3LDQuNjQ1LTE1LjA3MWwuMDA3LS4wMTMtLjA4Ni0uMDZjLTMuNzg2LDQuMjMzLTUuNDkxLDEwLjItNi4xMzYsMTUuMTI3YTQuNTgyLDQuNTgyLDAsMCwxLTIuMTQ1LTIuOTg4bC45LjM3Ny4wOTMuMDQtLjAyLS4xYy0uNjgxLTMuMDI4LjM3Ni01LjIsMS40LTguMDU2bC43MzcuNDkzLjA4Ni4wNiwwLS4xYy0uMDU4LTIuMzIsMS41LTQuNjQ5LDMuNTc3LTYuNzI3bC4yODguNzcuMDQuMS4wNTYtLjEuNjMxLTEuMDUxLDAtLjAwN0E2LjEsNi4xLDAsMCwxLDIxLjk0MiwyLjg3NlpcIi8+YCxcblx0XCJUZW1wbGF0ZSBUb29sa2l0IDJcIjogYDxwYXRoIGQ9XCJNOC45MDcsMjMuMDIxSDguODc4YTMuMzA1LDMuMzA1LDAsMCwxLTIuMDExLS42NjFBMi41NjEsMi41NjEsMCwwLDEsNS44MywyMC4zMzRWMTYuMUg0LjI4OGEzLjA1LDMuMDUsMCwwLDEtMi43MzgtMS42OSwzLjMsMy4zLDAsMCwxLC40NDEtMy41MywyLjI2NSwyLjI2NSwwLDAsMSwxLjgxNS0uOWg5LjY1YTMuMDUsMy4wNSwwLDAsMSwyLjczOCwxLjY5LDMuMywzLjMsMCwwLDEtLjQ0MSwzLjUzLDIuMjY1LDIuMjY1LDAsMCwxLTEuODE1LjlIMTEuOTU1djQuMjMxYTIuNTYxLDIuNTYxLDAsMCwxLTEuMDM3LDIuMDI2QTMuMzA1LDMuMzA1LDAsMCwxLDguOTA3LDIzLjAyMVpNNC4yNjQsMTEuNjM2YTEuMzksMS4zOSwwLDAsMC0xLjM4OCwxLjM4OHYuMDMzYTEuMzksMS4zOSwwLDAsMCwxLjM4OCwxLjM4OEg3LjQ4N3Y1Ljg4MWMwLC41NzIuNjI0LDEuMDM3LDEuMzksMS4wMzdoLjAyOWMuNzY3LDAsMS4zOS0uNDY1LDEuMzktMS4wMzdWMTQuNDQ2aDMuMjIzYTEuMzksMS4zOSwwLDAsMCwxLjM4OC0xLjM4OHYtLjAzM2ExLjM5LDEuMzksMCwwLDAtMS4zODgtMS4zODhaXCIgc3R5bGU9XCJmaWxsOiMwMTVkOWFcIi8+PHBhdGggZD1cIk0xNC45ODEsMTIuOTUzdi4wMzNhMS41MzMsMS41MzMsMCwwLDEtMS41MzMsMS41MzNIMTAuMzd2NS43MzdhMS4zOTMsMS4zOTMsMCwwLDEtMS41MzUsMS4xODFIOC44MDZhMS4zOTMsMS4zOTMsMCwwLDEtMS41MzUtMS4xODFWMTQuNTE4SDQuMTkyQTEuNTMzLDEuNTMzLDAsMCwxLDIuNjYsMTIuOTg2di0uMDMzQTEuNTMzLDEuNTMzLDAsMCwxLDQuMTkyLDExLjQyaDkuMjU3QTEuNTMzLDEuNTMzLDAsMCwxLDE0Ljk4MSwxMi45NTNabS00LjIyMyw5LjIyMmEyLjQxOCwyLjQxOCwwLDAsMCwuOTgtMS45MTJWMTUuODg4aDIuMTI3YTIuMTE0LDIuMTE0LDAsMCwwLDEuNy0uODQ2LDIuOTkyLDIuOTkyLDAsMCwwLTIuMTgtNC45OUgzLjczNWEyLjExNCwyLjExNCwwLDAsMC0xLjcuODQ2LDIuOTkyLDIuOTkyLDAsMCwwLDIuMTgsNC45OUg1Ljl2NC4zNzVhMi40MTgsMi40MTgsMCwwLDAsLjk4LDEuOTEyLDMuMTYsMy4xNiwwLDAsMCwxLjkyMy42MzFoLjAyOUEzLjE2LDMuMTYsMCwwLDAsMTAuNzU4LDIyLjE3NFpcIiBzdHlsZT1cImZpbGw6IzNiY2VmY1wiLz48cGF0aCBkPVwiTTIzLjYwNywyMy4wMjFoLS4wMjlhMy4zMDUsMy4zMDUsMCwwLDEtMi4wMTEtLjY2MSwyLjU2MSwyLjU2MSwwLDAsMS0xLjAzNy0yLjAyNlYxNi4xSDE4Ljk4OGEzLjA1LDMuMDUsMCwwLDEtMi43MzgtMS42OSwzLjMsMy4zLDAsMCwxLC40NDEtMy41MywyLjI2NSwyLjI2NSwwLDAsMSwxLjgxNS0uOWg5LjY1YTMuMDUsMy4wNSwwLDAsMSwyLjczOCwxLjY5LDMuMywzLjMsMCwwLDEtLjQ0MSwzLjUzLDIuMjY1LDIuMjY1LDAsMCwxLTEuODE1LjlIMjYuNjU1djQuMjMxYTIuNTYxLDIuNTYxLDAsMCwxLTEuMDM3LDIuMDI2QTMuMzA1LDMuMzA1LDAsMCwxLDIzLjYwNywyMy4wMjFaTTE4Ljk2NCwxMS42MzZhMS4zOSwxLjM5LDAsMCwwLTEuMzg4LDEuMzg4di4wMzNhMS4zOSwxLjM5LDAsMCwwLDEuMzg4LDEuMzg4aDMuMjIzdjUuODgxYzAsLjU3Mi42MjQsMS4wMzcsMS4zOSwxLjAzN2guMDI5Yy43NjcsMCwxLjM5LS40NjUsMS4zOS0xLjAzN1YxNC40NDZoMy4yMjNhMS4zOSwxLjM5LDAsMCwwLDEuMzg4LTEuMzg4di0uMDMzYTEuMzksMS4zOSwwLDAsMC0xLjM4OC0xLjM4OFpcIiBzdHlsZT1cImZpbGw6IzAxNWQ5YVwiLz48cGF0aCBkPVwiTTI5LjY4MSwxMi45NTN2LjAzM2ExLjUzMywxLjUzMywwLDAsMS0xLjUzMywxLjUzM0gyNS4wN3Y1LjczN2ExLjM5MywxLjM5MywwLDAsMS0xLjUzNSwxLjE4MWgtLjAyOWExLjM5MywxLjM5MywwLDAsMS0xLjUzNS0xLjE4MVYxNC41MThIMTguODkyYTEuNTMzLDEuNTMzLDAsMCwxLTEuNTMzLTEuNTMzdi0uMDMzYTEuNTMzLDEuNTMzLDAsMCwxLDEuNTMzLTEuNTMzaDkuMjU3QTEuNTMzLDEuNTMzLDAsMCwxLDI5LjY4MSwxMi45NTNabS00LjIyMyw5LjIyMmEyLjQxOCwyLjQxOCwwLDAsMCwuOTgtMS45MTJWMTUuODg4aDIuMTI3YTIuMTE0LDIuMTE0LDAsMCwwLDEuNy0uODQ2LDIuOTkyLDIuOTkyLDAsMCwwLTIuMTgtNC45OWgtOS42NWEyLjExNCwyLjExNCwwLDAsMC0xLjcuODQ2LDIuOTkyLDIuOTkyLDAsMCwwLDIuMTgsNC45OUgyMC42djQuMzc1YTIuNDE4LDIuNDE4LDAsMCwwLC45OCwxLjkxMiwzLjE2LDMuMTYsMCwwLDAsMS45MjMuNjMxaC4wMjlBMy4xNiwzLjE2LDAsMCwwLDI1LjQ1OCwyMi4xNzRaXCIgc3R5bGU9XCJmaWxsOiMzYmNlZmNcIi8+YCxcblx0XCJUZVhcIjogYDxwYXRoIGQ9XCJNMTEuMzMzLDEzLjEyMmMtLjEyOC0xLjU2Mi0uMjQxLTIuNzU2LTIuMjg3LTIuNzU2SDcuOTF2OC40aDIuMTQ1di42MTFsLTMuMDgzLS4wMjktMy4wODIuMDI5di0uNjExSDYuMDM0di04LjRINC44ODRjLTIuMDQ2LDAtMi4xNTksMS4yMDgtMi4yODcsMi43NTZIMmwuMjg0LTMuMzY3aDkuMzYybC4yODQsMy4zNjdoLS42WlwiIHN0eWxlPVwiZmlsbDojY2ZjZmNmXCIvPjxwYXRoIGQ9XCJNMTkuMjg5LDIyLjUzSDEwLjQxVjIxLjkyaDEuNTA2VjEzLjQ2N0gxMC40MXYtLjYxMWg4LjYzN2wuNDEyLDMuMzY3aC0uNmMtLjIxMy0xLjgzMy0uNjgyLTIuNzU2LTIuODU1LTIuNzU2SDEzLjc5MVYxNy4yaC44MzhjMS4zNjQsMCwxLjUwNS0uNiwxLjUwNS0xLjY2MmguNnYzLjkzNWgtLjZjMC0xLjA4LS4xNDItMS42NjItMS41MDUtMS42NjJoLS44Mzh2NC4xMDZoMi4yMTZjMi40NzIsMCwzLTEuMTA4LDMuMy0zLjIyNWguNlpcIiBzdHlsZT1cImZpbGw6I2NmY2ZjZlwiLz48cGF0aCBkPVwiTTI3LjcyNywxOS4xODZjLS41NCwwLTEuOTYsMC0yLjQxNS4wMjlWMTguNmgxLjE3OWwtMi41NTctMy41NTItMi41MjksMy4zODFBNC4xLDQuMSwwLDAsMCwyMi43LDE4LjZ2LjYxMWMtLjM1NS0uMDI5LTEuNTc2LS4wMjktMi4wMTctLjAyOS0uNCwwLTEuNTQ4LDAtMS44NzUuMDI5VjE4LjZoLjM4M2E3LjQ1OSw3LjQ1OSwwLDAsMCwuODI0LS4wNDNjLjUtLjA0My41NC0uMDg1LjY2Ny0uMjU2TDIzLjUzNiwxNC41bC0zLjE1My00LjQxOEgxOVY5LjQ3Yy4zODQuMDI4LDEuNzkuMDI4LDIuMjczLjAyOC41ODIsMCwxLjkxOCwwLDIuNDI5LS4wMjh2LjYxMUgyMi41MjhsMi4xMTcsMi45NTUsMi4wNzQtMi43ODRhNC4xLDQuMSwwLDAsMC0xLjI5My0uMTdWOS40N2MuMzU2LjAyOCwxLjU5MS4wMjgsMi4wMzIuMDI4LjQsMCwxLjUzNCwwLDEuODYxLS4wMjh2LjYxMWgtLjM2OWE1LjI2NCw1LjI2NCwwLDAsMC0uODM4LjA0M2MtLjQ2OS4wNDMtLjUyNi4wNzEtLjY2Ny4yNTZsLTIuNCwzLjIxTDI4LjYzNiwxOC42SDMwdi42MTFDMjkuNjQ1LDE5LjE4NiwyOC4xODIsMTkuMTg2LDI3LjcyNywxOS4xODZaXCIgc3R5bGU9XCJmaWxsOiNjZmNmY2ZcIi8+YCxcblx0XCJUZXh0aWxlXCI6IGA8cGF0aCBkPVwiTTI4LjY4MSwyNi4wNzVIMy4zMTlBMS4zMTcsMS4zMTcsMCwwLDEsMiwyNC43NTZWNy4yNDRBMS4zMTcsMS4zMTcsMCwwLDEsMy4zMTksNS45MjVIMjguNjgxQTEuMzE3LDEuMzE3LDAsMCwxLDMwLDcuMjQ0VjI0Ljc2QTEuMzE2LDEuMzE2LDAsMCwxLDI4LjY4MSwyNi4wNzVaXCIgc3R5bGU9XCJmaWxsOiNmZmU3YWNcIi8+PHBhdGggZD1cIk02LjA2NiwxMi44NDhhNC45ODcsNC45ODcsMCwwLDEsMS41MDgtLjY1OVYxMC42NjRhMy43LDMuNywwLDAsMSwuNzQzLS4zMyw3Ljg2OSw3Ljg2OSwwLDAsMSwxLjMyNy0uMzQ3aC42NDJ2Mi4zOTFoMi40ODRWMTMuNkgxMC4yODZ2NC44NDhhMy4xNzIsMy4xNzIsMCwwLDAsLjI5LDEuNjA5LDEuMDcsMS4wNywwLDAsMCwuOTcxLjQ0OCw3LjEyNyw3LjEyNywwLDAsMCwuNzYtLjA0OCwzLjMzOCwzLjMzOCwwLDAsMCwuNzgyLS4xOGwuMTMyLjYyYTIuMzg4LDIuMzg4LDAsMCwxLS41LjM1Niw1LjQ1Nyw1LjQ1NywwLDAsMS0uNzUyLjM1Niw1LjgzNyw1LjgzNywwLDAsMS0uOTIzLjI4MUE0Ljc2OSw0Ljc2OSwwLDAsMSwxMCwyMmEyLjM4NSwyLjM4NSwwLDAsMS0xLjgyNC0uNjM3LDIuOTQ3LDIuOTQ3LDAsMCwxLS42LTIuMDYyVjEzLjU5MUg2LjA2NlpcIi8+PHBhdGggZD1cIk0xNC42MDcsMjAuNDUzYTEuNDQ3LDEuNDQ3LDAsMCwxLC40MzEtMS4wOSwxLjU5MSwxLjU5MSwwLDAsMSwxLjE0Ny0uNDEzLDEuNjQ5LDEuNjQ5LDAsMCwxLDEuMTY1LjQxMywxLjQyMiwxLjQyMiwwLDAsMSwuNDUzLDEuMDksMS4zNjksMS4zNjksMCwwLDEtLjQ1MywxLjA4MSwxLjY5MiwxLjY5MiwwLDAsMS0xLjE2NS40LDEuNjEsMS42MSwwLDAsMS0xLjE0Ny0uNEExLjQyNywxLjQyNywwLDAsMSwxNC42MDcsMjAuNDUzWlwiLz5gLFxuXHRcIlRPTUxcIjogYDxwYXRoIGQ9XCJNMjIuNzYsNi44M3YzLjI1aC01VjI1LjE3SDE0LjI2VjEwLjA4aC01VjYuODNaXCIgc3R5bGU9XCJmaWxsOiM3ZjdmN2ZcIi8+PHBhdGggZD1cIk0yLDJIOC4yVjUuMDlINS4zNHYyMS44SDguMlYzMEgyWlwiIHN0eWxlPVwiZmlsbDojYmZiZmJmXCIvPjxwYXRoIGQ9XCJNMzAsMzBIMjMuOFYyNi45MWgyLjg2VjUuMTFIMjMuOFYySDMwWlwiIHN0eWxlPVwiZmlsbDojYmZiZmJmXCIvPmAsXG5cdFwiVFNDb25maWdcIjogYDxwYXRoIGQ9XCJNMjMuODI3LDguMjQzQTQuNDI0LDQuNDI0LDAsMCwxLDI2LjA1LDkuNTI0YTUuODUzLDUuODUzLDAsMCwxLC44NTIsMS4xNDNjLjAxMS4wNDUtMS41MzQsMS4wODMtMi40NzEsMS42NjItLjAzNC4wMjMtLjE2OS0uMTI0LS4zMjItLjM1YTIuMDE0LDIuMDE0LDAsMCwwLTEuNjctMWMtMS4wNzctLjA3NC0xLjc3MS40OS0xLjc2NiwxLjQzM2ExLjMsMS4zLDAsMCwwLC4xNTMuNjY2Yy4yMzcuNDkuNjc3Ljc4NCwyLjA1OSwxLjM4MywyLjU0NCwxLjEsMy42MzYsMS44MTcsNC4zMSwyLjg0M2E1LjE1OCw1LjE1OCwwLDAsMSwuNDE2LDQuMzMzLDQuNzY0LDQuNzY0LDAsMCwxLTMuOTMyLDIuODE1LDEwLjksMTAuOSwwLDAsMS0yLjcwOC0uMDI4LDYuNTMxLDYuNTMxLDAsMCwxLTMuNjE2LTEuODg0LDYuMjc4LDYuMjc4LDAsMCwxLS45MjYtMS4zNzEsMi42NTUsMi42NTUsMCwwLDEsLjMyNy0uMjA4Yy4xNTgtLjA5Ljc1Ni0uNDM0LDEuMzItLjc2MWwxLjAyNC0uNi4yMTQuMzEyYTQuNzcxLDQuNzcxLDAsMCwwLDEuMzUsMS4yOTIsMy4zLDMuMywwLDAsMCwzLjQ1OC0uMTc1LDEuNTQ1LDEuNTQ1LDAsMCwwLC4yLTEuOTc0Yy0uMjc2LS40LS44NC0uNzI3LTIuNDQzLTEuNDIyYTguOCw4LjgsMCwwLDEtMy4zNDktMi4wNTUsNC42ODcsNC42ODcsMCwwLDEtLjk3Ni0xLjc3Nyw3LjExNiw3LjExNiwwLDAsMS0uMDYyLTIuMjY4LDQuMzMyLDQuMzMyLDAsMCwxLDMuNjQ0LTMuMzc0QTksOSwwLDAsMSwyMy44MjcsOC4yNDNaTTE1LjQ4NCw5LjcyNmwuMDExLDEuNDU0aC00LjYzVjI0LjMyOEg3LjZWMTEuMTgzSDIuOTdWOS43NTVhMTMuOTg2LDEzLjk4NiwwLDAsMSwuMDQtMS40NjZjLjAxNy0uMDIzLDIuODMyLS4wMzQsNi4yNDUtLjAyOGw2LjIxMS4wMTdaXCIgc3R5bGU9XCJmaWxsOiMwMDdhY2NcIi8+PHBhdGggZD1cIk0yNy4wNzUsMjUuMTA3bC4zNjMtLjM2MWMxLjY4LjA1NSwxLjcwNiwwLDEuNzgtLjE3N2wuNDYyLTEuMTI0LjAzNC0uMTA3LS4wMzgtLjA5M2MtLjAyLS4wNDktLjA4MS0uMi0xLjEzLTEuMnYtLjUyNmMxLjIxMS0xLjE2NiwxLjE4NS0xLjIyNiwxLjExNi0xLjRsLS40Ni0xLjEzNmMtLjA2OS0uMTctLjEtLjIzNy0xLjc2My0uMTkxbC0uMzY0LS4zNjdhOC4xMzgsOC4xMzgsMCwwLDAtLjA1Ny0xLjY1N2wtLjA0Ny0uMTA2LTEuMi0uNTI1Yy0uMTc3LS4wODEtLjIzOS0uMTEtMS4zNzIsMS4xMjRsLS41MDktLjAwOGMtMS4xNjctMS4yNDUtMS4yMjItMS4yMjMtMS40LTEuMTUybC0xLjExNS40NTJjLS4xNzUuMDcxLS4yMzYuMS0uMTY5LDEuNzlsLS4zNi4zNTljLTEuNjgtLjA1NS0xLjcsMC0xLjc3OC4xNzdMMTguNjA2LDIwbC0uMDM2LjEwOC4wMzguMDk0Yy4wMi4wNDguMDc4LjE5NCwxLjEzLDEuMnYuNTI1Yy0xLjIxMSwxLjE2Ni0xLjE4NCwxLjIyNi0xLjExNSwxLjRsLjQ1OSwxLjEzN2MuMDcuMTc0LjEuMjM2LDEuNzYzLjE5MmwuMzYzLjM3N2E4LjE2OSw4LjE2OSwwLDAsMCwuMDU1LDEuNjU0bC4wNDcuMTA3LDEuMjA4LjUyOGMuMTc2LjA3My4yMzYuMSwxLjM2Ni0xLjEzbC41MDkuMDA2YzEuMTY4LDEuMjQ3LDEuMjI4LDEuMjIzLDEuNCwxLjE1NGwxLjExMy0uNDVDMjcuMDgyLDI2LjgyNywyNy4xNDMsMjYuOCwyNy4wNzUsMjUuMTA3Wm0tNC43ODgtMi42MzJhMiwyLDAsMSwxLDIuNjE4LDEuMTRBMi4wMjMsMi4wMjMsMCwwLDEsMjIuMjg3LDIyLjQ3NVpcIiBzdHlsZT1cImZpbGw6Izk5YjhjNFwiLz5gLFxuXHRcIlR3aWdcIjogYDxwYXRoIGQ9XCJNNC41NzQsNS40NjNjLjI2Mi40LDIuNS0xLjYwOCw0LjQ1NC0xLjE2MSwyLjA2MS40NzIsNC4wMTQsMy43MjQsNC44NDgsMTMuN2E0MC4xOCw0MC4xOCwwLDAsMSwzLjU0MSwzLjYxcS41My42MTQsMS4wMTMsMS4yMmExMS44NDcsMTEuODQ3LDAsMCwxLC4yMjktMS40LDEyLjMsMTIuMywwLDAsMSwxLjk4MS00LjRBMTkuMTUxLDE5LjE1MSwwLDAsMCwxNy4yNzIsNy45Yy0xLjAzLTEuNDQ1LTQuNi02LjQ3OC04LjU0Ni01Ljg0M0M2LjE4MiwyLjQ2NSw0LjMsNS4wNTQsNC41NzQsNS40NjNaXCIgc3R5bGU9XCJmaWxsOiM2M2JmNmFcIi8+PHBhdGggZD1cIk0yNC40LDMwYy0uMzItMi41NjctLjQ0OC00Ljc2LS41LTYuNDQ5LS4wOTQtMy4yMzIuMS00LjU0MS45LTUuNzU2LjE5My0uMjk1LDEuMjg4LTEuOTc1LDIuNTgtMS44NjMsMS40NjYuMTI4LDIuMjEzLDIuNDE0LDIuMzYyLDIuMzM3LjE3NS0uMDktLjM2LTMuNTQzLTIuNTMyLTQuNDMxLTIuNi0xLjA2My02LjMxMiwyLjA3LTcuOCw1LjE1NGExMi4yMjMsMTIuMjIzLDAsMCwwLS44NTcsMi44MSwzMi41NTUsMzIuNTU1LDAsMCwwLS43MSw4LjJaXCIgc3R5bGU9XCJmaWxsOiM3NGQ3NGRcIi8+PHBhdGggZD1cIk0yLjIzOCwxMy45MzVjLjE0NS0uNDQ3LDIuNDY4LS4yNTksNC41NC4yOTMsMi41LjY2Niw3LDIuMzQ0LDExLjY1MSw4LjYwNkExMi41NDQsMTIuNTQ0LDAsMCwxLDIwLjI3OSwzMEgxMC4zODZhMjEuODc1LDIxLjg3NSwwLDAsMC0uMTc1LTQuNjIsMTQuOSwxNC45LDAsMCwwLTIuNDU5LTcuMTU4QzUuNDQxLDE1LjE1OSwyLjA1NSwxNC41LDIuMjM4LDEzLjkzNVpcIiBzdHlsZT1cImZpbGw6Izc4ZGM1MFwiLz48cGF0aCBkPVwiTTE3LjMsMjEuMzIzYTEuNzUzLDEuNzUzLDAsMSwxLS41MTMtMS4yNEExLjc0OCwxLjc0OCwwLDAsMSwxNy4zLDIxLjMyM1pcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cGF0aCBkPVwiTTIxLjk3NSwyMS4zMjNhMS43NTMsMS43NTMsMCwxLDEtLjUxMy0xLjI0QTEuNzQ4LDEuNzQ4LDAsMCwxLDIxLjk3NSwyMS4zMjNaXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+YCxcblx0XCJUeXBlU2NyaXB0XCI6IGA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIyOFwiIGhlaWdodD1cIjI4XCIgcng9XCIxLjMxMlwiIHN0eWxlPVwiZmlsbDojMzE3OGM2XCIvPjxwYXRoIGQ9XCJNMTguMjQ1LDIzLjc1OXYzLjA2OGE2LjQ5Miw2LjQ5MiwwLDAsMCwxLjc2NC41NzUsMTEuNTYsMTEuNTYsMCwwLDAsMi4xNDYuMTkyLDkuOTY4LDkuOTY4LDAsMCwwLDIuMDg4LS4yMTEsNS4xMSw1LjExLDAsMCwwLDEuNzM1LS43LDMuNTQyLDMuNTQyLDAsMCwwLDEuMTgxLTEuMjY2LDQuNDY5LDQuNDY5LDAsMCwwLC4xODYtMy4zOTQsMy40MDksMy40MDksMCwwLDAtLjcxNy0xLjExNyw1LjIzNiw1LjIzNiwwLDAsMC0xLjEyMy0uODc3LDEyLjAyNywxMi4wMjcsMCwwLDAtMS40NzctLjczNHEtLjYtLjI0OS0xLjA4LS40ODRhNS41LDUuNSwwLDAsMS0uODEzLS40NzksMi4wODksMi4wODksMCwwLDEtLjUxNi0uNTE4LDEuMDkxLDEuMDkxLDAsMCwxLS4xODEtLjYxOCwxLjAzOSwxLjAzOSwwLDAsMSwuMTYyLS41NzEsMS40LDEuNCwwLDAsMSwuNDU5LS40MzYsMi40MzksMi40MzksMCwwLDEsLjcyNi0uMjgzLDQuMjExLDQuMjExLDAsMCwxLC45NTYtLjEsNS45NDIsNS45NDIsMCwwLDEsLjgwOC4wNTgsNi4yOTIsNi4yOTIsMCwwLDEsLjg1Ni4xNzcsNS45OTQsNS45OTQsMCwwLDEsLjgzNi4zLDQuNjU3LDQuNjU3LDAsMCwxLC43NTEuNDIyVjEzLjlhNy41MDksNy41MDksMCwwLDAtMS41MjUtLjQsMTIuNDI2LDEyLjQyNiwwLDAsMC0xLjktLjEyOSw4Ljc2Nyw4Ljc2NywwLDAsMC0yLjA2NC4yMzUsNS4yMzksNS4yMzksMCwwLDAtMS43MTYuNzMzLDMuNjU1LDMuNjU1LDAsMCwwLTEuMTcxLDEuMjcxLDMuNzMxLDMuNzMxLDAsMCwwLS40MzEsMS44NDUsMy41ODgsMy41ODgsMCwwLDAsLjc4OSwyLjM0LDYsNiwwLDAsMCwyLjM5NSwxLjYzOXEuNjMuMjYsMS4xNzUuNTA5YTYuNDU4LDYuNDU4LDAsMCwxLC45NDIuNTE3LDIuNDYzLDIuNDYzLDAsMCwxLC42MjYuNTg1LDEuMiwxLjIsMCwwLDEsLjIzLjcxOSwxLjEsMS4xLDAsMCwxLS4xNDQuNTUyLDEuMjY5LDEuMjY5LDAsMCwxLS40MzUuNDQxLDIuMzgxLDIuMzgxLDAsMCwxLS43MjYuMjkyLDQuMzc3LDQuMzc3LDAsMCwxLTEuMDE4LjEwNSw1Ljc3Myw1Ljc3MywwLDAsMS0xLjk2OS0uMzVBNS44NzQsNS44NzQsMCwwLDEsMTguMjQ1LDIzLjc1OVptLTUuMTU0LTcuNjM4aDRWMTMuNTk0SDUuOTM4djIuNTI3SDkuOTJWMjcuMzc1aDMuMTcxWlwiIHN0eWxlPVwiZmlsbDojZmZmO2ZpbGwtcnVsZTpldmVub2RkXCIvPmAsXG5cdFwiVHlwb1NjcmlwdFwiOiBgPHBhdGggZD1cIk0yMy4wOTMsMjEuM2EzLjg0NywzLjg0NywwLDAsMS0xLjE4LjE2NWMtMy41NTUsMC04Ljc3OC0xMi40MjQtOC43NzgtMTYuNTU5LDAtMS41MjMuMzYyLTIuMDMxLjg3LTIuNDY2QzkuNjUzLDIuOTQzLDQuNDMsNC41MzksMi43NjEsNi41N2E0LjA0OCw0LjA0OCwwLDAsMC0uNTgsMi4zMjFDMi4xODEsMTUuMzQ4LDkuMDcyLDMwLDEzLjkzMywzMGMyLjI0OCwwLDYuMDQxLTMuNyw5LjE2LTguN1wiIHN0eWxlPVwiZmlsbDojZmY4NzAwXCIvPjxwYXRoIGQ9XCJNMjAuODIzLDJjNC41LDAsOSwuNzI1LDksMy4yNjQsMCw1LjE1MS0zLjI2NCwxMS4zODktNC45MzMsMTEuMzg5LTIuOTc0LDAtNi42NzMtOC4yNjktNi42NzMtMTIuNCwwLTEuODg2LjcyNS0yLjI0OSwyLjYxMS0yLjI0OVwiIHN0eWxlPVwiZmlsbDojZmY4NzAwXCIvPmAsXG5cdFwiVlwiOiBgPHBhdGggZD1cIk0yMC40NjcsMjkuMjg4LDI5Ljk1MiwyLjkxM2EuNS41LDAsMCwwLS41NjYtLjcyOEwyMS45MjcsMi45YTEuNDY0LDEuNDY0LDAsMCwwLTEuMTQxLjlMMTIuMDA3LDI5LjAwNmEuNTczLjU3MywwLDAsMCwuNTc4LjgxM2g3LjI2YS42NTcuNjU3LDAsMCwwLC41NzctLjRaXCIgc3R5bGU9XCJmaWxsOiM1MzZiOGFcIi8+PHBhdGggZD1cIk0yLjYxNCwyLjE4NWw3LjQ1OS43MTlhMS40NjYsMS40NjYsMCwwLDEsMS4xNDIuOUwyMC4xOCwyOS40MTNhLjI4Ni4yODYsMCwwLDEtLjI4OS40MDZIMTIuNTg1YTEuMzExLDEuMzExLDAsMCwxLTEuMTUyLS44MUwyLjA0OCwyLjkxM0EuNS41LDAsMCwxLDIuNjE0LDIuMTg1WlwiIHN0eWxlPVwiZmlsbDojNWQ4N2JmXCIvPmAsXG5cdFwiVmFsYVwiOiBgPHBhdGggZD1cIk0xMi41MDksMTcuMTkzYy0uMTY1LTYuODM2LS4zMjUtMTIuNDU1LS4zNTctMTIuNDg3QTcuOTE2LDcuOTE2LDAsMCwwLDkuODc5LDUuODc0LDcuNjA2LDcuNjA2LDAsMCwwLDcuMzI0LDkuMTg4YTguNDIyLDguNDIyLDAsMCwwLS41ODcsMy41NDMsNC42NjUsNC42NjUsMCwwLDAsLjIsMS45NjIsMy40MTcsMy40MTcsMCwwLDEsLjE4Mi41NmMtLjAxMi4wMDktLjMzOC0uMDE4LS43MjQtLjA2MS0xLjg2OC0uMjA3LTIuNzg2LTEuMDUtMy0yLjc1N0E2LjMxMiw2LjMxMiwwLDAsMSw0Ljg1LDcuNzE5YTE1LjEzNCwxNS4xMzQsMCwwLDEsOC40MTQtNS4xNjMsMTIuODkxLDEyLjg5MSwwLDAsMSwyLjU0Mi0uMjM1bDEuNzQ4LS4wNS4wNTksMi41MDZjLjAzMiwxLjM3OC4xLDYuMzU4LjE2MSwxMS4wNjdzLS4yNTIsOC4yOS0uMjE5LDguNEMxOS41LDE3Ljg3OSwyMiwxMy4wNzMsMjQuMzY3LDYuMjUzbDEuNDI3LTMuOTgzSDI4LjU0Yy0uMDIyLjA2My0yLjc1MSw2LjUtNS41MTQsMTMuOTE2bC01LjQ3MywxMy41NUgxMi45NzZDMTIuOTc2LDI3LjkwNiwxMi41MzUsMTguNDg2LDEyLjUwOSwxNy4xOTNaXCIgc3R5bGU9XCJmaWxsOiM0MDM3NTdcIi8+PHBhdGggZD1cIk0xNy43MzIsMzBIMTIuNzEzdi0uMjYzYzAtMS4xMzctLjE3LTUuMTkyLS4zMDctOC40NTItLjA4MS0xLjkyOS0uMTUtMy42LS4xNjEtNC4wODctLjE1Ni02LjQ3OS0uMjg2LTExLS4zMzYtMTIuMTYzYTExLjY3NCwxMS42NzQsMCwwLDAtMS44NzQsMS4wNDksNy4zNDgsNy4zNDgsMCwwLDAtMi40NjYsMy4yQTguMTQ2LDguMTQ2LDAsMCwwLDcsMTIuNzMxLDQuMzcsNC4zNywwLDAsMCw3LjE4NSwxNC42Yy4yMTUuNTY5LjI3My43MjMuMS44NTktLjA5My4wNzMtLjEwNy4wODQtLjkxNi0uMDA3LTEuOTc2LS4yMTktMy0xLjE2Ny0zLjIzNC0yLjk4NkE2LjU2OCw2LjU2OCwwLDAsMSw0LjY0LDcuNTYxLDE1LjQzOSwxNS40MzksMCwwLDEsMTMuMiwyLjMsMTMuMTc2LDEzLjE3NiwwLDAsMSwxNS44LDIuMDU4TDE3LjgxMSwybC4wNjUsMi43N2MuMDMyLDEuMzkyLjEwNiw2LjQ2MS4xNjEsMTEuMDcuMDMxLDIuNjE2LS4wNTIsNC45MTUtLjEyNCw2LjQzLjkzMS0yLjc2MywxLjk1OC01LjI3LDMuMDMzLTcuOSwxLjA0My0yLjU0NywyLjEyMi01LjE4LDMuMTczLTguMjA3bDEuNDkxLTQuMTZoMy4zbC0uMTI1LjM1MWMwLC4wMDctLjAzMS4wNzYtLjA4NC4yLTEuMSwyLjYyMi0zLjI1OSw3Ljg4OS01LjQzLDEzLjcxN1ptLTQuNDk1LS41MjZoNC4xNGw1LjQwNy0xMy4zODZjMi4xMjQtNS43LDQuMjQzLTEwLjg3Niw1LjM2Mi0xMy41NTVIMjUuOTc5TDI0LjYxNCw2LjM0MmMtMS4wNTUsMy4wMzgtMi4xMzcsNS42NzgtMy4xODMsOC4yMzEtMS4zMTEsMy4yLTIuNTUsNi4yMjYtMy42MjYsOS43NDdsLS4yNTUuODMxLS4yNDgtLjgzM2EzLjI3NCwzLjI3NCwwLDAsMSwuMDIxLS44MzljLjA3NC0xLjM1LjIyOS00LjE1OC4xODgtNy42MzMtLjA1NS00LjYwNy0uMTI5LTkuNjc0LS4xNjEtMTEuMDY0TDE3LjMsMi41NDFsLTEuNDg0LjA0M2ExMi43MjksMTIuNzI5LDAsMCwwLTIuNDkuMjI4QTE0Ljg4NywxNC44ODcsMCwwLDAsNS4wNiw3Ljg3N2E2LjA3MSw2LjA3MSwwLDAsMC0xLjQsNC41MjRjLjIsMS41OCwxLjAyOCwyLjMzNiwyLjc3LDIuNTI5bC4zMzMuMDM1Yy0uMDE5LS4wNTQtLjA0MS0uMTE0LS4wNjYtLjE3OWE0Ljg5Myw0Ljg5MywwLDAsMS0uMjE5LTIuMDU1LDguNyw4LjcsMCwwLDEsLjYtMy42MzgsNy44ODMsNy44ODMsMCwwLDEsMi42NDQtMy40M2MuMDIyLS4wMTYsMi4yMzItMS41MjUsMi42MTUtMS4xNDIuMDkyLjA5Mi4xMzEuMTMxLjQzMywxMi42NjZoMGMuMDEuNDg1LjA4LDIuMTQ5LjE2LDQuMDc2QzEzLjA2LDI0LjMxMywxMy4yMTcsMjguMDYsMTMuMjM3LDI5LjQ3NFpcIiBzdHlsZT1cImZpbGw6I2M4YzhjOFwiLz5gLFxuXHRcIlZCLk5ldFwiOiBgPHBhdGggZD1cIk02LjY3LDcuODM2LDksMTguOTE1LDExLjMzNiw3LjgzNkgxNkwxMS4zMzYsMjQuMTY0SDYuNjcyTDIsNy44MzZaXCIgc3R5bGU9XCJmaWxsOiMwMDUxOWFcIi8+PHBhdGggZD1cIk0xOC4zMzEsNy44MzZoNy42YTQuMDgsNC4wOCwwLDAsMSwyLjksMS43NDksMy43OCwzLjc4LDAsMCwxLC41NzEsMi4wNCwzLjk4NSwzLjk4NSwwLDAsMS0uNTcxLDIuMDM0LDQuMTA4LDQuMTA4LDAsMCwxLTIuMzQxLDEuNzYzLDQuMSw0LjEsMCwwLDEsMi45MjksMS43NTYsMy44LDMuOCwwLDAsMSwuNTgsMi4xLDQuNjYzLDQuNjYzLDAsMCwxLS41NzksMi41NDYsNS4wNDcsNS4wNDcsMCwwLDEtMy41LDIuMzM4SDE4LjMzMVpNMjMsMTQuMjUyaDEuMTY2YTEuNzU0LDEuNzU0LDAsMCwwLDAtMy41SDIzWm0wLDdIMjQuMzlhMi4wNDcsMi4wNDcsMCwwLDAsMC00LjA4OUgyM1pcIiBzdHlsZT1cImZpbGw6IzAwNTE5YVwiLz5gLFxuXHRcIlZCQVwiOiBgPHBvbHlnb24gcG9pbnRzPVwiMTAuNDU3IDExLjA5MiAxNi4wMTQgMTMuODM5IDE2LjAxNCAxOC4zMDcgMTAuNDU3IDE1LjM4MiAxMC40NTcgMTEuMDkyXCIgc3R5bGU9XCJmaWxsOiM2NDgzYzBcIi8+PHBhdGggZD1cIk0xNi4yLDE4LjYxM2wtNS45MjYtMy4xMlYxMC44TDE2LjIsMTMuNzI0Wk0xMC42NDIsMTUuMjcsMTUuODMsMThWMTMuOTUzbC01LjE4OC0yLjU2NFpcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTYuMzcxIDEzLjgzOSAxNi4zNzEgMTguMzA3IDIxLjMxNSAxNS44MTQgMjEuMzE1IDExLjM1NCAxNi4zNzEgMTMuODM5XCIgc3R5bGU9XCJmaWxsOiM2NDgzYzBcIi8+PHBhdGggZD1cIk0xNi4xODYsMTguNjA3VjEzLjcyNWw1LjMxMy0yLjY3djQuODczWm0uMzY5LTQuNjU1djQuMDU1TDIxLjEzLDE1LjdWMTEuNjUzWlwiLz48cG9seWdvbiBwb2ludHM9XCIxMC43MDMgMTAuNzk3IDE2LjE4NiAxMy41OCAyMS4wODIgMTEuMDY0IDE1Ljc3NyA4LjM4OSAxMC43MDMgMTAuNzk3XCIgc3R5bGU9XCJmaWxsOiM2NDgzYzBcIi8+PHBhdGggZD1cIk0xNi4xODcsMTMuNzg4bC01LjktMyw1LjUtMi42MDgsNS43MDksMi44NzlaTTExLjEyMiwxMC44bDUuMDY0LDIuNTcsNC40OS0yLjMwOC00LjktMi40NzFaXCIvPjxwb2x5Z29uIHBvaW50cz1cIjE4Ljk1NyAxNS44MjkgMjQuNTE1IDE4LjU3NSAyNC41MTUgMjMuMDQzIDE4Ljk1NyAyMC4xMTggMTguOTU3IDE1LjgyOVwiIHN0eWxlPVwiZmlsbDojOTUyNzgxXCIvPjxwYXRoIGQ9XCJNMjQuNywyMy4zNDlsLTUuOTI2LTMuMTJ2LTQuN0wyNC43LDE4LjQ2Wm0tNS41NTctMy4zNDMsNS4xODgsMi43MzFWMTguNjg5bC01LjE4OC0yLjU2NFpcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjQuODcxIDE4LjU3NSAyNC44NzEgMjMuMDQzIDI5LjgxNSAyMC41NSAyOS44MTUgMTYuMDkgMjQuODcxIDE4LjU3NVwiIHN0eWxlPVwiZmlsbDojOTUyNzgxXCIvPjxwYXRoIGQ9XCJNMjQuNjg3LDIzLjM0M1YxOC40NjFMMzAsMTUuNzkxdjQuODczWm0uMzY5LTQuNjU1djQuMDU1bDQuNTc1LTIuMzA4VjE2LjM4OVpcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTkuMjAzIDE1LjU0NiAyNC42ODcgMTguMzI5IDI5LjU4MyAxNS44MTIgMjQuMzY0IDEzLjM0NiAxOS4yMDMgMTUuNTQ2XCIgc3R5bGU9XCJmaWxsOiM5NTI3ODFcIi8+PHBhdGggZD1cIk0yNC42ODcsMTguNTM2bC01LjkyLTMuMDA1LDUuNi0yLjM4N0wzMCwxNS44MDVaTTE5LjY0LDE1LjU2bDUuMDQ2LDIuNTYxLDQuNDc5LTIuMy00LjgwNi0yLjI3WlwiLz48cG9seWdvbiBwb2ludHM9XCIyLjE5IDE1LjQ5NiA3Ljc0OCAxOC4yNDMgNy43NDggMjIuNzExIDIuMTkgMTkuNzg2IDIuMTkgMTUuNDk2XCIgc3R5bGU9XCJmaWxsOiNkODdiMzBcIi8+PHBhdGggZD1cIk03LjkzMiwyMy4wMTcsMi4wMDYsMTkuOVYxNS4ybDUuOTI2LDIuOTI5Wk0yLjM3NSwxOS42NzRsNS4xODgsMi43MzFWMTguMzU3TDIuMzc1LDE1Ljc5M1pcIi8+PHBvbHlnb24gcG9pbnRzPVwiOC4xMDQgMTguMjQzIDguMTA0IDIyLjcxMSAxMy4wNDggMjAuMjE4IDEzLjA0OCAxNS43NTggOC4xMDQgMTguMjQzXCIgc3R5bGU9XCJmaWxsOiNkODdiMzBcIi8+PHBhdGggZD1cIk03LjkyLDIzLjAxMVYxOC4xMjlsNS4zMTMtMi42N3Y0Ljg3M1ptLjM2OS00LjY1NXY0LjA1NUwxMi44NjQsMjAuMVYxNi4wNTdaXCIvPjxwb2x5Z29uIHBvaW50cz1cIjIuNDM2IDE1LjIxMyA3LjkyIDE3Ljk5NyAxMi44MTYgMTUuNDggNy41OTcgMTMuMDE0IDIuNDM2IDE1LjIxM1wiIHN0eWxlPVwiZmlsbDojZDg3YjMwXCIvPjxwYXRoIGQ9XCJNNy45MiwxOC4yLDIsMTUuMmw1LjYtMi4zODcsNS42MzIsMi42NjFaTTIuODczLDE1LjIyOGw1LjA0NiwyLjU2MSw0LjQ3OS0yLjMtNC44MDYtMi4yN1pcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTAuODc1IDE2LjI5NiAxNi40MzIgMTkuMDQyIDE2LjQzMiAyMy41MTEgMTAuODc1IDIwLjU4NSAxMC44NzUgMTYuMjk2XCIgc3R5bGU9XCJmaWxsOiNlMGQ0MDBcIi8+PHBhdGggZD1cIk0xNi42MTcsMjMuODE2LDEwLjY5MSwyMC43VjE2bDUuOTI2LDIuOTI5Wk0xMS4wNiwyMC40NzRsNS4xODgsMi43MzFWMTkuMTU3TDExLjA2LDE2LjU5M1pcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTYuNzg5IDE5LjA0MiAxNi43ODkgMjMuNTExIDIxLjczMyAyMS4wMTcgMjEuNzMzIDE2LjU1NyAxNi43ODkgMTkuMDQyXCIgc3R5bGU9XCJmaWxsOiNlMGQ0MDBcIi8+PHBhdGggZD1cIk0xNi42LDIzLjgxMVYxOC45MjlsNS4zMTMtMi42N3Y0Ljg3M1ptLjM2OS00LjY1NXY0LjA1NUwyMS41NDksMjAuOVYxNi44NTdaXCIvPjxwb2x5Z29uIHBvaW50cz1cIjExLjEyMSAxNi4wMDEgMTYuNjA1IDE4Ljc4NCAyMS41MDEgMTYuMjY3IDE2LjE5NiAxMy41OTMgMTEuMTIxIDE2LjAwMVwiIHN0eWxlPVwiZmlsbDojZTBkNDAwXCIvPjxwYXRoIGQ9XCJNMTYuNjA1LDE4Ljk5MWwtNS45LTMsNS41LTIuNjA4LDUuNzA5LDIuODc5Wk0xMS41NCwxNi4wMDZsNS4wNjQsMi41Nyw0LjQ5LTIuMzA4LTQuOS0yLjQ3MVpcIi8+YCxcblx0XCJWZWxvY2l0eVwiOiBgPHBhdGggZD1cIk0xNi4yNDUsMjQuMTg3QTguMzUyLDguMzUyLDAsMSwxLDI0LjYsMTUuODM1LDguMzYyLDguMzYyLDAsMCwxLDE2LjI0NSwyNC4xODdabTAtMTQuNzYyYTYuNDEsNi40MSwwLDEsMCw2LjQxLDYuNDFBNi40MTcsNi40MTcsMCwwLDAsMTYuMjQ1LDkuNDI1WlwiLz48cG9seWdvbiBwb2ludHM9XCIyOS4xMzIgOC41NTEgMjUuNDUxIDYuNTMxIDI1LjQ1MSA3LjQ3NCAxNS44MjEgNy40NzQgMTUuODIxIDkuNDI0IDI1LjQ1MSA5LjQyNCAyNS40NTEgMTAuNTcxIDI5LjEzMiA4LjU1MVwiIHN0eWxlPVwiZmlsbDojMjYyNjkyXCIvPjxwb2x5Z29uIHBvaW50cz1cIjguOTg0IDIgNi45NjQgNS42ODcgNy45MDYgNS42ODcgNy45MDYgMTUuMzI4IDkuODU3IDE1LjMyOCA5Ljg1NyA1LjY4NyAxMS4wMDQgNS42ODcgOC45ODQgMlwiIHN0eWxlPVwiZmlsbDojMjYyNjkzXCIvPjxwb2x5Z29uIHBvaW50cz1cIjIzLjcwNSAzMCAyMS42ODUgMjYuMjQzIDIyLjYyOCAyNi4yNDMgMjIuNjI4IDE2LjQxNyAyNC41NzggMTYuNDE3IDI0LjU3OCAyNi4yNDMgMjUuNzI1IDI2LjI0MyAyMy43MDUgMzBcIiBzdHlsZT1cImZpbGw6IzI2MjY5M1wiLz48cG9seWdvbiBwb2ludHM9XCIyLjg2OCAyMy4zMiA2LjYzNCAyMS4zIDYuNjM0IDIyLjI0MiAxNi40ODQgMjIuMjQyIDE2LjQ4NCAyNC4xOTIgNi42MzQgMjQuMTkyIDYuNjM0IDI1LjM0IDIuODY4IDIzLjMyXCIgc3R5bGU9XCJmaWxsOiMyNjI2OTJcIi8+YCxcblx0XCJWZXJpbG9nXCI6IGA8cGF0aCBkPVwiTTI5LjAwNywxNy40aC4wMzdhMS40NDksMS40NDksMCwwLDAsLjkzOC0uMzE2LDEuNDczLDEuNDczLDAsMCwwLC41MTktMS4wMzFWMTUuOWExLjQxMywxLjQxMywwLDAsMC0xLjM3Ni0xLjNoLS4wMDljLS42ODcsMC0xLjM3NCwwLTIuMDYyLDBIMjUuNVYxMS45NTZsMy41MTMsMGguMDM0QTEuNDExLDEuNDExLDAsMCwwLDMwLjUsMTAuNmwwLS4wOSwwLS4wMzJhMS40MTIsMS40MTIsMCwwLDAtLjY0Ni0xLjEsMS40NTUsMS40NTUsMCwwLDAtLjgzNS0uMjI1SDI1LjQ1NmEyLjk2LDIuOTYsMCwwLDAtLjI3OC0xLjAzNCwyLjkwOSwyLjkwOSwwLDAsMC0xLjctMS40NjEsMi42ODQsMi42ODQsMCwwLDAtLjYyOS0uMTNWNC45NDdjMC0uNjksMC0xLjM4LDAtMi4wNjNBMS40MTQsMS40MTQsMCwwLDAsMjEuNDgxLDEuNWgtLjExNmExLjQsMS40LDAsMCwwLTEuMzE5LDEuMzg4cTAsMS4xNTQsMCwyLjMwNlY2LjVIMTcuNFY0Ljk4MWMwLS43LDAtMS40LDAtMi4wODdBMS40MSwxLjQxLDAsMCwwLDE2LjA1MywxLjVIMTUuOWExLjQwOCwxLjQwOCwwLDAsMC0xLjMsMS4zODNjMCwuNjg4LDAsMS4zNzYsMCwyLjA2NFY2LjUwOHEtMS4zMTksMC0yLjYzOSwwVjQuODg4YzAtLjY2NiwwLTEuMzMyLDAtMS45ODlhMS4zNjYsMS4zNjYsMCwwLDAtLjQtLjk3NSwxLjQsMS40LDAsMCwwLS45ODQtLjQyNEgxMC41QTEuNDEsMS40MSwwLDAsMCw5LjE1OSwyLjg4MWMwLC42ODMsMCwxLjM2NiwwLDIuMDQ5djEuNmEyLjkzMywyLjkzMywwLDAsMC0yLjQ2NiwxLjksMi44NzgsMi44NzgsMCwwLDAtLjE2MS43MjZINC45NTdjLS42OTMsMC0xLjM4NiwwLTIuMDczLDBIMi44NzZBMS40MTMsMS40MTMsMCwwLDAsMS41LDEwLjV2LjA5NWExLjQxNywxLjQxNywwLDAsMCwuNTc1LDEuMDkxLDEuNDYzLDEuNDYzLDAsMCwwLC44ODcuMjczaC4wMTdsMy41MjIsMFYxNC42SDQuOTQ4Yy0uNjg2LDAtMS4zNzUsMC0yLjA1NywwQTEuNDI4LDEuNDI4LDAsMCwwLDEuNSwxNS45MTNWMTYuMWExLjQsMS40LDAsMCwwLDEuMzg2LDEuM2MuNzExLDAsMS40MjMsMCwyLjEzNSwwSDYuNVYyMC4wNWwtLjI5MiwwYy0uNjEzLS4wMDctMS4yMjYsMC0xLjgzOCwwSDMuMDg3YTEuNjMzLDEuNjMzLDAsMCwwLS45MTguMjExQTEuNDM3LDEuNDM3LDAsMCwwLDEuNSwyMS40VjIxLjVhMS40MTcsMS40MTcsMCwwLDAsMS4zNzUsMS4zMzdoLjAwNXEuNjQ1LDAsMS4yOSwwSDYuNTQ2YTIuODMyLDIuODMyLDAsMCwwLDEuOTc4LDIuNSwyLjcxMiwyLjcxMiwwLDAsMCwuNjMxLjEyOHYxLjYyYzAsLjY3OCwwLDEuMzU0LDAsMi4wMjVhMS40LDEuNCwwLDEsMCwyLjgtLjA5MmwwLTMuNTI3SDE0LjZ2My41MTZBMS40MTQsMS40MTQsMCwwLDAsMTUuOTQ3LDMwLjVIMTYuMWExLjQxMSwxLjQxMSwwLDAsMCwxLjMtMS4zODVxLjAwNi0xLjA2NiwwLTIuMTMxVjI1LjVoMi42NDRWMjkuMUExLjQyMywxLjQyMywwLDAsMCwyMS40LDMwLjVoLjExOWExLjQwOCwxLjQwOCwwLDAsMCwxLjE2LS43NDEsMS42NDMsMS42NDMsMCwwLDAsLjE2Ny0uODMzVjI1LjQ3NGEyLjY3MSwyLjY3MSwwLDAsMCwuNjItLjEyOCwyLjkyOCwyLjkyOCwwLDAsMCwxLjg4Ni0xLjg4OCwyLjgzNCwyLjgzNCwwLDAsMCwuMTIzLS42MTNoMS41ODFjLjY4NywwLDEuMzc1LDAsMi4wNTcsMGguMDA4QTEuNDIyLDEuNDIyLDAsMCwwLDMwLjUsMjEuNDgxdi0uMTE4YTEuNDA5LDEuNDA5LDAsMCwwLTEuMzgyLTEuMzE4aDBjLS43MTgsMC0xLjQzNiwwLTIuMTU0LDBIMjUuNVYxNy40WlwiIHN0eWxlPVwiZmlsbDojYzVjNWM1O29wYWNpdHk6MC4zXCIvPjxwYXRoIGQ9XCJNMTAuNTE1LDJoLjA1NmEuOTEuOTEsMCwwLDEsLjg4Ni44OTNjLjAwNiwxLjEwOCwwLDIuMjE2LDAsMy4zMjQtLjYsMC0xLjIsMC0xLjgsMCwwLTEuMTExLDAtMi4yMjIsMC0zLjMzM0EuOTA3LjkwNywwLDAsMSwxMC41MTUsMlpcIiBzdHlsZT1cImZpbGw6IzFhMzQ4ZlwiLz48cGF0aCBkPVwiTTE1LjkzNywyaC4xMTZhLjkxMi45MTIsMCwwLDEsLjg0Ni44ODljLjAwNiwxLjEwOSwwLDIuMjE5LDAsMy4zMjlIMTUuMWMwLTEuMTEsMC0yLjIyLDAtMy4zM0EuOTExLjkxMSwwLDAsMSwxNS45MzcsMlpcIiBzdHlsZT1cImZpbGw6IzFhMzQ4ZlwiLz48cGF0aCBkPVwiTTIxLjM5MiwyaC4wODlhLjkwNy45MDcsMCwwLDEsLjg1OS44ODFjLjAwNywxLjExMiwwLDIuMjI1LDAsMy4zMzdoLTEuOGMwLTEuMTA5LDAtMi4yMTcsMC0zLjMyNkEuOTEyLjkxMiwwLDAsMSwyMS4zOTIsMlpcIiBzdHlsZT1cImZpbGw6IzFhMzQ4ZlwiLz48cGF0aCBkPVwiTTIsMTAuNTE4YS45MDguOTA4LDAsMCwxLC44ODItLjg1OWMxLjExMi0uMDA3LDIuMjIzLDAsMy4zMzQsMHEwLC45LDAsMS44Yy0xLjA3OSwwLTIuMTU4LDAtMy4yMzcsMGEuOTgzLjk4MywwLDAsMS0uNi0uMTczQS45MjQuOTI0LDAsMCwxLDIsMTAuNTcxWlwiIHN0eWxlPVwiZmlsbDojMWEzNDhmXCIvPjxwYXRoIGQ9XCJNMjUuNzg2LDkuNjU1aDMuMjMzYTEsMSwwLDAsMSwuNTYxLjE0My45MjQuOTI0LDAsMCwxLC40Mi43MTZ2LjA1OGEuOTMzLjkzMywwLDAsMS0uMy42NTEuOTU3Ljk1NywwLDAsMS0uNjc3LjIzNGMtMS4wNzksMC0yLjE1OCwwLTMuMjM3LDBRMjUuNzg2LDEwLjU1NiwyNS43ODYsOS42NTVaXCIgc3R5bGU9XCJmaWxsOiMxYTM0OGZcIi8+PHBhdGggZD1cIk0yLDE1Ljk0NGEuOTEzLjkxMywwLDAsMSwuODg4LS44NDJjMS4xMDktLjAwNywyLjIxOSwwLDMuMzI4LDBxMCwuOSwwLDEuOGMtMS4xMDksMC0yLjIxNywwLTMuMzI2LDBBLjkxNS45MTUsMCwwLDEsMiwxNi4wNjNaXCIgc3R5bGU9XCJmaWxsOiMxYTM0OGZcIi8+PHBhdGggZD1cIk0yNS43ODYsMTUuMWMxLjEwOSwwLDIuMjE4LDAsMy4zMjYsMGEuOTE0LjkxNCwwLDAsMSwuODg5LjgzNXYuMTE3YS45NDYuOTQ2LDAsMCwxLS4zMzEuNjQxLjk3My45NzMsMCwwLDEtLjY1MS4yMDdIMjUuNzg2UTI1Ljc4NSwxNiwyNS43ODYsMTUuMVpcIiBzdHlsZT1cImZpbGw6IzFhMzQ4ZlwiLz48cGF0aCBkPVwiTTIuNDMzLDIwLjY3OGExLjEyMSwxLjEyMSwwLDAsMSwuNjQzLS4xMzZjMS4wNDMuMDA2LDIuMDg2LS4wMDYsMy4xMjkuMDA2LjAyOC42LDAsMS4yLjAxMiwxLjgtMS4xMSwwLTIuMjIxLDAtMy4zMzEsMEEuOTExLjkxMSwwLDAsMSwyLDIxLjQ4M1YyMS40QS45MjUuOTI1LDAsMCwxLDIuNDMzLDIwLjY3OFpcIiBzdHlsZT1cImZpbGw6IzFhMzQ4ZlwiLz48cGF0aCBkPVwiTTI1Ljc4NiwyMC41NDNjMS4xMDgsMCwyLjIxNiwwLDMuMzI0LDBhLjkxNC45MTQsMCwwLDEsLjg5Ljg0N3YuMDlhLjkxMS45MTEsMCwwLDEtLjg4OC44NTljLTEuMTA5LjAwNy0yLjIxOCwwLTMuMzI2LDBDMjUuNzg2LDIxLjc0MywyNS43ODUsMjEuMTQzLDI1Ljc4NiwyMC41NDNaXCIgc3R5bGU9XCJmaWxsOiMxYTM0OGZcIi8+PHBhdGggZD1cIk05LjY1NiwyNS43ODFoMS44YzAsMS4wODEsMCwyLjE2MiwwLDMuMjQzYS45NTcuOTU3LDAsMCwxLS4yMzUuNjc3LjkzMS45MzEsMCwwLDEtLjY1My4zaC0uMDUyYS45MDcuOTA3LDAsMCwxLS44Ni0uODgyQzkuNjUxLDI4LjAwNiw5LjY1OCwyNi44OTQsOS42NTYsMjUuNzgxWlwiIHN0eWxlPVwiZmlsbDojMWEzNDhmXCIvPjxwYXRoIGQ9XCJNMTUuMSwyNS43ODFoMS44YzAsMS4xMSwwLDIuMjIsMCwzLjMzYS45MTQuOTE0LDAsMCwxLS44MzYuODg5aC0uMTE2YS45NC45NCwwLDAsMS0uNjE5LS4zMDYuOTYyLjk2MiwwLDAsMS0uMjI4LS42NzNRMTUuMSwyNy40LDE1LjEsMjUuNzgxWlwiIHN0eWxlPVwiZmlsbDojMWEzNDhmXCIvPjxwYXRoIGQ9XCJNMjAuNTQ3LDI5LjEwNmMwLTEuMTA4LDAtMi4yMTcsMC0zLjMyNWgxLjhjMCwxLjA0OCwwLDIuMSwwLDMuMTQ0YTEuMTc4LDEuMTc4LDAsMCwxLS4xMDUuNTkuOTIuOTIsMCwwLDEtLjc1Ni40ODRIMjEuNEEuOTExLjkxMSwwLDAsMSwyMC41NDcsMjkuMTA2WlwiIHN0eWxlPVwiZmlsbDojMWEzNDhmXCIvPjxwYXRoIGQ9XCJNMjQuNzMyLDguMzQ5QTIuNDI5LDIuNDI5LDAsMCwwLDIzLjMxLDcuMTMxLDMuMjQ1LDMuMjQ1LDAsMCwwLDIyLjI1NCw3Yy00LjMuMDA4LTguNi0uMDExLTEyLjkwNS4wMUEyLjQzNiwyLjQzNiwwLDAsMCw3LjE1Nyw4LjYwNiwzLjYxMSwzLjYxMSwwLDAsMCw3LDkuOTM0cTAsNi4yNSwwLDEyLjVhMi42NzMsMi42NzMsMCwwLDAsLjI2OCwxLjIxOUEyLjQzMSwyLjQzMSwwLDAsMCw4LjY4OCwyNC44NywzLjc1NiwzLjc1NiwwLDAsMCw5LjkyNywyNUgyMi4wN2EzLjc2MiwzLjc2MiwwLDAsMCwxLjI0My0uMTI3QTIuNDI5LDIuNDI5LDAsMCwwLDI0Ljg3NSwyMy4zLDMuOCwzLjgsMCwwLDAsMjUsMjIuMDcxcTAtNi4yNSwwLTEyLjVBMi42ODYsMi42ODYsMCwwLDAsMjQuNzMyLDguMzQ5WlwiIHN0eWxlPVwiZmlsbDojMWEzNDhmXCIvPjxwYXRoIGQ9XCJNNy41LDguMzA3bC4wODQtLjJxLjk2OCwwLDEuOTM1LjAyNGguMzk0cS4xNzksMCwuMzk0LS4wMTIuNzc2LS4wMzYsMi44MDctLjAzNi40MDYsMCwuNzg4LjAwNnQuNzQxLjAxOGEuMjM0LjIzNCwwLDAsMSwuMTA4LjEwOGwtLjAyNC4xOTFxLS4wNzIuMTE5LS4zNTguMTE5aC0uMWExMC4zLDEwLjMsMCwwLDAtMS4xLjA1NCwyLjE3OSwyLjE3OSwwLDAsMC0xLC4yNDUuNDMyLjQzMiwwLDAsMC0uMTU1LjM0Niw0LjA1LDQuMDUsMCwwLDAsLjM5NCwxLjRsMS44MTgsNC4yMTcuNjM0LDEuNHEuOTIxLDIuMjIyLDEuODE5LDQuNTM5LjEuMjUxLjE3OS40NTRsLjgtMS45NTlxLjYyLTEuNDgxLDEuMjUyLTMuMTU0bC44MjMtMi4yNDZxLjAyNC0uMDcyLjEzMS0uNDc4YTE3LjAyNiwxNy4wMjYsMCwwLDAsMS4xNTctNCwuNTYxLjU2MSwwLDAsMC0uMTYxLS4zNjQsMS4xNjUsMS4xNjUsMCwwLDAtLjUyLS4zLDcuNzIzLDcuNzIzLDAsMCwwLS45MzItLjE0M2wtLjg4NC0uMTA4YS4zMzcuMzM3LDAsMCwxLS4xMDgtLjJsLjAzNi0uMSwzLjg3LS4wMzZIMjMuNmEzLjEsMy4xLDAsMCwxLC44ODUuMDg0bC4wMTIuMWEuNjQxLjY0MSwwLDAsMS0uMDcyLjI1MSwyLjQ0OSwyLjQ0OSwwLDAsMS0uNTI2LjExOSwzLjYsMy42LDAsMCwwLTEuMjQ0LjI4MSwxLjgxNSwxLjgxNSwwLDAsMC0uNS42ODdsLTMuMTM0LDcuNzY1cS0xLjQ2NiwzLjUtMi4wODYsNS40MjNsLS4zNDUsMS4wMzlhLjUzMS41MzEsMCwwLDEtLjI2My4xLDEuMzgzLDEuMzgzLDAsMCwxLS4zLS4wMzZxLTEuNDIyLTMuNjc2LTIuMzE4LTUuNjgxTDEwLjA1NSw5LjkyYTMuMjQ3LDMuMjQ3LDAsMCwwLS41OTEtLjg5LDUuNDYzLDUuNDYzLDAsMCwwLTEuMzc5LS40MjQsNC4zNDcsNC4zNDcsMCwwLDEtLjQ2Ni0uMTE5QS4zMjYuMzI2LDAsMCwxLDcuNSw4LjMwN1pcIiBzdHlsZT1cImZpbGw6I2M1YzJmZlwiLz5gLFxuXHRcIlZIRExcIjogYDxwYXRoIGQ9XCJNMiwySDMwVjMwSDJabTEuNjg5LjA2N0ExLjYyNCwxLjYyNCwwLDAsMCwyLjA2MywzLjY5MlYyOC4zMTRBMS42MjUsMS42MjUsMCwwLDAsMy42ODksMjkuOTRIMjguMzE2YTEuNjI1LDEuNjI1LDAsMCwwLDEuNjI2LTEuNjI2VjMuNjkyYTEuNjI0LDEuNjI0LDAsMCwwLTEuNjI2LTEuNjI1Wk0zLjAwOCwyOC4wNzlhLjkxMS45MTEsMCwwLDAsLjkxMS45MTJIMjguMDgzYS45MTEuOTExLDAsMCwwLC45MTEtLjkxMlYzLjkxOWEuOTEuOTEsMCwwLDAtLjkxMS0uOTExSDMuOTE5YS45MS45MSwwLDAsMC0uOTExLjkxMVpcIiBzdHlsZT1cImZpbGw6IzBkOWIzNVwiLz48cG9seWdvbiBwb2ludHM9XCIyNS41MiA1LjUwMiAxOC44NTggMjYuNDkxIDEzLjE1NCAyNi40OTEgNi40OTIgNS41MDIgMTAuNTA4IDUuNTAyIDE2LjAyOSAyMi43OTUgMjEuNTA0IDUuNTAyIDI1LjUyIDUuNTAyXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+YCxcblx0XCJ2aW1cIjogYDxkZWZzPjxjbGlwUGF0aCBpZD1cImFcIj48cG9seWdvbiBwb2ludHM9XCIyIDIgMzAgMiAzMCAzMCAyIDMwIDIgMiAyIDJcIiBzdHlsZT1cImZpbGw6bm9uZTtjbGlwLXJ1bGU6ZXZlbm9kZFwiLz48L2NsaXBQYXRoPjwvZGVmcz48dGl0bGU+ZmlsZV90eXBlX3ZpbTwvdGl0bGU+PHBvbHlnb24gcG9pbnRzPVwiMjkuOTg5IDE1Ljg1NiAxNS44NTYgMi4wMTEgMi4wMTEgMTYuMTM2IDE1Ljg1NiAyOS45ODkgMjkuOTg5IDE1Ljg1NiAyOS45ODkgMTUuODU2XCIgc3R5bGU9XCJmaWxsOiMyMzFmMjA7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PGcgc3R5bGU9XCJjbGlwLXBhdGg6dXJsKCNhKVwiPjxwb2x5Z29uIHBvaW50cz1cIjI5Ljk4OSAxNS44NTYgMTUuODU2IDIuMDExIDIuMDExIDE2LjEzNiAxNS44NTYgMjkuOTg5IDI5Ljk4OSAxNS44NTYgMjkuOTg5IDE1Ljg1NlwiIHN0eWxlPVwiZmlsbDpub25lO3N0cm9rZTojMjMxZjIwO3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZS13aWR0aDowLjIxNjAwMDAwNTYwMjgzN3B4XCIvPjwvZz48cG9seWdvbiBwb2ludHM9XCIyOC41NzUgMTUuODU2IDI5LjQyMiAxNS44NTYgMTUuODU2IDI5LjQyMiAxNS44NTYgMjguNTc1IDI4LjU3NSAxNS44NTYgMjguNTc1IDE1Ljg1NlwiIHN0eWxlPVwiZmlsbDojMjk2OTVkO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5Z29uIHBvaW50cz1cIjI4LjU3NSAxNS44NTYgMjkuNDIyIDE1Ljg1NiAxNS44NTYgMjkuNDIyIDE1Ljg1NiAyOC41NzUgMjguNTc1IDE1Ljg1NiAyOC41NzUgMTUuODU2XCIgc3R5bGU9XCJmaWxsOm5vbmU7c3Ryb2tlOiMyMzFmMjA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjAuMjE2MDAwMDA1NjAyODM3cHhcIi8+PHBvbHlnb24gcG9pbnRzPVwiMi41NzggMTYuMTM2IDMuNDI1IDE2LjEzNiAxNS44NTYgMjguNTc1IDE1Ljg1NiAyOS40MjIgMi41NzggMTYuMTM2IDIuNTc4IDE2LjEzNlwiIHN0eWxlPVwiZmlsbDojMzE3MzY3O2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5Z29uIHBvaW50cz1cIjIuNTc4IDE2LjEzNiAzLjQyNSAxNi4xMzYgMTUuODU2IDI4LjU3NSAxNS44NTYgMjkuNDIyIDIuNTc4IDE2LjEzNiAyLjU3OCAxNi4xMzZcIiBzdHlsZT1cImZpbGw6bm9uZTtzdHJva2U6IzIzMWYyMDtzdHJva2UtbWl0ZXJsaW1pdDoxMDtzdHJva2Utd2lkdGg6MC4yMTYwMDAwMDU2MDI4MzdweFwiLz48cG9seWdvbiBwb2ludHM9XCIxNS44NTYgMy40MTggMTUuODU2IDIuNTc4IDIuNTc4IDE2LjEzNiAzLjQyNSAxNi4xMzYgMTUuODU2IDMuNDE4IDE1Ljg1NiAzLjQxOFwiIHN0eWxlPVwiZmlsbDojNjBjMmFjO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5Z29uIHBvaW50cz1cIjE1Ljg1NiAzLjQxOCAxNS44NTYgMi41NzggMi41NzggMTYuMTM2IDMuNDI1IDE2LjEzNiAxNS44NTYgMy40MTggMTUuODU2IDMuNDE4XCIgc3R5bGU9XCJmaWxsOm5vbmU7c3Ryb2tlOiMyMzFmMjA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjAuMjE2MDAwMDA1NjAyODM3cHhcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTUuODU2IDIuNTc4IDE1Ljg1NiAzLjQxOCAyOC41NzUgMTUuODU2IDI5LjQyMiAxNS44NTYgMTUuODU2IDIuNTc4IDE1Ljg1NiAyLjU3OFwiIHN0eWxlPVwiZmlsbDojNDNiNTRhO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5Z29uIHBvaW50cz1cIjE1Ljg1NiAyLjU3OCAxNS44NTYgMy40MTggMjguNTc1IDE1Ljg1NiAyOS40MjIgMTUuODU2IDE1Ljg1NiAyLjU3OCAxNS44NTYgMi41NzhcIiBzdHlsZT1cImZpbGw6bm9uZTtzdHJva2U6IzIzMWYyMDtzdHJva2UtbWl0ZXJsaW1pdDoxMDtzdHJva2Utd2lkdGg6MC4yMTYwMDAwMDU2MDI4MzdweFwiLz48cG9seWdvbiBwb2ludHM9XCIxNS44NTYgMjguNTc1IDI4LjU3NSAxNS44NTYgMTUuODU2IDMuNDE4IDMuNDI1IDE2LjEzNiAxNS44NTYgMjguNTc1IDE1Ljg1NiAyOC41NzVcIiBzdHlsZT1cImZpbGw6IzNjODM3NjtmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cG9seWdvbiBwb2ludHM9XCIxNS44NTYgMjguNTc1IDI4LjU3NSAxNS44NTYgMTUuODU2IDMuNDE4IDMuNDI1IDE2LjEzNiAxNS44NTYgMjguNTc1IDE1Ljg1NiAyOC41NzVcIiBzdHlsZT1cImZpbGw6bm9uZTtzdHJva2U6IzIzMWYyMDtzdHJva2UtbWl0ZXJsaW1pdDoxMDtzdHJva2Utd2lkdGg6MC4yMTYwMDAwMDU2MDI4MzdweFwiLz48cG9seWdvbiBwb2ludHM9XCIxOC40OTggNi4yNDYgMTkuMzQ1IDcuMSAxMy41MDIgMTMuMDI4IDEzLjUwMiA3LjEgMTQuMDY5IDcuMSAxNC45MTYgNi4yNDYgMTQuOTE2IDMuOTkyIDE0LjA2OSAzLjEzOCA0LjY1MiAzLjEzOCAzLjgwNSAzLjk5MiAzLjgwNSA2LjI0NiA0LjY1MiA3LjEgNS4zMTIgNy4xIDUuMzEyIDI2LjMxNCA2LjM0NiAyNy4xNjEgOS4yNjcgMjcuMTYxIDI5LjUxNiA2LjI0NiAyOS41MTYgMy45OTIgMjguNjY5IDMuMTM4IDE5LjQzOCAzLjEzOCAxOC40OTggMy45OTIgMTguNDk4IDYuMjQ2IDE4LjQ5OCA2LjI0NlwiIHN0eWxlPVwiZmlsbDojMjMxZjIwO2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5Z29uIHBvaW50cz1cIjE4LjQ5OCA2LjI0NiAxOS4zNDUgNy4xIDEzLjUwMiAxMy4wMjggMTMuNTAyIDcuMSAxNC4wNjkgNy4xIDE0LjkxNiA2LjI0NiAxNC45MTYgMy45OTIgMTQuMDY5IDMuMTM4IDQuNjUyIDMuMTM4IDMuODA1IDMuOTkyIDMuODA1IDYuMjQ2IDQuNjUyIDcuMSA1LjMxMiA3LjEgNS4zMTIgMjYuMzE0IDYuMzQ2IDI3LjE2MSA5LjI2NyAyNy4xNjEgMjkuNTE2IDYuMjQ2IDI5LjUxNiAzLjk5MiAyOC42NjkgMy4xMzggMTkuNDM4IDMuMTM4IDE4LjQ5OCAzLjk5MiAxOC40OTggNi4yNDYgMTguNDk4IDYuMjQ2XCIgc3R5bGU9XCJmaWxsOm5vbmU7c3Ryb2tlOiMyMzFmMjA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjAuMjE2MDAwMDA1NjAyODM3cHhcIi8+PHBvbHlnb24gcG9pbnRzPVwiNC45MzIgNi41MzMgNC4zNjUgNS45NjYgNC4zNjUgNC4yNzIgNC45MzIgMy43MDUgMTMuNzg5IDMuNjk4IDE0LjM0OSA0LjI3MiAxMy43ODkgNC41NDQgMTMuNTAyIDQuMjcyIDQuOTMyIDUuNjc5IDQuOTMyIDYuNTMzIDQuOTMyIDYuNTMzXCIgc3R5bGU9XCJmaWxsOiNmZmY7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlnb24gcG9pbnRzPVwiNC45MzIgNi41MzMgNC4zNjUgNS45NjYgNC4zNjUgNC4yNzIgNC45MzIgMy43MDUgMTMuNzg5IDMuNjk4IDE0LjM0OSA0LjI3MiAxMy43ODkgNC41NDQgMTMuNTAyIDQuMjcyIDQuOTMyIDUuNjc5IDQuOTMyIDYuNTMzIDQuOTMyIDYuNTMzXCIgc3R5bGU9XCJmaWxsOm5vbmU7c3Ryb2tlOiMyMzFmMjA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjAuMjE2MDAwMDA1NjAyODM3cHhcIi8+PHBvbHlnb24gcG9pbnRzPVwiNi42MjYgMjYuNTk0IDUuOTY2IDI2LjAyNyA1Ljk2NiA2LjUyNiA2LjYyNiA1Ljk2NiA2LjYyNiAyNi41OTQgNi42MjYgMjYuNTk0XCIgc3R5bGU9XCJmaWxsOiNmZmY7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlnb24gcG9pbnRzPVwiNi42MjYgMjYuNTk0IDUuOTY2IDI2LjAyNyA1Ljk2NiA2LjUyNiA2LjYyNiA1Ljk2NiA2LjYyNiAyNi41OTQgNi42MjYgMjYuNTk0XCIgc3R5bGU9XCJmaWxsOm5vbmU7c3Ryb2tlOiMyMzFmMjA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjAuMjE2MDAwMDA1NjAyODM3cHhcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjAuNzU5IDYuNTMzIDIxLjMyNiA1Ljk2NiAyMS4zMjYgNy4xIDExLjkwMiAxNi43MDMgMTIuOTQyIDE0LjQ0MiAyMC43NTkgNi41MzMgMjAuNzU5IDYuNTMzXCIgc3R5bGU9XCJmaWxsOiNmZmY7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjAuNzU5IDYuNTMzIDIxLjMyNiA1Ljk2NiAyMS4zMjYgNy4xIDExLjkwMiAxNi43MDMgMTIuOTQyIDE0LjQ0MiAyMC43NTkgNi41MzMgMjAuNzU5IDYuNTMzXCIgc3R5bGU9XCJmaWxsOm5vbmU7c3Ryb2tlOiMyMzFmMjA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjAuMjE2MDAwMDA1NjAyODM3cHhcIi8+PHBvbHlnb24gcG9pbnRzPVwiNi44MiA1LjY4NiA2LjYyNiA1Ljk2NiA1Ljk2NiA2LjUzMyA0LjkzMiA2LjUzMyA0LjkzMiA1LjM5OSA2LjgyIDUuNjg2IDYuODIgNS42ODZcIiBzdHlsZT1cImZpbGw6IzkyOTQ5NztmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cG9seWdvbiBwb2ludHM9XCI2LjgyIDUuNjg2IDYuNjI2IDUuOTY2IDUuOTY2IDYuNTMzIDQuOTMyIDYuNTMzIDQuOTMyIDUuMzk5IDYuODIgNS42ODYgNi44MiA1LjY4NlwiIHN0eWxlPVwiZmlsbDpub25lO3N0cm9rZTojMjMxZjIwO3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZS13aWR0aDowLjIxNjAwMDAwNTYwMjgzN3B4XCIvPjxwb2x5Z29uIHBvaW50cz1cIjEyLjk0MiA2LjUzMyAxMi45NDIgMTQuNDQyIDExLjkwMiAxNi42OTYgMTEuOTAyIDUuOTU4IDEzLjUwMiA1Ljk1OCAxMy43ODkgNS42NzggMTMuNTAyIDQuMjcyIDE0LjM0OSA0LjI3MiAxNC4zNDkgNS45NjYgMTMuNzg5IDYuNTMzIDEyLjk0MiA2LjUzMyAxMi45NDIgNi41MzNcIiBzdHlsZT1cImZpbGw6IzkyOTQ5NztmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cG9seWdvbiBwb2ludHM9XCIxMi45NDIgNi41MzMgMTIuOTQyIDE0LjQ0MiAxMS45MDIgMTYuNjk2IDExLjkwMiA1Ljk1OCAxMy41MDIgNS45NTggMTMuNzg5IDUuNjc4IDEzLjUwMiA0LjI3MiAxNC4zNDkgNC4yNzIgMTQuMzQ5IDUuOTY2IDEzLjc4OSA2LjUzMyAxMi45NDIgNi41MzMgMTIuOTQyIDYuNTMzXCIgc3R5bGU9XCJmaWxsOm5vbmU7c3Ryb2tlOiMyMzFmMjA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjAuMjE2MDAwMDA1NjAyODM3cHhcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTkuNjI1IDYuNTMzIDE5LjA2NSA1Ljk2NiAxOS4wNjUgNC4yNzIgMTkuNzE4IDMuNzA1IDI4LjI5NSAzLjcwNSAyOC45NTYgNC4yNzIgMjguMDA4IDUuMTE5IDE5LjYyNSA1LjY3OSAxOS42MjUgNi41MzMgMTkuNjI1IDYuNTMzXCIgc3R5bGU9XCJmaWxsOiNmZmY7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTkuNjI1IDYuNTMzIDE5LjA2NSA1Ljk2NiAxOS4wNjUgNC4yNzIgMTkuNzE4IDMuNzA1IDI4LjI5NSAzLjcwNSAyOC45NTYgNC4yNzIgMjguMDA4IDUuMTE5IDE5LjYyNSA1LjY3OSAxOS42MjUgNi41MzMgMTkuNjI1IDYuNTMzXCIgc3R5bGU9XCJmaWxsOm5vbmU7c3Ryb2tlOiMyMzFmMjA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjAuMjE2MDAwMDA1NjAyODM3cHhcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjguOTU2IDUuOTY2IDkuMDc0IDI2LjU5NCA2LjYyNiAyNi41OTQgNi42MjYgMjUuNzQ3IDguNDIgMjUuNzQ3IDI4LjI5NSA1LjM5OSAyOC4wMDggNC4yNzIgMjguOTU2IDQuMjcyIDI4Ljk1NiA1Ljk2NiAyOC45NTYgNS45NjZcIiBzdHlsZT1cImZpbGw6IzkyOTQ5NztmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cG9seWdvbiBwb2ludHM9XCIyOC45NTYgNS45NjYgOS4wNzQgMjYuNTk0IDYuNjI2IDI2LjU5NCA2LjYyNiAyNS43NDcgOC40MiAyNS43NDcgMjguMjk1IDUuMzk5IDI4LjAwOCA0LjI3MiAyOC45NTYgNC4yNzIgMjguOTU2IDUuOTY2IDI4Ljk1NiA1Ljk2NlwiIHN0eWxlPVwiZmlsbDpub25lO3N0cm9rZTojMjMxZjIwO3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZS13aWR0aDowLjIxNjAwMDAwNTYwMjgzN3B4XCIvPjxwb2x5Z29uIHBvaW50cz1cIjIxLjUxMiA1LjY4NiAyMS4zMTkgNS45NjYgMjAuNzU5IDYuNTMzIDE5LjYyNSA2LjUzMyAxOS42MjUgNS4zOTkgMjEuNTEyIDUuNjg2IDIxLjUxMiA1LjY4NlwiIHN0eWxlPVwiZmlsbDojOTI5NDk3O2ZpbGwtcnVsZTpldmVub2RkXCIvPjxwb2x5Z29uIHBvaW50cz1cIjIxLjUxMiA1LjY4NiAyMS4zMTkgNS45NjYgMjAuNzU5IDYuNTMzIDE5LjYyNSA2LjUzMyAxOS42MjUgNS4zOTkgMjEuNTEyIDUuNjg2IDIxLjUxMiA1LjY4NlwiIHN0eWxlPVwiZmlsbDpub25lO3N0cm9rZTojMjMxZjIwO3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZS13aWR0aDowLjIxNjAwMDAwNTYwMjgzN3B4XCIvPjxwb2x5Z29uIHBvaW50cz1cIjExLjkwMiAxNi42OTYgMTEuOTAyIDUuOTU4IDEzLjUwMiA1Ljk1OCAxMy43ODkgNS42NzkgMTMuNzg5IDQuNTQ0IDEzLjUwMiA0LjI2NSA1LjIxMiA0LjI2NSA0LjkzMiA0LjU0NCA0LjkzMiA1LjY3OSA1LjIxMiA1Ljk1OCA2LjYyNiA1Ljk1OCA2LjYyNiAyNS43NDcgNi45OTIgMjYuMDI3IDguNjA3IDI2LjAyNyAyOC4zODkgNS4zOTkgMjguMzg5IDQuNTg4IDI4LjEwMiA0LjI2NSAxOS45MTIgNC4yNjUgMTkuNjI1IDQuNTQ0IDE5LjYyNSA1LjY4NiAxOS45MTIgNS45NjYgMjEuMzI2IDUuOTY2IDIxLjMyNiA3LjEgMTEuOTAyIDE2LjY5NiAxMS45MDIgMTYuNjk2XCIgc3R5bGU9XCJmaWxsOiNkMGQyZDM7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTEuOTAyIDE2LjY5NiAxMS45MDIgNS45NTggMTMuNTAyIDUuOTU4IDEzLjc4OSA1LjY3OSAxMy43ODkgNC41NDQgMTMuNTAyIDQuMjY1IDUuMjEyIDQuMjY1IDQuOTMyIDQuNTQ0IDQuOTMyIDUuNjc5IDUuMjEyIDUuOTU4IDYuNjI2IDUuOTU4IDYuNjI2IDI1Ljc0NyA2Ljk5MiAyNi4wMjcgOC42MDcgMjYuMDI3IDI4LjM4OSA1LjM5OSAyOC4zODkgNC41ODggMjguMTAyIDQuMjY1IDE5LjkxMiA0LjI2NSAxOS42MjUgNC41NDQgMTkuNjI1IDUuNjg2IDE5LjkxMiA1Ljk2NiAyMS4zMjYgNS45NjYgMjEuMzI2IDcuMSAxMS45MDIgMTYuNjk2IDExLjkwMiAxNi42OTZcIiBzdHlsZT1cImZpbGw6bm9uZTtzdHJva2U6IzIzMWYyMDtzdHJva2UtbWl0ZXJsaW1pdDoxMDtzdHJva2Utd2lkdGg6MC4yMTYwMDAwMDU2MDI4MzdweFwiLz48cG9seWdvbiBwb2ludHM9XCIxNy4wNDEgMTYuNzExIDE3LjcwMSAxNi4xNDQgMTkuMzk1IDE2LjE0NCAxOS44NjkgMTYuNzExIDE5LjMwMiAxOC40MDUgMTguNjQ5IDE4Ljk3MiAxNi45NTUgMTguOTcyIDE2LjQ3NCAxOC40MDUgMTcuMDQxIDE2LjcxMSAxNy4wNDEgMTYuNzExXCIgc3R5bGU9XCJmaWxsOiMyMzFmMjA7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTcuMDQxIDE2LjcxMSAxNy43MDEgMTYuMTQ0IDE5LjM5NSAxNi4xNDQgMTkuODY5IDE2LjcxMSAxOS4zMDIgMTguNDA1IDE4LjY0OSAxOC45NzIgMTYuOTU1IDE4Ljk3MiAxNi40NzQgMTguNDA1IDE3LjA0MSAxNi43MTEgMTcuMDQxIDE2LjcxMVwiIHN0eWxlPVwiZmlsbDpub25lO3N0cm9rZTojMjMxZjIwO3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZS13aWR0aDowLjIxNjAwMDAwNTYwMjgzN3B4XCIvPjxwb2x5Z29uIHBvaW50cz1cIjE3LjYwOCAyNi4wMzQgMTkuMzA5IDIwLjk1MyAxOC43NDIgMjAuOTUzIDE5LjMwOSAxOS4yNTEgMjEuODQzIDE5LjI1MSAyMi40MSAxOS44MTkgMjIuNzkgMTkuODE5IDIzLjM1IDE5LjI1MSAyNS4yMzggMTkuMjUxIDI1LjgwNSAxOS44MTkgMjYuMTc4IDE5LjgxOSAyNi43NDUgMTkuMjUxIDI4LjgxMiAxOS4yNTEgMjkuNTY2IDIwLjM4NiAyOC4zMzEgMjQuNDA1IDI4Ljg5MSAyNC40MDUgMjguMzQ2IDI2LjAzNCAyNC45NTEgMjYuMDM0IDI2LjI3OCAyMi4wNzkgMjUuNDMxIDIyLjA3OSAyNC42NDkgMjQuMzkxIDI1LjIwOSAyNC4zOTEgMjQuNjc4IDI2LjAzNCAyMS4yODMgMjYuMDM0IDIyLjYwMyAyMi4wNzkgMjEuNzU2IDIyLjA3OSAyMC45NjcgMjQuNDA1IDIxLjUzNCAyNC40MDUgMjEuMDAzIDI2LjAzNCAxNy42MDggMjYuMDM0IDE3LjYwOCAyNi4wMzRcIiBzdHlsZT1cImZpbGw6IzIzMWYyMDtmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cG9seWdvbiBwb2ludHM9XCIxNy42MDggMjYuMDM0IDE5LjMwOSAyMC45NTMgMTguNzQyIDIwLjk1MyAxOS4zMDkgMTkuMjUxIDIxLjg0MyAxOS4yNTEgMjIuNDEgMTkuODE5IDIyLjc5IDE5LjgxOSAyMy4zNSAxOS4yNTEgMjUuMjM4IDE5LjI1MSAyNS44MDUgMTkuODE5IDI2LjE3OCAxOS44MTkgMjYuNzQ1IDE5LjI1MSAyOC44MTIgMTkuMjUxIDI5LjU2NiAyMC4zODYgMjguMzMxIDI0LjQwNSAyOC44OTEgMjQuNDA1IDI4LjM0NiAyNi4wMzQgMjQuOTUxIDI2LjAzNCAyNi4yNzggMjIuMDc5IDI1LjQzMSAyMi4wNzkgMjQuNjQ5IDI0LjM5MSAyNS4yMDkgMjQuMzkxIDI0LjY3OCAyNi4wMzQgMjEuMjgzIDI2LjAzNCAyMi42MDMgMjIuMDc5IDIxLjc1NiAyMi4wNzkgMjAuOTY3IDI0LjQwNSAyMS41MzQgMjQuNDA1IDIxLjAwMyAyNi4wMzQgMTcuNjA4IDI2LjAzNCAxNy42MDggMjYuMDM0XCIgc3R5bGU9XCJmaWxsOm5vbmU7c3Ryb2tlOiMyMzFmMjA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjAuMjE2MDAwMDA1NjAyODM3cHhcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjguNTU0IDE5LjgxOSAyOC45OTIgMjAuNDQzIDI3LjU5OSAyNC45MDcgMjguMTU5IDI0LjkwNyAyNy45NzIgMjUuNDY3IDI1LjcxMSAyNS40NjcgMjcuMDMyIDIxLjUxMiAyNS4wNTEgMjEuNTEyIDIzLjkyNCAyNC45MDcgMjQuNDg0IDI0LjkwNyAyNC4yOTcgMjUuNDY3IDIyLjAzNiAyNS40NjcgMjMuMzU3IDIxLjUxMiAyMS4zNzYgMjEuNTEyIDIwLjI0OSAyNC45MDcgMjAuODE2IDI0LjkwNyAyMC42MjIgMjUuNDY3IDE4LjM2MSAyNS40NjcgMjAuMDYzIDIwLjM4NiAxOS40OTUgMjAuMzg2IDE5LjY4MiAxOS44MTkgMjEuNzU2IDE5LjgxOSAyMi4zMjMgMjAuMzg2IDIyLjg4MyAyMC4zODYgMjMuNDUgMTkuODE5IDI1LjE0NCAxOS44MTkgMjUuNzExIDIwLjM4NiAyNi4yNzggMjAuMzg2IDI2Ljg0NSAxOS44MTkgMjguNTU0IDE5LjgxOSAyOC41NTQgMTkuODE5XCIgc3R5bGU9XCJmaWxsOiNkMGQyZDM7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBvbHlnb24gcG9pbnRzPVwiMjguNTU0IDE5LjgxOSAyOC45OTIgMjAuNDQzIDI3LjU5OSAyNC45MDcgMjguMTU5IDI0LjkwNyAyNy45NzIgMjUuNDY3IDI1LjcxMSAyNS40NjcgMjcuMDMyIDIxLjUxMiAyNS4wNTEgMjEuNTEyIDIzLjkyNCAyNC45MDcgMjQuNDg0IDI0LjkwNyAyNC4yOTcgMjUuNDY3IDIyLjAzNiAyNS40NjcgMjMuMzU3IDIxLjUxMiAyMS4zNzYgMjEuNTEyIDIwLjI0OSAyNC45MDcgMjAuODE2IDI0LjkwNyAyMC42MjIgMjUuNDY3IDE4LjM2MSAyNS40NjcgMjAuMDYzIDIwLjM4NiAxOS40OTUgMjAuMzg2IDE5LjY4MiAxOS44MTkgMjEuNzU2IDE5LjgxOSAyMi4zMjMgMjAuMzg2IDIyLjg4MyAyMC4zODYgMjMuNDUgMTkuODE5IDI1LjE0NCAxOS44MTkgMjUuNzExIDIwLjM4NiAyNi4yNzggMjAuMzg2IDI2Ljg0NSAxOS44MTkgMjguNTU0IDE5LjgxOSAyOC41NTQgMTkuODE5XCIgc3R5bGU9XCJmaWxsOm5vbmU7c3Ryb2tlOiMyMzFmMjA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjAuMjE2MDAwMDA1NjAyODM3cHhcIi8+PHBhdGggZD1cIk0xOS4wMjIsMTkuMjUxLDE3LjI5MiwyNC40aC41ODlsLS41NiwxLjYzN0gxMy45MzNsMS42OTQtNS4wODJIMTUuMDZsMy45NjItMS43Wm0tMy45NjIsMS43LjU2Ny0xLjdoMy40bC0zLjk2MiwxLjdaXCIgc3R5bGU9XCJmaWxsOiMyMzFmMjA7ZmlsbC1ydWxlOmV2ZW5vZGRcIi8+PHBhdGggZD1cIk0xOS4wMjIsMTkuMjUxLDE3LjI5MiwyNC40aC41ODlsLS41NiwxLjYzN0gxMy45MzNsMS42OTQtNS4wODJIMTUuMDZsMy45NjItMS43Wm0tMy45NjIsMS43LjU2Ny0xLjdoMy40bC0zLjk2MiwxLjdaXCIgc3R5bGU9XCJmaWxsOm5vbmU7c3Ryb2tlOiMyMzFmMjA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjAuMjE2MDAwMDA1NjAyODM3cHhcIi8+PHBvbHlnb24gcG9pbnRzPVwiMTYuOTQ3IDI1LjQ2NyAxNy4xMzQgMjQuOTA3IDE2LjU2NyAyNC45MDcgMTguMjY4IDE5LjgxOSAxNS45MTQgMTkuODE5IDE1LjcyIDIwLjM4NiAxNi4zOCAyMC4zODYgMTQuNjg2IDI1LjQ2NyAxNi45NDcgMjUuNDY3IDE2Ljk0NyAyNS40NjdcIiBzdHlsZT1cImZpbGw6I2QwZDJkMztmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cG9seWdvbiBwb2ludHM9XCIxNi45NDcgMjUuNDY3IDE3LjEzNCAyNC45MDcgMTYuNTY3IDI0LjkwNyAxOC4yNjggMTkuODE5IDE1LjkxNCAxOS44MTkgMTUuNzIgMjAuMzg2IDE2LjM4IDIwLjM4NiAxNC42ODYgMjUuNDY3IDE2Ljk0NyAyNS40NjcgMTYuOTQ3IDI1LjQ2N1wiIHN0eWxlPVwiZmlsbDpub25lO3N0cm9rZTojMjMxZjIwO3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZS13aWR0aDowLjIxNjAwMDAwNTYwMjgzN3B4XCIvPjxwb2x5Z29uIHBvaW50cz1cIjE4LjgyOCAxOC4xMjUgMTkuMjA4IDE2Ljk5MSAxOS4wMjIgMTYuNzExIDE3Ljg4OCAxNi43MTEgMTcuNTE0IDE2Ljk5MSAxNy4xMzQgMTguMTI1IDE3LjMyOCAxOC40MDUgMTguNDYyIDE4LjQwNSAxOC44MjggMTguMTI1IDE4LjgyOCAxOC4xMjVcIiBzdHlsZT1cImZpbGw6I2QwZDJkMztmaWxsLXJ1bGU6ZXZlbm9kZFwiLz48cG9seWdvbiBwb2ludHM9XCIxOC44MjggMTguMTI1IDE5LjIwOCAxNi45OTEgMTkuMDIyIDE2LjcxMSAxNy44ODggMTYuNzExIDE3LjUxNCAxNi45OTEgMTcuMTM0IDE4LjEyNSAxNy4zMjggMTguNDA1IDE4LjQ2MiAxOC40MDUgMTguODI4IDE4LjEyNSAxOC44MjggMTguMTI1XCIgc3R5bGU9XCJmaWxsOm5vbmU7c3Ryb2tlOiMyMzFmMjA7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjAuMjE2MDAwMDA1NjAyODM3cHhcIi8+YCxcblx0XCJWaXN1YWwgQmFzaWNcIjogYDxwYXRoIGQ9XCJNNi42Nyw3LjgzNiw5LDE4LjkxNSwxMS4zMzYsNy44MzZIMTZMMTEuMzM2LDI0LjE2NEg2LjY3MkwyLDcuODM2WlwiIHN0eWxlPVwiZmlsbDojMDA1MTlhXCIvPjxwYXRoIGQ9XCJNMTguMzMxLDcuODM2aDcuNmE0LjA4LDQuMDgsMCwwLDEsMi45LDEuNzQ5LDMuNzgsMy43OCwwLDAsMSwuNTcxLDIuMDQsMy45ODUsMy45ODUsMCwwLDEtLjU3MSwyLjAzNCw0LjEwOCw0LjEwOCwwLDAsMS0yLjM0MSwxLjc2Myw0LjEsNC4xLDAsMCwxLDIuOTI5LDEuNzU2LDMuOCwzLjgsMCwwLDEsLjU4LDIuMSw0LjY2Myw0LjY2MywwLDAsMS0uNTc5LDIuNTQ2LDUuMDQ3LDUuMDQ3LDAsMCwxLTMuNSwyLjMzOEgxOC4zMzFaTTIzLDE0LjI1MmgxLjE2NmExLjc1NCwxLjc1NCwwLDAsMCwwLTMuNUgyM1ptMCw3SDI0LjM5YTIuMDQ3LDIuMDQ3LDAsMCwwLDAtNC4wODlIMjNaXCIgc3R5bGU9XCJmaWxsOiMwMDUxOWFcIi8+YCxcblx0XCJXZWJBc3NlbWJseVwiOiBgPHBhdGggZD1cIk0xOS4xNTMsMi4zNVYyLjVhMy4yLDMuMiwwLDEsMS02LjQsMGgwVjIuMzVIMlYzMC4yNjlIMjkuOTE5VjIuMzVaXCIgc3R5bGU9XCJmaWxsOiM2NTRmZjBcIi8+PHBhdGggZD1cIk04LjQ4NSwxNy40aDEuODVMMTEuNiwyNC4xMjNoLjAyM0wxMy4xNCwxNy40aDEuNzMxbDEuMzcxLDYuODFoLjAyN2wxLjQ0LTYuODFoMS44MTVsLTIuMzU4LDkuODg1SDE1LjMyOWwtMS4zNi02LjcyOGgtLjAzNmwtMS40NTYsNi43MjhoLTEuODdabTEzLjEyNCwwaDIuOTE3bDIuOSw5Ljg4NUgyNS41MTVsLS42My0yLjJIMjEuNTYybC0uNDg2LDIuMkgxOS4yMTdabTEuMTEsMi40MzctLjgwNywzLjYyN2gyLjUxMkwyMy41LDE5LjgzMlpcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz5gLFxuXHRcIldvbGZyYW0gbGFuZ3VhZ2VcIjogYDxwYXRoIGQ9XCJNMzAsMjAuNTUsMjUuOTQsMTYsMzAsMTEuNDVsLTUuOTQ4LTEuMjk0LjU5NS02LjA2N0wxOS4wNzEsNi41NDMsMTUuOTkzLDEuMjc5LDEyLjkyOSw2LjU0Myw3LjM1Myw0LjA4OWwuNTk1LDYuMDY3TDIsMTEuNDUsNi4wNTksMTYsMiwyMC41NWw1Ljk0OCwxLjI5NC0uNTk1LDYuMDY3LDUuNTc2LTIuNDU0LDMuMDc4LDUuMjY0LDMuMDYzLTUuMjY0LDUuNTkxLDIuNDU0LS42MS02LjA2N1pcIiBzdHlsZT1cImZpbGw6I2QxMFwiLz48cGF0aCBkPVwiTTE5LjM1MywxMS40NWE2Ljk2OCw2Ljk2OCwwLDAsMS0zLjQyLjg2Miw1LjQ0Niw1LjQ0NiwwLDAsMS0zLjIxMi0uODYyQTcuMSw3LjEsMCwwLDEsMTIuNSwxNC44YTYuMjI1LDYuMjI1LDAsMCwxLTEuODc0LDIuOTE0LDcuNDU0LDcuNDU0LDAsMCwxLDMuMTM4LDEuMTksOS42NTksOS42NTksMCwwLDEsMi4yMTYsMi43MjEsOC4xOTQsOC4xOTQsMCwwLDEsMi4xNDEtMi42OTEsNy42MDUsNy42MDUsMCwwLDEsMy4yNDItMS4yLDEyLjU2MiwxMi41NjIsMCwwLDEtMS45MzMtMi45NDRBNi43MTgsNi43MTgsMCwwLDEsMTkuMzUzLDExLjQ1Wm0tMS45LDYuNTQzYTUuMjMzLDUuMjMzLDAsMCwwLTEuNDU3LDEuNjM2LDYuMjM2LDYuMjM2LDAsMCwwLTEuNS0xLjYyMSw1LjE5MSw1LjE5MSwwLDAsMC0xLjk0OC0uODQ4LDYuODM5LDYuODM5LDAsMCwwLDEuMTE1LTIuMDA3LDYuMTgsNi4xOCwwLDAsMCwuMjIzLTIuMDgyLDYuMzE3LDYuMzE3LDAsMCwwLDIuMDgyLjQ0Niw2LjU1Miw2LjU1MiwwLDAsMCwyLjE3MS0uNDYxLDQuNTIxLDQuNTIxLDAsMCwwLC4wNzQsMi4xNTYsNi43MSw2LjcxLDAsMCwwLDEuMjQ5LDEuOTMzQTcuMDMxLDcuMDMxLDAsMCwwLDE3LjQ1LDE3Ljk5M1ptNC4yMzgtNC4wMTVjLS4zNTctMS4xNzUuNjU0LTYuNzA2LjY1NC02LjcwNlMxOC41NSw5Ljg0NCwxNS44ODgsOS44NDRzLTYuMjMtMi41NzItNi4yMy0yLjU3MiwxLjE3NSw0LjAxNS40NjEsNi41ODctNC4zODcsNS40NzItNC4zODcsNS40NzIsNC43ODguMjgzLDYuNiwxLjUsMy42NTgsNS45NDgsMy42NTgsNS45NDgsMi40NTQtNS4yLDMuNDgtNS45NDgsNi44LTEuNSw2LjgtMS41LTQuMjIzLTQuMTc4LTQuNTgtNS4zNTNabS0yLjg0LDUuOTYzYTkuNDQ0LDkuNDQ0LDAsMCwwLTIuODQsNC4xNzhzLTEuNDEzLTMuMTUyLTIuOTc0LTQuMjIzUzguMywxOC41NDMsOC4zLDE4LjU0M3MyLjQ1NC0yLjE3MSwzLjA0OC00LjFhMTEuOTIzLDExLjkyMywwLDAsMC0uMS00Ljk1MiwxMS4zLDExLjMsMCwwLDAsNC42NjksMS42MjFjMi4wMzcsMCw0Ljg0OC0xLjYyMSw0Ljg0OC0xLjYyMXMtLjgxOCwzLjAzMy0uMTY0LDQuOTIyLDMuMTA4LDQuMTM0LDMuMTA4LDQuMTM0YTEwLjU1NywxMC41NTcsMCwwLDAtNC44NjIsMS40WlwiIHN0eWxlPVwiZmlsbDojZmZmXCIvPmAsXG5cdFwiWE1MXCI6IGA8cGF0aCBkPVwiTTIwLjQyLDIxLjE1N2wyLjIxMSwyLjIxMUwzMCwxNiwyMi42MzEsOC42MzEsMjAuNDIsMTAuODQzLDI1LjU4LDE2WlwiIHN0eWxlPVwiZmlsbDojZjE2NjJhXCIvPjxwYXRoIGQ9XCJNMTEuNTgsMTAuODQzLDkuMzY5LDguNjMxLDIsMTZsNy4zNjksNy4zNjksMi4yMTEtMi4yMTFMNi40MiwxNlpcIiBzdHlsZT1cImZpbGw6I2YxNjYyYVwiLz48cGF0aCBkPVwiTTE3LjQxMSw3LjY3N2wxLjYuNDM3LTQuNDIsMTYuMjA5LTEuNi0uNDM3LDQuNDItMTYuMjA5WlwiIHN0eWxlPVwiZmlsbDojZjE2NjJhXCIvPmAsXG5cdFwiWFF1ZXJ5XCI6IGA8cGF0aCBkPVwiTTIwLjQyLDIxLjE1N2wyLjIxMSwyLjIxMUwzMCwxNiwyMi42MzEsOC42MzEsMjAuNDIsMTAuODQzLDI1LjU4LDE2Wk0xMS41OCwxMC44NDMsOS4zNjksOC42MzEsMiwxNmw3LjM2OSw3LjM2OSwyLjIxMS0yLjIxMUw2LjQyLDE2Wm01LjgzMS0zLjE2NiwxLjYuNDM3LTQuNDIsMTYuMjA5LTEuNi0uNDM3WlwiIHN0eWxlPVwiZmlsbDojZjE2NjJhXCIvPjxwYXRoIGQ9XCJNMjAuMzMyLDE4LjQ2MmEzLjM1NCwzLjM1NCwwLDAsMSwuOTc1LTEuNDIzLDQuMDE0LDQuMDE0LDAsMCwxLDEuNjE3LS44QTkuMTE4LDkuMTE4LDAsMCwxLDI1LjEzOCwxNmE1LjQ3Miw1LjQ3MiwwLDAsMSwzLjY4MSwxLjAzOUEzLjUsMy41LDAsMCwxLDMwLDE5LjgwOGE0LjQ3LDQuNDcsMCwwLDEtLjI0LDEuNDkxLDMuMTI0LDMuMTI0LDAsMCwxLS44MzgsMS4yMzlsLTEuNjc1LDEuNmExLjUxMiwxLjUxMiwwLDAsMC0uNDI0Ljc4OSw1LjMwNyw1LjMwNywwLDAsMC0uMSwxLjFIMjN2LS41NGE2LjMyLDYuMzIsMCwwLDEsLjIwNy0xLjc3OCwyLjg4NiwyLjg4NiwwLDAsMSwuNzgtMS4yNGwxLjM1Mi0xLjI4OWExLjg0LDEuODQsMCwwLDAsLjU2My0uODk0LDMuNjgyLDMuNjgyLDAsMCwwLC4xLS44LDEuNSwxLjUsMCwwLDAtLjI1Mi0uOS45LjksMCwwLDAtLjc3OS0uMzQ2LDEuMjU1LDEuMjU1LDAsMCwwLS40ODMuMDg2LjcyNC43MjQsMCwwLDAtLjM0NC4zMzcsMi4zNDcsMi4zNDcsMCwwLDAtLjIxNy43MjEsNy42MTQsNy42MTQsMCwwLDAtLjA4MSwxLjI0SDIwQTYuMTU1LDYuMTU1LDAsMCwxLDIwLjMzMiwxOC40NjJabTYuNDU3LDguNVYzMEgyMi45MzZWMjYuOTYyWlwiIHN0eWxlPVwiZmlsbDojZmNiYTAwXCIvPmAsXG5cdFwiWUFNTFwiOiBgPHBhdGggZD1cIk0yLDEyLjIxOGMuNzU1LDAsMS41MS0uMDA4LDIuMjY0LDBsLjA1My4wMzhRNS43LDEzLjYzOCw3LjA3OCwxNS4wMTRjLjg5MS0uOTA2LDEuOC0xLjc5NCwyLjctMi43LjA1My0uMDUyLjExLS4xMTMuMTkyLS4xLjYwOCwwLDEuMjE1LDAsMS44MjMsMGExLjQsMS40LDAsMCwxLC4zNTMuMDE5Yy0uNy42Ny0xLjM3NywxLjM2OS0yLjA2OSwyLjA1TDUuNTQ1LDE4LjhjLS4zMzEuMzI0LS42NDguNjYzLS45ODkuOTc1LS43NTQuMDIyLTEuNTExLjAwNy0yLjI2Ni4wMDcsMS4yMjMtMS4yMDksMi40MzEtMi40MzMsMy42NTgtMy42MzdDNC42MjcsMTQuODQxLDMuMzE4LDEzLjUyNSwyLDEyLjIxOFpcIiBzdHlsZT1cImZpbGw6I2ZmZTg4NVwiLz48cGF0aCBkPVwiTTEyLjcsMTIuMjE4Yy42MTMsMCwxLjIyNiwwLDEuODM5LDBxMCwzLjc4MywwLDcuNTY2Yy0uNjExLDAtMS4yMjIuMDEyLTEuODMyLS4wMDgsMC0xLjY2NCwwLTMuMzI5LDAtNC45OTQtMS42LDEuNjA3LTMuMjA5LDMuMi00LjgxMSw0LjgtLjA4OS4wOC0uMTY2LjIxNy0uMzA1LjE5NC0uODI0LS4wMDYtMS42NDksMC0yLjQ3NCwwUTguOTE2LDE2LDEyLjcsMTIuMjE4WlwiIHN0eWxlPVwiZmlsbDojZmZlODg1XCIvPjxwYXRoIGQ9XCJNMTQuOTU4LDEyLjIyYy40Ny0uMDA5LjkzOSwwLDEuNDA5LDAsLjgzNi44NTMsMS42OSwxLjY4OSwyLjUzNiwyLjUzMnExLjI2OC0xLjI2NywyLjUzOS0yLjUzMi43LDAsMS40LDAtLjAwOCwzLjc4NCwwLDcuNTY3Yy0uNDcxLDAtLjk0My4wMDYtMS40MTQsMHEuMDA4LTIuMzg3LDAtNC43NzNjLS44NDQuODQzLTEuNjc2LDEuNy0yLjUyNiwyLjUzNi0uODU2LS44MzUtMS42ODctMS42OTUtMi41MzItMi41NDEsMCwxLjU5NC0uMDA2LDMuMTg4LjAwNiw0Ljc4MS0uNDcyLDAtLjk0My4wMDUtMS40MTUsMFExNC45NTgsMTYsMTQuOTU4LDEyLjIyWlwiIHN0eWxlPVwiZmlsbDojZmZlODg1XCIvPjxwYXRoIGQ9XCJNMjMuMjU5LDEyLjIxN2MuNDcyLDAsLjk0NC0uMDA3LDEuNDE2LDBxLS4wMDcsMy4wODMsMCw2LjE2NmMxLjI2LDAsMi41MjEsMCwzLjc4MiwwLC4wNjMuMDA2LjE0NC0uMDEyLjE5MS4wNDUuNDQ4LjQ1NC45MDcuOSwxLjM1MywxLjM1NHEtMy4zNzEuMDA3LTYuNzQxLDBRMjMuMjY3LDE2LDIzLjI1OSwxMi4yMTdaXCIgc3R5bGU9XCJmaWxsOiNmZmU4ODVcIi8+YCxcblx0XCJZQU5HXCI6IGA8cGF0aCBkPVwiTTguODc3LDIzLjE1OWMwLTUuNTM1LDMuOTkyLTcuMTY4LDcuODk0LTcuMTY4LDMuMzU3LDAsNS45ODgtMy44MTEsNS45ODgtNi42MjQsMC0zLjYyMS0yLjQ4Ny01LjgzMS00Ljg4Mi03LjEyQTEzLjg4MSwxMy44ODEsMCwxLDAsMTQuNSwyOS44QzEwLjQ5MSwyOC4yNDgsOC44NzcsMjUuMzI0LDguODc3LDIzLjE1OVpcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz48cGF0aCBkPVwiTTE0LjQ4MiwyOS45MTdBMTQsMTQsMCwwLDEsMTYsMmExNC4xNTQsMTQuMTU0LDAsMCwxLDEuODkzLjEzMWwuMDQuMDEzYzIuMjU1LDEuMjEzLDQuOTQ0LDMuNDUyLDQuOTQ0LDcuMjIzLDAsMi43MTUtMi41NjQsNi43NDEtNi4xMDYsNi43NDEtMi45LDAtNy43NzYuOTE2LTcuNzc2LDcuMDUsMCwyLjAyMiwxLjQ1MSw0Ljk0Niw1LjU0Miw2LjUzMVpNMTYsMi4yMzZBMTMuNzY1LDEzLjc2NSwwLDAsMCwxMy42MzcsMjkuNTZjLTMuNTgxLTEuNjg0LTQuODc3LTQuNDQ3LTQuODc3LTYuNCwwLTYuNTc2LDUuNi03LjI4Niw4LjAxMi03LjI4NiwzLjQwNiwwLDUuODctMy44ODYsNS44Ny02LjUwNiwwLTMuNjQ1LTIuNjA2LTUuODItNC44LTcuMDA2QTEzLjkyOCwxMy45MjgsMCwwLDAsMTYsMi4yMzZaXCIgc3R5bGU9XCJmaWxsOiMyMzFmMjBcIi8+PHBhdGggZD1cIk0yOS44ODIsMTZhMTMuODgyLDEzLjg4MiwwLDAsMC0xMi0xMy43NTJjMi40LDEuMjg5LDQuODgyLDMuNSw0Ljg4Miw3LjEyLDAsMi44MTMtMi42MzEsNi42MjQtNS45ODgsNi42MjQtMy45LDAtNy44OTQsMS42MzMtNy44OTQsNy4xNjgsMCwyLjE2NiwxLjYxMyw1LjA4OSw1LjYxOCw2LjY0MUExMy44NzUsMTMuODc1LDAsMCwwLDI5Ljg4MiwxNlpcIiBzdHlsZT1cImZpbGw6IzIzMWYyMFwiLz48cGF0aCBkPVwiTTE2LDMwYTE0LjIsMTQuMiwwLDAsMS0xLjUxOC0uMDgzbC0uMDMtLjAwN2MtNC4yLTEuNjI4LTUuNjkzLTQuNjU0LTUuNjkzLTYuNzUsMC02LjU3Niw1LjYtNy4yODYsOC4wMTItNy4yODYsMy40MDYsMCw1Ljg3LTMuODg2LDUuODctNi41MDYsMC0zLjY1NS0yLjYyMS01LjgzMy00LjgyLTcuMDE2bC4wNzItLjIyMUExNCwxNCwwLDAsMSwxNiwzMFptLTEuNDc3LS4zMTZBMTMuNzU2LDEzLjc1NiwwLDAsMCwyOS43NjQsMTYsMTMuODA3LDEzLjgwNywwLDAsMCwxOC41LDIuNDY2YzIuMTE1LDEuMjcyLDQuMzc3LDMuNDQxLDQuMzc3LDYuOSwwLDIuNzE1LTIuNTY0LDYuNzQxLTYuMTA2LDYuNzQxLTIuOSwwLTcuNzc2LjkxNi03Ljc3Niw3LjA1QzksMjUuMTc4LDEwLjQ0MywyOC4xLDE0LjUyMywyOS42ODRaXCIgc3R5bGU9XCJmaWxsOiMyMzFmMjBcIi8+PGNpcmNsZSBjeD1cIjE1Ljk0M1wiIGN5PVwiMjIuNzg3XCIgcj1cIjEuNTA2XCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+PGNpcmNsZSBjeD1cIjE2LjAwN1wiIGN5PVwiOS4xNDJcIiByPVwiMS41MDZcIiBzdHlsZT1cImZpbGw6IzIzMWYyMFwiLz5gLFxuXHRcIlppZ1wiOiBgPHBvbHlnb24gcG9pbnRzPVwiNS43MzMgMTkuNzMxIDUuNzMzIDEyLjI2NCA4LjUzMyAxMi4yNjQgOC41MzMgOC41MzEgMiA4LjUzMSAyIDIzLjQ2NCA1LjU0NyAyMy40NjQgOC45MDcgMTkuNzMxIDUuNzMzIDE5LjczMVwiIHN0eWxlPVwiZmlsbDojZjdhNDFkXCIvPjxwb2x5Z29uIHBvaW50cz1cIjI2LjQ1MyA4LjUzMSAyMy4wOTMgMTIuMjY0IDI2LjI2NyAxMi4yNjQgMjYuMjY3IDE5LjczMSAyMy40NjcgMTkuNzMxIDIzLjQ2NyAyMy40NjQgMzAgMjMuNDY0IDMwIDguNTMxIDI2LjQ1MyA4LjUzMVwiIHN0eWxlPVwiZmlsbDojZjdhNDFkXCIvPjxwb2x5Z29uIHBvaW50cz1cIjI2Ljg3NSA2LjcwNyAyMC41MTMgOC41MzEgOS40NjcgOC41MzEgOS40NjcgMTIuMjY0IDE2Ljg0NyAxMi4yNjQgNS4xMTUgMjUuMjkzIDExLjQ5NyAyMy40NjQgMjIuNTMzIDIzLjQ2NCAyMi41MzMgMTkuNzMxIDE1LjE0OCAxOS43MzEgMjYuODc1IDYuNzA3XCIgc3R5bGU9XCJmaWxsOiNmN2E0MWRcIi8+YFxufVxuZXhwb3J0IGNvbnN0IExBTkdVQUdFX0NPTE9SUyA6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge1xuXHRcIi5naXRpZ25vcmVcIjogJyNkZDRjMzUnLFxuXHRcIi5oZ2lnbm9yZVwiOiAnI2JmYmZiZicsXG5cdFwiLm5wbWlnbm9yZVwiOiAnI2NiMzgzNycsXG5cdFwiLnByb3BlcnRpZXNcIjogJyM5OWI4YzQnLFxuXHRcIjY1MDIgQXNzZW1ibHlcIjogJyMwMDAwYmYnLFxuXHRcIkFjdGlvblNjcmlwdFwiOiAnI2M0MTcxOCcsXG5cdFwiQWRhXCI6ICcjMGYyM2MzJyxcblx0XCJBTFwiOiAnIzJlYTk4ZScsXG5cdFwiQU5UTFI0XCI6ICcjZTQ0YTMyJyxcblx0XCJBcGFjaGUgQ29uZmlndXJhdGlvblwiOiAnI2M5MjAzNycsXG5cdFwiQXBleFwiOiAnIzBmOWJkNycsXG5cdFwiQVBMXCI6ICcjZDJkMmQyJyxcblx0XCJBcHBsZVNjcmlwdFwiOiAnI2E4YzJhYicsXG5cdFwiQXJkdWlub1wiOiAnMmQ5MDk0Jyxcblx0XCJBUk0gQXNzZW1ibHlcIjogJyMwMDAwYmYnLFxuXHRcIkFzY2lpRG9jXCI6ICcjZTQwMDQ2Jyxcblx0XCJBU1AuTkVUIChDIylcIjogJyMzM2E5ZGMnLFxuXHRcIkF1dG9Ib3RrZXlcIjogJyNkOGQ4ZDgnLFxuXHRcIkF1dG9JdFwiOiAnIzVkODNhYycsXG5cdFwiQXZybyBJRExcIjogJyMwMDQwZmYnLFxuXHRcIkFXS1wiOiAnI2QyZDJkMicsXG5cdFwiQmF0Y2hcIjogJyNkOWI0MDAnLFxuXHRcIkMjXCI6ICcjMzY4ODMyJyxcblx0XCJDXCI6ICcjMDA1ZjkxJyxcblx0XCJDKytcIjogJyM5ODRjOTMnLFxuXHRcIkNsb2p1cmVcIjogJyM5MWRjNDcnLFxuXHRcIkNNYWtlXCI6ICcjMDFhMzAwJyxcblx0XCJDT0JPTFwiOiAnIzAwNWNhNScsXG5cdFwiQ29mZmVlU2NyaXB0XCI6ICcjNmY0ZTM3Jyxcblx0XCJDcnlzdGFsXCI6ICcjYzhjOGM4Jyxcblx0XCJDU1NcIjogJyMxNTcyYjYnLFxuXHRcIkNTVlwiOiAnI2MyYzJjMicsXG5cdFwiRFwiOiAnI2IwMzkzMScsXG5cdFwiRGFydFwiOiAnIzU4YjZmMCcsXG5cdFwiRGhhbGxcIjogJyNiN2I3YjcnLFxuXHRcIkRpZmZcIjogJyNjMDAwMDAnLFxuXHRcIkRqYW5nby9KaW5qYTJcIjogJyNmZjAwMDAnLFxuXHRcIkRvY2tlclwiOiAnIzAwOTZlNicsXG5cdFwiRE9UIChHcmFwaHZpeilcIjogJyM0ZWQxZjgnLFxuXHRcIkVkaXRvckNvbmZpZ1wiOiAnI2UzZTNmOCcsXG5cdFwiRUpTXCI6ICcjOTBhOTNhJyxcblx0XCJFbGl4aXJcIjogJyM0NTI0NTknLFxuXHRcIkVsbVwiOiAnIzhjZDYzNicsXG5cdFwiRVJCXCI6ICcjOTIxYTFlJyxcblx0XCJFcmxhbmdcIjogJyNhMjAwM2UnLFxuXHRcIkYjXCI6ICcjMzc4YmJhJyxcblx0XCJGaXJlc3RvcmUgc2VjdXJpdHkgcnVsZXNcIjogJyNmNjgyMGMnLFxuXHRcIkZsb3dcIjogJyNmZmIwNDcnLFxuXHRcIkZvcnRyYW5cIjogJyM3MzRmOTYnLFxuXHRcIkZyZWVNYXJrZXIgVGVtcGxhdGUgTGFuZ3VhZ2VcIjogJyMwMDUwYjInLFxuXHRcIkdhbWVNYWtlciBMYW5ndWFnZVwiOiAnIzhiYzM0YScsXG5cdFwiRy1jb2RlXCI6ICcjYmEwMDAwJyxcblx0XCJHRFNjcmlwdFwiOiAnIzQ3OGNiZicsXG5cdFwiR2l0XCI6ICcjZGQ0YzM1Jyxcblx0XCJHTFNMXCI6ICcjNDM4NmI1Jyxcblx0XCJHbyBtb2R1bGVcIjogJyNjZTMyNjInLFxuXHRcIkdvXCI6ICcjMDBhY2Q3Jyxcblx0XCJHcmFkbGVcIjogJyMwMDY1MzMnLFxuXHRcIkdyYXBoUUxcIjogJyNlMTAwOTgnLFxuXHRcIkdyb292eVwiOiAnIzYzOThhYScsXG5cdFwiSGFtbFwiOiAnI2VjZGZhNycsXG5cdFwiSGFuZGxlYmFyc1wiOiAnI2MxOTc3MCcsXG5cdFwiSGFza2VsbFwiOiAnI0MwNDUwNCcsXG5cdFwiSGF4ZVwiOiAnI2Y2ODcxMicsXG5cdFwiSExTTFwiOiAnIzAwMDBmZicsXG5cdFwiSFRNTFwiOiAnI2U0NGYyNicsXG5cdFwiSFRUUFwiOiAnIzNiNjFhNicsXG5cdFwiSWRyaXNcIjogJyM4YTA4MTknLFxuXHRcIkluaVwiOiAnIzk5YjhjNCcsXG5cdFwiSW9cIjogJyNjMmMyYzInLFxuXHRcIkphdmFcIjogJyM1MzgyYTEnLFxuXHRcIkphdmFTY3JpcHRcIjogJyNmNWRlMTknLFxuXHRcIkpTT05cIjogJyNmNWRlMTknLFxuXHRcIkpTT041XCI6ICcjOTA5MDkwJyxcblx0XCJKdWxpYVwiOiAnIzQwNjNkOCcsXG5cdFwiS290bGluXCI6ICcjOWQ0YjlkJyxcblx0XCJLdXN0b1wiOiAnIzU5YjRkOScsXG5cdFwiTGFUZVhcIjogJyNjZmNmY2YnLFxuXHRcIkxlc3NcIjogJyMyYTRmODQnLFxuXHRcIkxpcXVpZFwiOiAnIzAwNDk5OScsXG5cdFwiTGlzcFwiOiAnIzgzODFjNScsXG5cdFwiTGl2ZVNjcmlwdFwiOiAnIzMxN2VhYycsXG5cdFwiTG9nIGZpbGVcIjogJyMwMGJkMDInLFxuXHRcIkxPTENPREVcIjogJyM4ZDI3MDEnLFxuXHRcIkx1YVwiOiAnIzA1MDA4MCcsXG5cdFwiTWFya2Rvd25cIjogJyM3NTU4MzgnLFxuXHRcIk1BVExBQlwiOiAnI2VmNmMzZScsXG5cdFwiTUFYU2NyaXB0XCI6ICcjMDA2OTZiJyxcblx0XCJNRUxcIjogJyMwNmEwYTInLFxuXHRcIk1vbmdvREJcIjogJyM0MWEyNDcnLFxuXHRcIm5naW54XCI6ICcjMDE5NjM5Jyxcblx0XCJOaW1cIjogJyNmZmU5NTMnLFxuXHRcIk5peFwiOiAnIzUyNzdjMycsXG5cdFwiTlNJU1wiOiAnI2E0MmQyNicsXG5cdFwiT2JqZWN0IFBhc2NhbFwiOiAnI0ZGNjM0NCcsXG5cdFwiT2JqZWN0aXZlLUNcIjogJyNjMmMyYzInLFxuXHRcIk9DYW1sXCI6ICcjZjI5MTA0Jyxcblx0XCJPcGVuQ0xcIjogJyNGRjFDMUEnLFxuXHRcIlBhc2NhbFwiOiAnI0ZGNjM0NCcsXG5cdFwiUGVybFwiOiAnIzNhM2M1YicsXG5cdFwiUEhQXCI6ICcjNGM2Yjk2Jyxcblx0XCJQTC9TUUxcIjogJyNmZjAwMDAnLFxuXHRcIlBsYWluIHRleHRcIjogJyNjMmMyYzInLFxuXHRcIlBsYW50VU1MXCI6ICcjQTExRjQxJyxcblx0XCJQb3dlclF1ZXJ5XCI6ICcjY2ZjZmNmJyxcblx0XCJQb3dlclNoZWxsXCI6ICcjNTM5MWZlJyxcblx0XCJQcm9jZXNzaW5nXCI6ICcjMWM0YzcwJyxcblx0XCJQcm9sb2dcIjogJyNlYzFjMjQnLFxuXHRcIlByb3RvY29sIEJ1ZmZlcnNcIjogJyM5N2ZmMjcnLFxuXHRcIlB1Z1wiOiAnIzQ0MjgyMycsXG5cdFwiUHVwcGV0XCI6ICcjZmZhZTFhJyxcblx0XCJQdXJlU2NyaXB0XCI6ICcjMTYxNzFiJyxcblx0XCJQeXRob25cIjogJyMzNjcxQTEnLFxuXHRcIlEgKGtkYisgZGF0YWJhc2UpXCI6ICcjMWU3OGIzJyxcblx0XCJRI1wiOiBgIzMzMzNjY2AsXG5cdFwiUU1MXCI6ICcjNDFjZDUyJyxcblx0XCJSXCI6ICcjMjc2ZGMzJyxcblx0XCJSYWNrZXRcIjogJyM5ZjFkMjAnLFxuXHRcIlJhem9yIEMjXCI6ICcjMzY4ODMyJyxcblx0XCJSZWFjdCBKU1hcIjogJyMwMGQ4ZmYnLFxuXHRcIlJlYWN0IFRTWFwiOiAnIzAwN2FjYycsXG5cdFwiUmVhc29uXCI6ICcjZGQ0YjM5Jyxcblx0XCJSZWdvXCI6ICcjNzg5MjlhJyxcblx0XCJSZVNjcmlwdFwiOiAnI2U4NGY0ZicsXG5cdFwicmVTVCAocmVTdHJ1Y3R1cmVkVGV4dClcIjogJyNjZTNmMzEnLFxuXHRcIlJvYm90IEZyYW1ld29ya1wiOiBgYCxcblx0XCJSdWJ5XCI6ICcjYjMxMzAxJyxcblx0XCJSdXN0XCI6ICcjYTA0ZjEyJyxcblx0XCJTQVNcIjogJyMwMDJiYjUnLFxuXHRcIlNhc3MgKFNhc3MpXCI6ICcjY2Q2Nzk5Jyxcblx0XCJTYXNzIChTQ1NTKVwiOiAnI2NkNjc5OScsXG5cdFwiU2NhbGFcIjogYCNlNjJkMmEgYCxcblx0XCJTaGVsbCBzZXNzaW9uXCI6ICcjZDliNDAwJyxcblx0XCJTaGVsbFwiOiAnI2Q5YjQwMCcsXG5cdFwiU21hcnR5XCI6ICcjZjZlMjAwJyxcblx0XCJTb2xpZGl0eSAoRXRoZXJldW0pXCI6ICcjYzFjMWMxJyxcblx0XCJTb2x1dGlvbiBmaWxlXCI6ICcjODU0Y2M3Jyxcblx0XCJTUEFSUUxcIjogJyMwYzQ3OWMnLFxuXHRcIlNRRlwiOiAnI2MyYzJjMicsXG5cdFwiU1FGOiBTdGF0dXMgUXVvIEZ1bmN0aW9uIChBcm1hIDMpXCI6ICcjYzJjMmMyJyxcblx0XCJTUUxcIjogJyNmZmRhNDQnLFxuXHRcIlNxdWlycmVsXCI6ICcjYTA1YTJjJyxcblx0XCJTdGFuXCI6ICcjYjIwMDFkJyxcblx0XCJTdGF0YSBBZG9cIjogJyMzYzZlOGYnLFxuXHRcIlN0eWx1c1wiOiAnI2MyYzJjMicsXG5cdFwiU1ZHXCI6ICcjZmZiMTNiJyxcblx0XCJTd2lmdFwiOiAnI0ZBNUQyRCcsXG5cdFwiU3lzdGVtZCBjb25maWd1cmF0aW9uIGZpbGVcIjogJyMzMGQ0NzUnLFxuXHRcIlQ0IHRlbXBsYXRpbmdcIjogJyMxZTg4ZTUnLFxuXHRcIlQ0IFRleHQgVGVtcGxhdGVzIChDIylcIjogJyMxZTg4ZTUnLFxuXHRcIlQ0IFRleHQgVGVtcGxhdGVzIChWQilcIjogJyMxZTg4ZTUnLFxuXHRcIlRjbFwiOiAnI2VmZjFjYicsXG5cdFwiVGVtcGxhdGUgVG9vbGtpdCAyXCI6ICcjM2JjZWZjJyxcblx0XCJUZVhcIjogJyNjZmNmY2YnLFxuXHRcIlRleHRpbGVcIjogJyNmZmU3YWMnLFxuXHRcIlRPTUxcIjogJyNiZmJmYmYnLFxuXHRcIlRTQ29uZmlnXCI6ICcjMDA3YWNjJyxcblx0XCJUd2lnXCI6ICcjNzhkYzUwJyxcblx0XCJUeXBlU2NyaXB0XCI6ICcjMzE3OGM2Jyxcblx0XCJUeXBvU2NyaXB0XCI6ICcjZmY4NzAwJyxcblx0XCJWXCI6ICcjNWQ4N2JmJyxcblx0XCJWYWxhXCI6ICcjNDAzNzU3Jyxcblx0XCJWQi5OZXRcIjogJyMwMDUxOWEnLFxuXHRcIlZCQVwiOiAnI2Q4N2IzMCcsXG5cdFwiVmVsb2NpdHlcIjogJyMyNjI2OTInLFxuXHRcIlZlcmlsb2dcIjogJyMxYTM0OGYnLFxuXHRcIlZIRExcIjogJyMwZDliMzUnLFxuXHRcInZpbVwiOiAnIzQzYjU0YScsXG5cdFwiVmlzdWFsIEJhc2ljXCI6ICcjMDA1MTlhJyxcblx0XCJXZWJBc3NlbWJseVwiOiAnIzY1NGZmMCcsXG5cdFwiV29sZnJhbSBsYW5ndWFnZVwiOiAnI2QwMTAwMCcsXG5cdFwiWE1MXCI6ICcjZjE2NjJhJyxcblx0XCJYUXVlcnlcIjogJyNmMTY2MmEnLFxuXHRcIllBTUxcIjogJyNmZmU4ODUnLFxuXHRcIllBTkdcIjogJyMyMzFmMjAnLFxuXHRcIlppZ1wiOiAnI2Y3YTQxZCdcbn1cbiIsICJpbXBvcnQgeyBBcHAsIFBsdWdpblNldHRpbmdUYWIsIFNldHRpbmcsIE5vdGljZSwgVGV4dENvbXBvbmVudCwgRHJvcGRvd25Db21wb25lbnQsIFNsaWRlckNvbXBvbmVudCwgVG9nZ2xlQ29tcG9uZW50LCBFeHRyYUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IFBpY2tyIGZyb20gXCJAc2ltb253ZXAvcGlja3JcIjtcbmltcG9ydCB7IENvbG9yVHJhbnNsYXRvciB9IGZyb20gXCJjb2xvcnRyYW5zbGF0b3JcIjtcblxuaW1wb3J0IENvZGVibG9ja1N0eWxlclBsdWdpbiBmcm9tIFwiLi9tYWluXCI7XG5pbXBvcnQgeyBDb2xvciwgQ1NTLCBIRVgsIERpc3BsYXksIENvZGVibG9ja1N0eWxlclNldHRpbmdzLCBDb2RlYmxvY2tTdHlsZXJUaGVtZUNvbG9ycywgUEFSQU1FVEVSUywgREVGQVVMVF9TRVRUSU5HUywgTEFOR1VBR0VfTkFNRVMsIExBTkdVQUdFX0lDT05TX0RBVEEgfSBmcm9tICcuL1NldHRpbmdzJztcblxuY29uc3QgRElTUExBWV9PUFRJT05TOiBSZWNvcmQ8RGlzcGxheSxzdHJpbmc+ID0ge1xuXHRcIm5vbmVcIjogXCJOZXZlclwiLFxuXHRcImlmX2hlYWRlcl9zaG93blwiOiBcIklmIEhlYWRlciBTaG93blwiLFxuXHRcImFsd2F5c1wiOiBcIkFsd2F5c1wiLFxufVxuXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NUYWIgZXh0ZW5kcyBQbHVnaW5TZXR0aW5nVGFiIHtcblx0cGx1Z2luOiBDb2RlYmxvY2tTdHlsZXJQbHVnaW47XG5cdHBpY2tyczogUmVjb3JkPHN0cmluZyxQaWNrclJlc2V0dGFibGU+O1xuXHRkaXNhYmxlYWJsZUNvbXBvbmVudHM6IFJlY29yZDxzdHJpbmcsQXJyYXk8VG9nZ2xlQ29tcG9uZW50IHwgU2xpZGVyQ29tcG9uZW50IHwgVGV4dENvbXBvbmVudCB8IEV4dHJhQnV0dG9uQ29tcG9uZW50Pj5cblxuXHRjb25zdHJ1Y3RvcihhcHA6IEFwcCwgcGx1Z2luOiBDb2RlYmxvY2tTdHlsZXJQbHVnaW4pIHtcblx0XHRzdXBlcihhcHAsIHBsdWdpbik7XG5cdFx0dGhpcy5wbHVnaW4gPSBwbHVnaW47XG5cdFx0dGhpcy5waWNrcnMgPSB7fVxuXHRcdHRoaXMuZGlzYWJsZWFibGVDb21wb25lbnRzID0ge307XG5cdH1cblxuXHQvKipcblx0ICogIEJ1aWxkcyB0aGUgaHRtbCBwYWdlIHRoYXQgaXMgc2hvd2VkIGluIHRoZSBzZXR0aW5ncy5cblx0ICovXG5cdGRpc3BsYXkoKSB7XG5cdFx0Y29uc3Qge2NvbnRhaW5lckVsfSA9IHRoaXM7XG5cdFx0Y29udGFpbmVyRWwuZW1wdHkoKTtcblx0XHRjb250YWluZXJFbC5jcmVhdGVFbCgnaDInLCB7dGV4dDogJ1NldHRpbmdzIGZvciB0aGUgQ29kZWJsb2NrIFN0eWxlciBQbHVnaW4uJ30pO1xuXG5cdFx0dGhpcy5kaXNhYmxlYWJsZUNvbXBvbmVudHMgPSB7XG5cdFx0XHQnbGluZU51bWJlcnMnOiBbXSxcblx0XHRcdCd3cmFwTGluZXMnOiBbXSxcblx0XHRcdCdoZWFkZXJMYW5ndWFnZVRhZ3MnOiBbXSxcblx0XHRcdCdoZWFkZXJMYW5ndWFnZUljb25zJzogW10sXG5cdFx0XHQnZWRpdG9yQWN0aXZlTGluZUhpZ2hsaWdodCc6IFtdLFxuXHRcdFx0J2NvZGVibG9ja0FjdGl2ZUxpbmVIaWdobGlnaHQnOiBbXSxcblx0XHRcdCdncmFkaWVudEhpZ2hsaWdodGluZyc6IFtdLFxuXHRcdFx0J2xhbmd1YWdlQm9yZGVyQ29sb3InOiBbXSxcblx0XHR9O1xuXG5cdFx0Ly8gPT09PT09PT09PSBHZW5lcmFsID09PT09PT09PT1cblxuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoJ0lnbm9yZSBDb2RlYmxvY2tzJylcblx0XHRcdC5zZXREZXNjKCdEZWZpbmUgbGFuZ3VhZ2VzIGluIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgd2hpY2ggdGhlIHBsdWdpbiBzaG91bGQgY29tcGxldGVseSBpZ25vcmUuIFlvdSBjYW4gdXNlIGEgd2lsZGNhcmQgKCopIGVpdGhlciBhdCB0aGUgYmVnaW5uaW5nLCBvciBhdCB0aGUgZW5kLiBGb3IgZXhhbXBsZTogYWQtKiB3aWxsIGV4Y2x1ZGUgY29kZWJsb2NrcyB3aGVyZSB0aGUgbGFuZ3VhZ2Ugc3RhcnRzIHdpdGggYWQtIGUuZy46IGFkLWluZm8sIGFkLWVycm9yIGV0Yy4nKVxuXHRcdFx0LmFkZFRleHQodGV4dCA9PiB0ZXh0XG5cdFx0XHRcdC5zZXRQbGFjZWhvbGRlcignZS5nLiBkYXRhdmlldywgZGF0YXZpZXdqcyBldGMuJylcblx0XHRcdFx0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmV4Y2x1ZGVkQ29kZWJsb2Nrcylcblx0XHRcdFx0Lm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLmV4Y2x1ZGVkQ29kZWJsb2NrcyA9IHZhbHVlO1xuXHRcdFx0XHRcdChhc3luYyAoKSA9PiB7YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCl9KSgpO1xuXHRcdFx0XHR9KSk7XG5cdFx0bmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG5cdFx0XHQuc2V0TmFtZSgnRXhjbHVkZSBMYW5ndWFnZXMnKVxuXHRcdFx0LnNldERlc2MoJ0RlZmluZSBsYW5ndWFnZXMgaW4gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCB3aGljaCB0aGUgcGx1Z2luIHNob3VsZCBub3QgZGVjb3JhdGUuIFlvdSBjYW4gdXNlIGEgd2lsZGNhcmQgKCopIGVpdGhlciBhdCB0aGUgYmVnaW5uaW5nLCBvciBhdCB0aGUgZW5kLiBGb3IgZXhhbXBsZTogYWQtKiB3aWxsIGV4Y2x1ZGUgY29kZWJsb2NrcyB3aGVyZSB0aGUgbGFuZ3VhZ2Ugc3RhcnRzIHdpdGggYWQtIGUuZy46IGFkLWluZm8sIGFkLWVycm9yIGV0Yy4nKVxuXHRcdFx0LmFkZFRleHQodGV4dCA9PiB0ZXh0XG5cdFx0XHRcdC5zZXRQbGFjZWhvbGRlcignZS5nLiBhZC0qLCBweXRob24gZXRjLicpXG5cdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5leGNsdWRlZExhbmd1YWdlcylcblx0XHRcdFx0Lm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLmV4Y2x1ZGVkTGFuZ3VhZ2VzID0gdmFsdWU7XG5cdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7XG5cdFx0XHRcdH0pKTtcblxuXHRcdC8vID09PT09PT09PT0gVGhlbWVzID09PT09PT09PT1cblx0XHRjb250YWluZXJFbC5jcmVhdGVFbCgnaDMnLCB7dGV4dDogJ1RoZW1lIFNldHRpbmdzJ30pO1xuXG5cdFx0bGV0IHRoZW1lRHJvcGRvd246IERyb3Bkb3duQ29tcG9uZW50O1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoXCJTZWxlY3QgVGhlbWVcIilcblx0XHRcdC5hZGREcm9wZG93bigoZHJvcGRvd24pID0+IHtcblx0XHRcdFx0dGhlbWVEcm9wZG93biA9IGRyb3Bkb3duO1xuXHRcdFx0XHR0aGlzLnVwZGF0ZURyb3Bkb3duKHRoZW1lRHJvcGRvd24sdGhpcy5wbHVnaW4uc2V0dGluZ3MpO1xuXHRcdFx0XHR0aGVtZURyb3Bkb3duLm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLnNlbGVjdGVkVGhlbWUgPSB2YWx1ZTtcblx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUgPSBzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5wbHVnaW4uc2V0dGluZ3MudGhlbWVzW3RoaXMucGx1Z2luLnNldHRpbmdzLnNlbGVjdGVkVGhlbWVdKVxuXHRcdFx0XHRcdHRoaXMuZGlzcGxheSgpO1xuXHRcdFx0XHRcdChhc3luYyAoKSA9PiB7YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCl9KSgpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0pXG5cdFx0XHQuYWRkRXh0cmFCdXR0b24oYnV0dG9uID0+IHtcblx0XHRcdFx0YnV0dG9uLnNldFRvb2x0aXAoXCJVcGRhdGUgdGhlbWVcIik7XG5cdFx0XHRcdGJ1dHRvbi5zZXRJY29uKCdzYXZlJyk7XG5cdFx0XHRcdGJ1dHRvbi5vbkNsaWNrKCgpID0+IHtcblx0XHRcdFx0XHRpZiAodGhpcy5wbHVnaW4uc2V0dGluZ3Muc2VsZWN0ZWRUaGVtZSBpbiBERUZBVUxUX1NFVFRJTkdTLnRoZW1lcylcblx0XHRcdFx0XHRcdG5ldyBOb3RpY2UoJ1lvdSBjYW5ub3QgdXBkYXRlIHRoZSBkZWZhdWx0IHRoZW1lcycpOyAvL05PU09OQVJcblx0XHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLnRoZW1lc1t0aGlzLnBsdWdpbi5zZXR0aW5ncy5zZWxlY3RlZFRoZW1lXSA9IHN0cnVjdHVyZWRDbG9uZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUpO1xuXHRcdFx0XHRcdFx0dGhpcy51cGRhdGVBbHRlcm5hdGl2ZUhpZ2hsaWdodHMoYWx0ZXJuYXRpdmVIaWdobGlnaHRzQ29udGFpbmVyKTtcblx0XHRcdFx0XHRcdG5ldyBOb3RpY2UoYCR7dGhpcy5wbHVnaW4uc2V0dGluZ3Muc2VsZWN0ZWRUaGVtZX0gdGhlbWUgc2F2ZWQgc3VjY2Vzc2Z1bGx5IWApOyAvL05PU09OQVJcblx0XHRcdFx0XHRcdChhc3luYyAoKSA9PiB7YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCl9KSgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9KVxuXHRcdFx0LmFkZEV4dHJhQnV0dG9uKGJ1dHRvbiA9PiB7XG5cdFx0XHRcdGJ1dHRvbi5zZXRUb29sdGlwKFwiRGVsZXRlIHRoZW1lXCIpO1xuXHRcdFx0XHRidXR0b24uc2V0SWNvbigndHJhc2gnKTtcblx0XHRcdFx0YnV0dG9uLm9uQ2xpY2soKCkgPT4ge1xuXHRcdFx0XHRcdGlmICh0aGlzLnBsdWdpbi5zZXR0aW5ncy5zZWxlY3RlZFRoZW1lLnRyaW0oKS5sZW5ndGggPT09IDApXG5cdFx0XHRcdFx0XHRuZXcgTm90aWNlKCdTZWxlY3QgYSB0aGVtZSBmaXJzdCB0byBkZWxldGUnKTsgLy9OT1NPTkFSXG5cdFx0XHRcdFx0ZWxzZSBpZiAodGhpcy5wbHVnaW4uc2V0dGluZ3Muc2VsZWN0ZWRUaGVtZSBpbiBERUZBVUxUX1NFVFRJTkdTLnRoZW1lcylcblx0XHRcdFx0XHRcdG5ldyBOb3RpY2UoJ1lvdSBjYW5ub3QgZGVsZXRlIHRoZSBkZWZhdWx0IHRoZW1lcycpOyAvL05PU09OQVJcblx0XHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRcdGRlbGV0ZSB0aGlzLnBsdWdpbi5zZXR0aW5ncy50aGVtZXNbdGhpcy5wbHVnaW4uc2V0dGluZ3Muc2VsZWN0ZWRUaGVtZV1cblx0XHRcdFx0XHRcdG5ldyBOb3RpY2UoYCR7dGhpcy5wbHVnaW4uc2V0dGluZ3Muc2VsZWN0ZWRUaGVtZX0gdGhlbWUgZGVsZXRlZCBzdWNjZXNzZnVsbHkhYCk7IC8vTk9TT05BUlxuXHRcdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3Muc2VsZWN0ZWRUaGVtZSA9IFwiRGVmYXVsdFwiO1xuXHRcdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lID0gc3RydWN0dXJlZENsb25lKHRoaXMucGx1Z2luLnNldHRpbmdzLnRoZW1lc1t0aGlzLnBsdWdpbi5zZXR0aW5ncy5zZWxlY3RlZFRoZW1lXSlcblx0XHRcdFx0XHRcdHRoaXMudXBkYXRlRHJvcGRvd24odGhlbWVEcm9wZG93bix0aGlzLnBsdWdpbi5zZXR0aW5ncyk7XG5cdFx0XHRcdFx0XHR0aGlzLmRpc3BsYXkoKTtcblx0XHRcdFx0XHRcdChhc3luYyAoKSA9PiB7YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCl9KSgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHRsZXQgbmV3VGhlbWVOYW1lOiBUZXh0Q29tcG9uZW50O1xuXHRcdGxldCBuZXdUaGVtZURlZmF1bHQ6IFRvZ2dsZUNvbXBvbmVudDtcblx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5uZXdUaGVtZSA9ICcnO1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoJ0FkZCBOZXcgVGhlbWUnKVxuXHRcdFx0LnNldERlc2MoJ0NyZWF0ZSBhIG5ldyB0aGVtZSBmcm9tIHRoZSBjdXJyZW50IHNldHRpbmdzLicpXG5cdFx0XHQuYWRkVGV4dCh0ZXh0ID0+IHtuZXdUaGVtZU5hbWUgPSB0ZXh0XG5cdFx0XHRcdC5zZXRQbGFjZWhvbGRlcignTmV3IHRoZW1lIG5hbWUnKVxuXHRcdFx0XHQuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MubmV3VGhlbWUpXG5cdFx0XHRcdC5vbkNoYW5nZSgodmFsdWUpID0+IHtcblx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5uZXdUaGVtZSA9IHZhbHVlO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0pXG5cdFx0XHQuYWRkRXh0cmFCdXR0b24oYnV0dG9uID0+IHtcblx0XHRcdFx0YnV0dG9uLnNldFRvb2x0aXAoXCJTYXZlIHRoZW1lXCIpO1xuXHRcdFx0XHRidXR0b24uc2V0SWNvbigncGx1cycpO1xuXHRcdFx0XHRidXR0b24ub25DbGljaygoKSA9PiB7XG5cdFx0XHRcdFx0aWYgKHRoaXMucGx1Z2luLnNldHRpbmdzLm5ld1RoZW1lLnRyaW0oKS5sZW5ndGggPT09IDApXG5cdFx0XHRcdFx0XHRuZXcgTm90aWNlKCdTZXQgYSBuYW1lIGZvciB5b3VyIHRoZW1lJyk7IC8vTk9TT05BUlxuXHRcdFx0XHRcdGVsc2UgaWYgKHRoaXMucGx1Z2luLnNldHRpbmdzLm5ld1RoZW1lIGluIERFRkFVTFRfU0VUVElOR1MudGhlbWVzKVxuXHRcdFx0XHRcdFx0bmV3IE5vdGljZSgnWW91IGNhblxcJ3Qgb3ZlcndyaXRlIHRoZSBkZWZhdWx0IHRoZW1lcycpOyAvL05PU09OQVJcblx0XHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRcdGlmICh0aGlzLnBsdWdpbi5zZXR0aW5ncy5uZXdUaGVtZSBpbiB0aGlzLnBsdWdpbi5zZXR0aW5ncy50aGVtZXMpIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MudGhlbWVzW3RoaXMucGx1Z2luLnNldHRpbmdzLm5ld1RoZW1lXSA9IHN0cnVjdHVyZWRDbG9uZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUpO1xuXHRcdFx0XHRcdFx0XHRuZXcgTm90aWNlKGAke3RoaXMucGx1Z2luLnNldHRpbmdzLm5ld1RoZW1lfSB0aGVtZSB1cGRhdGVkIHN1Y2Nlc3NmdWxseSFgKTsgLy9OT1NPTkFSXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy50aGVtZXNbdGhpcy5wbHVnaW4uc2V0dGluZ3MubmV3VGhlbWVdID0gc3RydWN0dXJlZENsb25lKHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZSk7XG5cdFx0XHRcdFx0XHRcdG5ldyBOb3RpY2UoYCR7dGhpcy5wbHVnaW4uc2V0dGluZ3MubmV3VGhlbWV9IHRoZW1lIHNhdmVkIHN1Y2Nlc3NmdWxseSFgKTsgLy9OT1NPTkFSXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5zZWxlY3RlZFRoZW1lID0gdGhpcy5wbHVnaW4uc2V0dGluZ3MubmV3VGhlbWU7XG5cdFx0XHRcdFx0XHR0aGlzLnVwZGF0ZURyb3Bkb3duKHRoZW1lRHJvcGRvd24sdGhpcy5wbHVnaW4uc2V0dGluZ3MpO1xuXHRcdFx0XHRcdFx0dGhpcy51cGRhdGVBbHRlcm5hdGl2ZUhpZ2hsaWdodHMoYWx0ZXJuYXRpdmVIaWdobGlnaHRzQ29udGFpbmVyKTtcblx0XHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLm5ld1RoZW1lID0gJyc7XG5cdFx0XHRcdFx0XHRuZXdUaGVtZU5hbWUuc2V0VmFsdWUoXCJcIik7XG5cdFx0XHRcdFx0XHRuZXdUaGVtZURlZmF1bHQuc2V0VmFsdWUoZmFsc2UpO1xuXHRcdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH0pO1xuXHRcdFxuXHRcdGNvbnRhaW5lckVsLmNyZWF0ZUVsKCdoNCcsIHt0ZXh0OiAnQ29kZWJsb2NrIEFwcGVhcmFuY2UnfSk7XG5cdFx0bmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG5cdFx0XHQuc2V0TmFtZSgnQ29kZWJsb2NrIEJhY2tncm91bmQgQ29sb3InKVxuXHRcdFx0LnRoZW4oKHNldHRpbmcpID0+IHt0aGlzLmNyZWF0ZVBpY2tyKFxuXHRcdFx0XHR0aGlzLnBsdWdpbixjb250YWluZXJFbCxzZXR0aW5nLFxuXHRcdFx0XHQnY29kZWJsb2NrX2JhY2tncm91bmQnLFxuXHRcdFx0XHQocmVsZXZhbnRUaGVtZUNvbG9yczogQ29kZWJsb2NrU3R5bGVyVGhlbWVDb2xvcnMpID0+IHJlbGV2YW50VGhlbWVDb2xvcnNbZ2V0Q3VycmVudE1vZGUoKV0uY29kZWJsb2NrLmJhY2tncm91bmRDb2xvcixcblx0XHRcdFx0KHJlbGV2YW50VGhlbWVDb2xvcnM6IENvZGVibG9ja1N0eWxlclRoZW1lQ29sb3JzLCBzYXZlQ29sb3I6IENvbG9yKSA9PiB7cmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5jb2RlYmxvY2suYmFja2dyb3VuZENvbG9yID0gc2F2ZUNvbG9yfSxcblx0XHRcdCl9KTtcblx0XHRuZXcgU2V0dGluZyhjb250YWluZXJFbClcblx0XHRcdC5zZXROYW1lKCdDb2RlYmxvY2sgVGV4dCBDb2xvcicpXG5cdFx0XHQudGhlbigoc2V0dGluZykgPT4ge3RoaXMuY3JlYXRlUGlja3IoXG5cdFx0XHRcdHRoaXMucGx1Z2luLGNvbnRhaW5lckVsLHNldHRpbmcsXG5cdFx0XHRcdCdjb2RlYmxvY2tfdGV4dCcsXG5cdFx0XHRcdChyZWxldmFudFRoZW1lQ29sb3JzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZUNvbG9ycykgPT4gcmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5jb2RlYmxvY2sudGV4dENvbG9yLFxuXHRcdFx0XHQocmVsZXZhbnRUaGVtZUNvbG9yczogQ29kZWJsb2NrU3R5bGVyVGhlbWVDb2xvcnMsIHNhdmVDb2xvcjogQ29sb3IpID0+IHtyZWxldmFudFRoZW1lQ29sb3JzW2dldEN1cnJlbnRNb2RlKCldLmNvZGVibG9jay50ZXh0Q29sb3IgPSBzYXZlQ29sb3J9LFxuXHRcdFx0KX0pO1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoJ1Vud3JhcCBjb2RlYmxvY2sgbGluZXMnKVxuXHRcdFx0LnNldERlc2MoJ0Nob29zZSB3aGV0aGVyIHRvIHVud3JhcCBsaW5lcyBpbiByZWFkaW5nIG1vZGUnKVxuXHRcdFx0LmFkZFRvZ2dsZSh0b2dnbGUgPT4gdG9nZ2xlXG5cdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuY29kZWJsb2NrLnVud3JhcExpbmVzKVxuXHRcdFx0XHQub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmNvZGVibG9jay51bndyYXBMaW5lcyA9IHZhbHVlO1xuXHRcdFx0XHRcdHRoaXMuZGlzYWJsZWFibGVDb21wb25lbnRzWyd3cmFwTGluZXMnXS5mb3JFYWNoKGNvbXBvbmVudCA9PiB7Y29tcG9uZW50LnNldERpc2FibGVkKCF2YWx1ZSl9KTtcblx0XHRcdFx0XHQoYXN5bmMgKCkgPT4ge2F3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpfSkoKTsgICAgXG5cdFx0XHRcdH0pKTtcblx0XHRuZXcgU2V0dGluZyhjb250YWluZXJFbClcblx0XHRcdC5zZXROYW1lKCdDb2RlYmxvY2sgQ3VydmF0dXJlJylcblx0XHRcdC5zZXREZXNjKCdEZXRlcm1pbmVzIGhvdyByb3VuZGVkIHRoZSBjb2RlYmxvY2tzIGFwcGVhciBpbiBwaXhlbHMuJylcblx0XHRcdC50aGVuKChzZXR0aW5nKSA9PiB7XG5cdFx0XHRcdGxldCByZXNldHRhYmxlU2xpZGVyOiBTbGlkZXJDb21wb25lbnQ7XG5cdFx0XHRcdHNldHRpbmcuYWRkU2xpZGVyKChzbGlkZXIpID0+IHtyZXNldHRhYmxlU2xpZGVyID0gc2xpZGVyXG5cdFx0XHRcdFx0LnNldExpbWl0cygwLDI1LDEpXG5cdFx0XHRcdFx0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5jb2RlYmxvY2suY3VydmF0dXJlKVxuXHRcdFx0XHRcdC5zZXREeW5hbWljVG9vbHRpcCgpXG5cdFx0XHRcdFx0Lm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmNvZGVibG9jay5jdXJ2YXR1cmUgPSB2YWx1ZTtcblx0XHRcdFx0XHRcdChhc3luYyAoKSA9PiB7YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCl9KSgpOyAgICBcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdHNldHRpbmcuYWRkRXh0cmFCdXR0b24oKGJ1dHRvbikgPT4ge2J1dHRvblxuXHRcdFx0XHRcdC5zZXRJY29uKFwicmVzZXRcIilcblx0XHRcdFx0XHQuc2V0VG9vbHRpcCgnUmVzdG9yZSBkZWZhdWx0IGN1cnZhdHVyZScpXG5cdFx0XHRcdFx0Lm9uQ2xpY2soKCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmNvZGVibG9jay5jdXJ2YXR1cmUgPSB0aGlzLnBsdWdpbi5zZXR0aW5ncy50aGVtZXNbdGhpcy5wbHVnaW4uc2V0dGluZ3Muc2VsZWN0ZWRUaGVtZV0uc2V0dGluZ3MuY29kZWJsb2NrLmN1cnZhdHVyZTtcblx0XHRcdFx0XHRcdHJlc2V0dGFibGVTbGlkZXIuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmNvZGVibG9jay5jdXJ2YXR1cmUpO1xuXHRcdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0XHRcblx0XHRjb250YWluZXJFbC5jcmVhdGVFbCgnaDQnLCB7dGV4dDogJ0d1dHRlciBBcHBlYXJhbmNlJ30pO1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoJ0VuYWJsZSBMaW5lIE51bWJlcnMnKVxuXHRcdFx0LnNldERlc2MoJ0lmIGRpc2FibGVkLCB0aGUgYmVsb3cgc2V0dGluZ3MgYXJlIGRpc2FibGVkIHRvby4nKVxuXHRcdFx0LmFkZFRvZ2dsZSh0b2dnbGUgPT4gdG9nZ2xlXG5cdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuY29kZWJsb2NrLmxpbmVOdW1iZXJzKVxuXHRcdFx0XHQub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmNvZGVibG9jay5saW5lTnVtYmVycyA9IHZhbHVlO1xuXHRcdFx0XHRcdHRoaXMuZGlzYWJsZWFibGVDb21wb25lbnRzWydsaW5lTnVtYmVycyddLmZvckVhY2goY29tcG9uZW50ID0+IHtjb21wb25lbnQuc2V0RGlzYWJsZWQoIXZhbHVlKX0pO1xuXHRcdFx0XHRcdChhc3luYyAoKSA9PiB7YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCl9KSgpOyAgICAgICAgIFxuXHRcdFx0XHR9KSk7XG5cdFx0bmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG5cdFx0XHQuc2V0TmFtZSgnR3V0dGVyIEJhY2tncm91bmQgQ29sb3InKVxuXHRcdFx0LnRoZW4oKHNldHRpbmcpID0+IHt0aGlzLmNyZWF0ZVBpY2tyKFxuXHRcdFx0XHR0aGlzLnBsdWdpbixjb250YWluZXJFbCxzZXR0aW5nLFxuXHRcdFx0XHQnZ3V0dGVyX2JhY2tncm91bmQnLFxuXHRcdFx0XHQocmVsZXZhbnRUaGVtZUNvbG9yczogQ29kZWJsb2NrU3R5bGVyVGhlbWVDb2xvcnMpID0+IHJlbGV2YW50VGhlbWVDb2xvcnNbZ2V0Q3VycmVudE1vZGUoKV0uZ3V0dGVyLmJhY2tncm91bmRDb2xvcixcblx0XHRcdFx0KHJlbGV2YW50VGhlbWVDb2xvcnM6IENvZGVibG9ja1N0eWxlclRoZW1lQ29sb3JzLCBzYXZlQ29sb3I6IENvbG9yKSA9PiB7cmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5ndXR0ZXIuYmFja2dyb3VuZENvbG9yID0gc2F2ZUNvbG9yfSxcblx0XHRcdFx0KCkgPT4gIXRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5jb2RlYmxvY2subGluZU51bWJlcnMsXG5cdFx0XHQpfSk7XG5cdFx0dGhpcy5kaXNhYmxlYWJsZUNvbXBvbmVudHNbJ2xpbmVOdW1iZXJzJ10ucHVzaCh0aGlzLnBpY2tyc1snZ3V0dGVyX2JhY2tncm91bmQnXS5yZXNldEJ1dHRvbik7XG5cdFx0bmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG5cdFx0XHQuc2V0TmFtZSgnTGluZSBOdW1iZXIgQ29sb3InKVxuXHRcdFx0LnRoZW4oKHNldHRpbmcpID0+IHt0aGlzLmNyZWF0ZVBpY2tyKFxuXHRcdFx0XHR0aGlzLnBsdWdpbixjb250YWluZXJFbCxzZXR0aW5nLFxuXHRcdFx0XHQnbGluZV9udW1iZXInLFxuXHRcdFx0XHQocmVsZXZhbnRUaGVtZUNvbG9yczogQ29kZWJsb2NrU3R5bGVyVGhlbWVDb2xvcnMpID0+IHJlbGV2YW50VGhlbWVDb2xvcnNbZ2V0Q3VycmVudE1vZGUoKV0uZ3V0dGVyLnRleHRDb2xvcixcblx0XHRcdFx0KHJlbGV2YW50VGhlbWVDb2xvcnM6IENvZGVibG9ja1N0eWxlclRoZW1lQ29sb3JzLCBzYXZlQ29sb3I6IENvbG9yKSA9PiB7cmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5ndXR0ZXIudGV4dENvbG9yID0gc2F2ZUNvbG9yfSxcblx0XHRcdFx0KCkgPT4gIXRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5jb2RlYmxvY2subGluZU51bWJlcnMsXG5cdFx0XHQpfSk7XG5cdFx0dGhpcy5kaXNhYmxlYWJsZUNvbXBvbmVudHNbJ2xpbmVOdW1iZXJzJ10ucHVzaCh0aGlzLnBpY2tyc1snbGluZV9udW1iZXInXS5yZXNldEJ1dHRvbik7XG5cdFx0bmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG5cdFx0XHQuc2V0TmFtZSgnSGlnaGxpZ2h0IExpbmUgTnVtYmVycycpXG5cdFx0XHQuc2V0RGVzYygnSWYgZW5hYmxlZCwgaGlnaGxpZ2h0cyB3aWxsIGFsc28gaGlnaGxpZ2h0IHRoZSBsaW5lIG51bWJlcnMuJylcblx0XHRcdC5hZGRUb2dnbGUodG9nZ2xlID0+IHtsZXQgaGlnaGxpZ2h0TGluZU51bWJlcnNUb2dnbGUgPSB0b2dnbGVcblx0XHRcdFx0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5ndXR0ZXIuaGlnaGxpZ2h0KVxuXHRcdFx0XHQuc2V0RGlzYWJsZWQoIXRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5jb2RlYmxvY2subGluZU51bWJlcnMpXG5cdFx0XHRcdC5vbkNoYW5nZSgodmFsdWUpID0+IHtcblx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuZ3V0dGVyLmhpZ2hsaWdodCA9IHZhbHVlO1xuXHRcdFx0XHRcdChhc3luYyAoKSA9PiB7YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCl9KSgpO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHR0aGlzLmRpc2FibGVhYmxlQ29tcG9uZW50c1snbGluZU51bWJlcnMnXS5wdXNoKGhpZ2hsaWdodExpbmVOdW1iZXJzVG9nZ2xlKTtcblx0XHRcdH0pO1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoJ0luZGljYXRlIEN1cnJlbnQgTGluZSBOdW1iZXInKVxuXHRcdFx0LnNldERlc2MoJ0lmIGVuYWJsZWQsIHRoZSBjdXJyZW50IGxpbmUgbnVtYmVyIGluIGNvZGVibG9ja3Mgd2lsbCBiZSBpbmRpY2F0ZWQgd2l0aCBhIHNlcGFyYXRlIGNvbG9yLicpXG5cdFx0XHQuc2V0Q2xhc3MoJ2NvZGVibG9jay1zdHlsZXItc3BhY2VkJylcblx0XHRcdC5hZGRUb2dnbGUodG9nZ2xlID0+IHtsZXQgaW5kaWNhdGVDdXJyZW50TGluZU51bWJlclRvZ2dsZSA9IHRvZ2dsZVxuXHRcdFx0XHQuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmd1dHRlci5hY3RpdmVMaW5lKVxuXHRcdFx0XHQuc2V0RGlzYWJsZWQoIXRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5jb2RlYmxvY2subGluZU51bWJlcnMpXG5cdFx0XHRcdC5vbkNoYW5nZSgodmFsdWUpID0+IHtcblx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuZ3V0dGVyLmFjdGl2ZUxpbmUgPSB2YWx1ZTtcblx0XHRcdFx0XHQoYXN5bmMgKCkgPT4ge2F3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpfSkoKTtcblx0XHRcdFx0fSlcblx0XHRcdFx0dGhpcy5kaXNhYmxlYWJsZUNvbXBvbmVudHNbJ2xpbmVOdW1iZXJzJ10ucHVzaChpbmRpY2F0ZUN1cnJlbnRMaW5lTnVtYmVyVG9nZ2xlKTtcblx0XHRcdH0pXG5cdFx0XHQudGhlbigoc2V0dGluZykgPT4ge3RoaXMuY3JlYXRlUGlja3IoXG5cdFx0XHRcdHRoaXMucGx1Z2luLGNvbnRhaW5lckVsLHNldHRpbmcsXG5cdFx0XHRcdCdhY3RpdmVfbGluZV9udW1iZXInLFxuXHRcdFx0XHQocmVsZXZhbnRUaGVtZUNvbG9yczogQ29kZWJsb2NrU3R5bGVyVGhlbWVDb2xvcnMpID0+IHJlbGV2YW50VGhlbWVDb2xvcnNbZ2V0Q3VycmVudE1vZGUoKV0uZ3V0dGVyLmFjdGl2ZVRleHRDb2xvcixcblx0XHRcdFx0KHJlbGV2YW50VGhlbWVDb2xvcnM6IENvZGVibG9ja1N0eWxlclRoZW1lQ29sb3JzLCBzYXZlQ29sb3I6IENvbG9yKSA9PiB7cmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5ndXR0ZXIuYWN0aXZlVGV4dENvbG9yID0gc2F2ZUNvbG9yfSxcblx0XHRcdFx0KCkgPT4gIXRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5jb2RlYmxvY2subGluZU51bWJlcnMsXG5cdFx0XHQpfSk7XG5cdFx0XG5cdFx0Y29udGFpbmVyRWwuY3JlYXRlRWwoJ2g0Jywge3RleHQ6ICdIZWFkZXIgQXBwZWFyYW5jZSd9KTtcblx0XHRuZXcgU2V0dGluZyhjb250YWluZXJFbClcblx0XHRcdC5zZXROYW1lKCdIZWFkZXIgQmFja2dyb3VuZCBDb2xvcicpXG5cdFx0XHQudGhlbigoc2V0dGluZykgPT4ge3RoaXMuY3JlYXRlUGlja3IoXG5cdFx0XHRcdHRoaXMucGx1Z2luLGNvbnRhaW5lckVsLHNldHRpbmcsXG5cdFx0XHRcdCdoZWFkZXJfYmFja2dyb3VuZCcsXG5cdFx0XHRcdChyZWxldmFudFRoZW1lQ29sb3JzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZUNvbG9ycykgPT4gcmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5oZWFkZXIuYmFja2dyb3VuZENvbG9yLFxuXHRcdFx0XHQocmVsZXZhbnRUaGVtZUNvbG9yczogQ29kZWJsb2NrU3R5bGVyVGhlbWVDb2xvcnMsIHNhdmVDb2xvcjogQ29sb3IpID0+IHtyZWxldmFudFRoZW1lQ29sb3JzW2dldEN1cnJlbnRNb2RlKCldLmhlYWRlci5iYWNrZ3JvdW5kQ29sb3IgPSBzYXZlQ29sb3J9LFxuXHRcdFx0KX0pO1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoJ0hlYWRlciBGb250IFNpemUnKVxuXHRcdFx0LnNldERlc2MoJ1NldCB0aGUgZm9udCBzaXplIGZvciBoZWFkZXIgbGFuZ3VhZ2UgdGFncyBhbmQgdGl0bGVzLicpXG5cdFx0XHQudGhlbigoc2V0dGluZykgPT4ge1xuXHRcdFx0XHRsZXQgcmVzZXR0YWJsZVNsaWRlcjogU2xpZGVyQ29tcG9uZW50O1xuXHRcdFx0XHRzZXR0aW5nLmFkZFNsaWRlcigoc2xpZGVyKSA9PiB7cmVzZXR0YWJsZVNsaWRlciA9IHNsaWRlclxuXHRcdFx0XHRcdC5zZXRMaW1pdHMoNiwzMiwxKVxuXHRcdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLmZvbnRTaXplKVxuXHRcdFx0XHRcdC5zZXREeW5hbWljVG9vbHRpcCgpXG5cdFx0XHRcdFx0Lm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmhlYWRlci5mb250U2l6ZSA9IHZhbHVlO1xuXHRcdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7ICAgIFxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRzZXR0aW5nLmFkZEV4dHJhQnV0dG9uKChidXR0b24pID0+IHtidXR0b25cblx0XHRcdFx0XHQuc2V0SWNvbihcInJlc2V0XCIpXG5cdFx0XHRcdFx0LnNldFRvb2x0aXAoJ1Jlc3RvcmUgZGVmYXVsdCBmb250IHNpemUnKVxuXHRcdFx0XHRcdC5vbkNsaWNrKCgpID0+IHtcblx0XHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oZWFkZXIuZm9udFNpemUgPSB0aGlzLnBsdWdpbi5zZXR0aW5ncy50aGVtZXNbdGhpcy5wbHVnaW4uc2V0dGluZ3Muc2VsZWN0ZWRUaGVtZV0uc2V0dGluZ3MuaGVhZGVyLmZvbnRTaXplO1xuXHRcdFx0XHRcdFx0cmVzZXR0YWJsZVNsaWRlci5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLmZvbnRTaXplKTtcblx0XHRcdFx0XHRcdChhc3luYyAoKSA9PiB7YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCl9KSgpO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9KVxuXHRcdFx0fSlcblx0XHRuZXcgU2V0dGluZyhjb250YWluZXJFbClcblx0XHRcdC5zZXROYW1lKCdIZWFkZXIgVGl0bGUgVGV4dCBTdHlsaW5nJylcblx0XHRcdC5zZXREZXNjKCdTdHlsZSB0aGUgaGVhZGVyIHRpdGxlIHRleHQgdXNpbmcgYm9sZCBhbmQgaXRhbGljIHRvZ2dsZXMsIGJ5IHNldHRpbmcgYSBmb250IG9yIGJ5IHNldHRpbmcgYSB0ZXh0IGNvbG9yLicpXG5cdFx0XHQuYWRkVG9nZ2xlKHRvZ2dsZSA9PiB7dG9nZ2xlXG5cdFx0XHRcdC5zZXRUb29sdGlwKFwiVG9nZ2xlIGJvbGQgdGl0bGUgdGV4dFwiKVxuXHRcdFx0XHQuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmhlYWRlci50aXRsZS50ZXh0Qm9sZClcblx0XHRcdFx0Lm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oZWFkZXIudGl0bGUudGV4dEJvbGQgPSB2YWx1ZTtcblx0XHRcdFx0XHQoYXN5bmMgKCkgPT4ge2F3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpfSkoKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9KVxuXHRcdFx0LmFkZFRvZ2dsZSh0b2dnbGUgPT4ge3RvZ2dsZVxuXHRcdFx0XHQuc2V0VG9vbHRpcChcIlRvZ2dsZSBpdGFsaWMgdGl0bGUgdGV4dFwiKVxuXHRcdFx0XHQuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmhlYWRlci50aXRsZS50ZXh0SXRhbGljKVxuXHRcdFx0XHQub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmhlYWRlci50aXRsZS50ZXh0SXRhbGljID0gdmFsdWU7XG5cdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSlcblx0XHRcdC5hZGRUZXh0KHRleHQgPT4ge3RleHRcblx0XHRcdFx0LnNldFBsYWNlaG9sZGVyKCdGb250Jylcblx0XHRcdFx0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oZWFkZXIudGl0bGUudGV4dEZvbnQpXG5cdFx0XHRcdC5vbkNoYW5nZSgodmFsdWUpID0+IHtcblx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLnRpdGxlLnRleHRGb250ID0gdmFsdWU7XG5cdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSlcblx0XHRcdC50aGVuKChzZXR0aW5nKSA9PiB7dGhpcy5jcmVhdGVQaWNrcihcblx0XHRcdFx0dGhpcy5wbHVnaW4sY29udGFpbmVyRWwsc2V0dGluZyxcblx0XHRcdFx0J2hlYWRlcl90aXRsZV90ZXh0Jyxcblx0XHRcdFx0KHJlbGV2YW50VGhlbWVDb2xvcnM6IENvZGVibG9ja1N0eWxlclRoZW1lQ29sb3JzKSA9PiByZWxldmFudFRoZW1lQ29sb3JzW2dldEN1cnJlbnRNb2RlKCldLmhlYWRlci50aXRsZS50ZXh0Q29sb3IsXG5cdFx0XHRcdChyZWxldmFudFRoZW1lQ29sb3JzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZUNvbG9ycywgc2F2ZUNvbG9yOiBDb2xvcikgPT4ge3JlbGV2YW50VGhlbWVDb2xvcnNbZ2V0Q3VycmVudE1vZGUoKV0uaGVhZGVyLnRpdGxlLnRleHRDb2xvciA9IHNhdmVDb2xvcn0sXG5cdFx0XHQpfSk7XG5cdFx0bmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG5cdFx0XHQuc2V0TmFtZSgnQ29sbGFwc2UgUGxhY2Vob2xkZXIgVGV4dCcpXG5cdFx0XHQuc2V0RGVzYygnVGl0bGUgcGxhY2Vob2xkZXIgdGV4dCBmb3IgY29sbGFwc2VkIGNvZGUgd2hlbiBubyB0aXRsZSBwYXJhbWV0ZXIgaXMgc2V0LicpXG5cdFx0XHQuYWRkVGV4dCh0ZXh0ID0+IHRleHRcblx0XHRcdFx0LnNldFBsYWNlaG9sZGVyKCdDb2xsYXBzZWQgQ29kZScpXG5cdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLmNvbGxhcHNlUGxhY2Vob2xkZXIpXG5cdFx0XHRcdC5vbkNoYW5nZSgodmFsdWUpID0+IHtcblx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLmNvbGxhcHNlUGxhY2Vob2xkZXIgPSB2YWx1ZTtcblx0XHRcdFx0XHQoYXN5bmMgKCkgPT4ge2F3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpfSkoKTtcblx0XHRcdFx0fSkpO1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoJ0hlYWRlciBTZXBhcmF0b3IgQ29sb3InKVxuXHRcdFx0LnNldERlc2MoJ0NvbG9yIG9mIHRoZSBsaW5lIHNlcGFyYXRpbmcgdGhlIGNvZGVibG9jayBoZWFkZXIgYW5kIHRoZSBjb2RlYmxvY2suJylcblx0XHRcdC50aGVuKChzZXR0aW5nKSA9PiB7dGhpcy5jcmVhdGVQaWNrcihcblx0XHRcdFx0dGhpcy5wbHVnaW4sY29udGFpbmVyRWwsc2V0dGluZyxcblx0XHRcdFx0J2hlYWRlcl9zZXBhcmF0b3InLFxuXHRcdFx0XHQocmVsZXZhbnRUaGVtZUNvbG9yczogQ29kZWJsb2NrU3R5bGVyVGhlbWVDb2xvcnMpID0+IHJlbGV2YW50VGhlbWVDb2xvcnNbZ2V0Q3VycmVudE1vZGUoKV0uaGVhZGVyLmxpbmVDb2xvcixcblx0XHRcdFx0KHJlbGV2YW50VGhlbWVDb2xvcnM6IENvZGVibG9ja1N0eWxlclRoZW1lQ29sb3JzLCBzYXZlQ29sb3I6IENvbG9yKSA9PiB7cmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5oZWFkZXIubGluZUNvbG9yID0gc2F2ZUNvbG9yfSxcblx0XHRcdCl9KTtcblx0XHRcdFxuXHRcdGNvbnRhaW5lckVsLmNyZWF0ZUVsKCdoNScsIHt0ZXh0OiAnSGVhZGVyIExhbmd1YWdlIFRhZyBBcHBlYXJhbmNlJ30pO1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoJ0Rpc3BsYXkgSGVhZGVyIExhbmd1YWdlIFRhZ3MnKVxuXHRcdFx0LnNldERlc2MoJ0RldGVybWluZSB3aGVuIHRvIHNob3cgbGFuZ3VhZ2UgdGFncyBpbiB0aGUgaGVhZGVyLiBcIlRpdGxlIE9ubHlcIiB3aWxsIG9ubHkgc2hvdyBsYW5ndWFnZSB0YWdzIHdoZW4gdGhlIHRpdGxlIHBhcmFtZXRlciBpcyBzZXQuIElmIHNldCB0byBcIk5vbmVcIiwgdGhlIGJlbG93IHNldHRpbmdzIGFyZSBkaXNhYmxlZCB0b28uJylcblx0XHRcdC5hZGREcm9wZG93bigoZHJvcGRvd24pID0+IGRyb3Bkb3duXG5cdFx0XHRcdC5hZGRPcHRpb25zKERJU1BMQVlfT1BUSU9OUylcblx0XHRcdFx0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oZWFkZXIubGFuZ3VhZ2VUYWcuZGlzcGxheSlcblx0XHRcdFx0Lm9uQ2hhbmdlKCh2YWx1ZTogRGlzcGxheSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oZWFkZXIubGFuZ3VhZ2VUYWcuZGlzcGxheSA9IHZhbHVlO1xuXHRcdFx0XHRcdHRoaXMuZGlzYWJsZWFibGVDb21wb25lbnRzWydoZWFkZXJMYW5ndWFnZVRhZ3MnXS5mb3JFYWNoKGNvbXBvbmVudCA9PiB7Y29tcG9uZW50LnNldERpc2FibGVkKHZhbHVlPT09XCJub25lXCIpfSk7XG5cdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7XG5cdFx0XHRcdH0pKTtcblx0XHRuZXcgU2V0dGluZyhjb250YWluZXJFbClcblx0XHRcdC5zZXROYW1lKCdIZWFkZXIgTGFuZ3VhZ2UgVGFnIEJhY2tncm91bmQgQ29sb3InKVxuXHRcdFx0LnRoZW4oKHNldHRpbmcpID0+IHt0aGlzLmNyZWF0ZVBpY2tyKFxuXHRcdFx0XHR0aGlzLnBsdWdpbixjb250YWluZXJFbCxzZXR0aW5nLFxuXHRcdFx0XHQnaGVhZGVyX2xhbmd1YWdlX3RhZ19iYWNrZ3JvdW5kJyxcblx0XHRcdFx0KHJlbGV2YW50VGhlbWVDb2xvcnM6IENvZGVibG9ja1N0eWxlclRoZW1lQ29sb3JzKSA9PiByZWxldmFudFRoZW1lQ29sb3JzW2dldEN1cnJlbnRNb2RlKCldLmhlYWRlci5sYW5ndWFnZVRhZy5iYWNrZ3JvdW5kQ29sb3IsXG5cdFx0XHRcdChyZWxldmFudFRoZW1lQ29sb3JzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZUNvbG9ycywgc2F2ZUNvbG9yOiBDb2xvcikgPT4ge3JlbGV2YW50VGhlbWVDb2xvcnNbZ2V0Q3VycmVudE1vZGUoKV0uaGVhZGVyLmxhbmd1YWdlVGFnLmJhY2tncm91bmRDb2xvciA9IHNhdmVDb2xvcn0sXG5cdFx0XHRcdCgpID0+IHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oZWFkZXIubGFuZ3VhZ2VUYWcuZGlzcGxheSA9PT0gJ25vbmUnLFxuXHRcdFx0KX0pO1xuXHRcdHRoaXMuZGlzYWJsZWFibGVDb21wb25lbnRzWydoZWFkZXJMYW5ndWFnZVRhZ3MnXS5wdXNoKHRoaXMucGlja3JzWydoZWFkZXJfbGFuZ3VhZ2VfdGFnX2JhY2tncm91bmQnXS5yZXNldEJ1dHRvbik7XG5cdFx0bGV0IGxhbmd1YWdlVGFnc0JvbGRUb2dnbGU6IFRvZ2dsZUNvbXBvbmVudDtcblx0XHRsZXQgbGFuZ3VhZ2VUYWdzSXRhbGljVG9nZ2xlOiBUb2dnbGVDb21wb25lbnQ7XG5cdFx0bGV0IGxhbmd1YWdlSWNvbnNGb250VGV4dDogVGV4dENvbXBvbmVudDtcblx0XHRuZXcgU2V0dGluZyhjb250YWluZXJFbClcblx0XHRcdC5zZXROYW1lKCdIZWFkZXIgTGFuZ3VhZ2UgVGFnIFRleHQgU3R5bGluZycpXG5cdFx0XHQuc2V0RGVzYygnU3R5bGUgdGhlIGhlYWRlciBsYW5ndWFnZSB0YWcgdGV4dCB1c2luZyBib2xkIGFuZCBpdGFsaWMgdG9nZ2xlcywgYnkgc2V0dGluZyBhIGZvbnQgb3IgYnkgc2V0dGluZyBhIHRleHQgY29sb3IuJylcblx0XHRcdC5hZGRUb2dnbGUodG9nZ2xlID0+IHtsYW5ndWFnZVRhZ3NCb2xkVG9nZ2xlID0gdG9nZ2xlXG5cdFx0XHRcdC5zZXRUb29sdGlwKFwiVG9nZ2xlIGJvbGQgbGFuZ3VhZ2UgdGFnIHRleHRcIilcblx0XHRcdFx0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oZWFkZXIubGFuZ3VhZ2VUYWcudGV4dEJvbGQpXG5cdFx0XHRcdC5zZXREaXNhYmxlZCh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLmxhbmd1YWdlVGFnLmRpc3BsYXk9PT1cIm5vbmVcIilcblx0XHRcdFx0Lm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oZWFkZXIubGFuZ3VhZ2VUYWcudGV4dEJvbGQgPSB2YWx1ZTtcblx0XHRcdFx0XHQoYXN5bmMgKCkgPT4ge2F3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpfSkoKTtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdHRoaXMuZGlzYWJsZWFibGVDb21wb25lbnRzWydoZWFkZXJMYW5ndWFnZVRhZ3MnXS5wdXNoKGxhbmd1YWdlVGFnc0JvbGRUb2dnbGUpO1xuXHRcdFx0fSlcblx0XHRcdC5hZGRUb2dnbGUodG9nZ2xlID0+IHtsYW5ndWFnZVRhZ3NJdGFsaWNUb2dnbGUgPSB0b2dnbGVcblx0XHRcdFx0LnNldFRvb2x0aXAoXCJUb2dnbGUgaXRhbGljIGxhbmd1YWdlIHRhZyB0ZXh0XCIpXG5cdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLmxhbmd1YWdlVGFnLnRleHRJdGFsaWMpXG5cdFx0XHRcdC5zZXREaXNhYmxlZCh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLmxhbmd1YWdlVGFnLmRpc3BsYXk9PT1cIm5vbmVcIilcblx0XHRcdFx0Lm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oZWFkZXIubGFuZ3VhZ2VUYWcudGV4dEl0YWxpYyA9IHZhbHVlO1xuXHRcdFx0XHRcdChhc3luYyAoKSA9PiB7YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCl9KSgpO1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0dGhpcy5kaXNhYmxlYWJsZUNvbXBvbmVudHNbJ2hlYWRlckxhbmd1YWdlVGFncyddLnB1c2gobGFuZ3VhZ2VUYWdzSXRhbGljVG9nZ2xlKTtcblx0XHRcdH0pXG5cdFx0XHQuYWRkVGV4dCh0ZXh0ID0+IHtsYW5ndWFnZUljb25zRm9udFRleHQgPSB0ZXh0XG5cdFx0XHRcdC5zZXRQbGFjZWhvbGRlcignRm9udCcpXG5cdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLmxhbmd1YWdlVGFnLnRleHRGb250KVxuXHRcdFx0XHQuc2V0RGlzYWJsZWQodGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmhlYWRlci5sYW5ndWFnZVRhZy5kaXNwbGF5PT09XCJub25lXCIpXG5cdFx0XHRcdC5vbkNoYW5nZSgodmFsdWUpID0+IHtcblx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLmxhbmd1YWdlVGFnLnRleHRGb250ID0gdmFsdWU7XG5cdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0aGlzLmRpc2FibGVhYmxlQ29tcG9uZW50c1snaGVhZGVyTGFuZ3VhZ2VUYWdzJ10ucHVzaChsYW5ndWFnZUljb25zRm9udFRleHQpO1xuXHRcdFx0fSlcblx0XHRcdC50aGVuKChzZXR0aW5nKSA9PiB7dGhpcy5jcmVhdGVQaWNrcihcblx0XHRcdFx0dGhpcy5wbHVnaW4sY29udGFpbmVyRWwsc2V0dGluZyxcblx0XHRcdFx0J2hlYWRlcl9sYW5ndWFnZV90YWdfdGV4dCcsXG5cdFx0XHRcdChyZWxldmFudFRoZW1lQ29sb3JzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZUNvbG9ycykgPT4gcmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5oZWFkZXIubGFuZ3VhZ2VUYWcudGV4dENvbG9yLFxuXHRcdFx0XHQocmVsZXZhbnRUaGVtZUNvbG9yczogQ29kZWJsb2NrU3R5bGVyVGhlbWVDb2xvcnMsIHNhdmVDb2xvcjogQ29sb3IpID0+IHtyZWxldmFudFRoZW1lQ29sb3JzW2dldEN1cnJlbnRNb2RlKCldLmhlYWRlci5sYW5ndWFnZVRhZy50ZXh0Q29sb3IgPSBzYXZlQ29sb3J9LFxuXHRcdFx0XHQoKSA9PiB0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLmxhbmd1YWdlVGFnLmRpc3BsYXkgPT09ICdub25lJyxcblx0XHRcdCl9KTtcblx0XHR0aGlzLmRpc2FibGVhYmxlQ29tcG9uZW50c1snaGVhZGVyTGFuZ3VhZ2VUYWdzJ10ucHVzaCh0aGlzLnBpY2tyc1snaGVhZGVyX2xhbmd1YWdlX3RhZ190ZXh0J10ucmVzZXRCdXR0b24pO1xuXHRcdFxuXHRcdGNvbnRhaW5lckVsLmNyZWF0ZUVsKCdoNScsIHt0ZXh0OiAnSGVhZGVyIExhbmd1YWdlIEljb24gQXBwZWFyYW5jZSd9KTtcblx0XHRuZXcgU2V0dGluZyhjb250YWluZXJFbClcblx0XHRcdC5zZXROYW1lKCdEaXNwbGF5IEhlYWRlciBMYW5ndWFnZSBJY29ucycpXG5cdFx0XHQuc2V0RGVzYygnRGV0ZXJtaW5lIHdoZW4gdG8gc2hvdyBsYW5ndWFnZSBpY29ucyB3aGVyZSBhdmFpbGFibGUuIFwiVGl0bGUgT25seVwiIHdpbGwgb25seSBzaG93IGxhbmd1YWdlIHRhZ3Mgd2hlbiB0aGUgdGl0bGUgcGFyYW1ldGVyIGlzIHNldC4gSWYgc2V0IHRvIFwiTm9uZVwiLCB0aGUgYmVsb3cgc2V0dGluZ3MgYXJlIGRpc2FibGVkIHRvby4nKVxuXHRcdFx0LmFkZERyb3Bkb3duKChkcm9wZG93bikgPT4gZHJvcGRvd25cblx0XHRcdFx0LmFkZE9wdGlvbnMoRElTUExBWV9PUFRJT05TKVxuXHRcdFx0XHQuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmhlYWRlci5sYW5ndWFnZUljb24uZGlzcGxheSlcblx0XHRcdFx0Lm9uQ2hhbmdlKCh2YWx1ZTogRGlzcGxheSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oZWFkZXIubGFuZ3VhZ2VJY29uLmRpc3BsYXkgPSB2YWx1ZTtcblx0XHRcdFx0XHR0aGlzLmRpc2FibGVhYmxlQ29tcG9uZW50c1snaGVhZGVyTGFuZ3VhZ2VJY29ucyddLmZvckVhY2goY29tcG9uZW50ID0+IHtjb21wb25lbnQuc2V0RGlzYWJsZWQodmFsdWU9PT1cIm5vbmVcIil9KTtcblx0XHRcdFx0XHQoYXN5bmMgKCkgPT4ge2F3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpfSkoKTtcblx0XHRcdFx0fSkpO1xuXHRcdGxldCBsYW5ndWFnZUljb25zQ29sb3JlZFRvZ2dsZTogVG9nZ2xlQ29tcG9uZW50O1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoJ0xhbmd1YWdlIEljb25zIENvbG9yZWQnKVxuXHRcdFx0LnNldERlc2MoJ0lmIGRpc2FibGVkLCBsYW5ndWFnZSBpY29ucyB3aWxsIGJlIGJsYWNrIGFuZCB3aGl0ZS4nKVxuXHRcdFx0LmFkZFRvZ2dsZSh0b2dnbGUgPT4ge2xhbmd1YWdlSWNvbnNDb2xvcmVkVG9nZ2xlID0gdG9nZ2xlXG5cdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLmxhbmd1YWdlSWNvbi5kaXNwbGF5Q29sb3IpXG5cdFx0XHRcdC5zZXREaXNhYmxlZCh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLmxhbmd1YWdlSWNvbi5kaXNwbGF5PT09XCJub25lXCIpXG5cdFx0XHRcdC5vbkNoYW5nZSgodmFsdWUpID0+IHtcblx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLmxhbmd1YWdlSWNvbi5kaXNwbGF5Q29sb3IgPSB2YWx1ZTtcblx0XHRcdFx0XHQoYXN5bmMgKCkgPT4ge2F3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpfSkoKTtcblx0XHRcdFx0fSlcblx0XHRcdFx0dGhpcy5kaXNhYmxlYWJsZUNvbXBvbmVudHNbJ2hlYWRlckxhbmd1YWdlSWNvbnMnXS5wdXNoKGxhbmd1YWdlSWNvbnNDb2xvcmVkVG9nZ2xlKTtcblx0XHRcdH0pO1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoJ0xhbmd1YWdlIEljb24gU2l6ZScpXG5cdFx0XHQuc2V0RGVzYygnU2V0IHRoZSBzaXplIG9mIHRoZSBkaXNwbGF5ZWQgbGFuZ3VhZ2UgaWNvbnMuJylcblx0XHRcdC50aGVuKChzZXR0aW5nKSA9PiB7XG5cdFx0XHRcdGxldCByZXNldHRhYmxlU2xpZGVyOiBTbGlkZXJDb21wb25lbnQ7XG5cdFx0XHRcdHNldHRpbmcuYWRkU2xpZGVyKChzbGlkZXIpID0+IHtyZXNldHRhYmxlU2xpZGVyID0gc2xpZGVyXG5cdFx0XHRcdFx0LnNldExpbWl0cygxMCw0MCwxKVxuXHRcdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuYWR2YW5jZWQuaWNvblNpemUpXG5cdFx0XHRcdFx0LnNldERpc2FibGVkKHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oZWFkZXIubGFuZ3VhZ2VJY29uLmRpc3BsYXk9PT1cIm5vbmVcIilcblx0XHRcdFx0XHQuc2V0RHluYW1pY1Rvb2x0aXAoKVxuXHRcdFx0XHRcdC5vbkNoYW5nZSgodmFsdWUpID0+IHtcblx0XHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5hZHZhbmNlZC5pY29uU2l6ZSA9IHZhbHVlO1xuXHRcdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7ICAgIFxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0dGhpcy5kaXNhYmxlYWJsZUNvbXBvbmVudHNbJ2hlYWRlckxhbmd1YWdlSWNvbnMnXS5wdXNoKHJlc2V0dGFibGVTbGlkZXIpO1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0bGV0IHJlc2V0QnV0dG9uOiBFeHRyYUJ1dHRvbkNvbXBvbmVudDtcblx0XHRcdFx0c2V0dGluZy5hZGRFeHRyYUJ1dHRvbigoYnV0dG9uKSA9PiB7cmVzZXRCdXR0b24gPSBidXR0b25cblx0XHRcdFx0XHQuc2V0SWNvbihcInJlc2V0XCIpXG5cdFx0XHRcdFx0LnNldERpc2FibGVkKHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oZWFkZXIubGFuZ3VhZ2VJY29uLmRpc3BsYXk9PT1cIm5vbmVcIilcblx0XHRcdFx0XHQuc2V0VG9vbHRpcCgnUmVzdG9yZSBkZWZhdWx0IGljb24gc2l6ZScpXG5cdFx0XHRcdFx0Lm9uQ2xpY2soKCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmFkdmFuY2VkLmljb25TaXplID0gdGhpcy5wbHVnaW4uc2V0dGluZ3MudGhlbWVzW3RoaXMucGx1Z2luLnNldHRpbmdzLnNlbGVjdGVkVGhlbWVdLnNldHRpbmdzLmFkdmFuY2VkLmljb25TaXplO1xuXHRcdFx0XHRcdFx0cmVzZXR0YWJsZVNsaWRlci5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuYWR2YW5jZWQuaWNvblNpemUpO1xuXHRcdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0dGhpcy5kaXNhYmxlYWJsZUNvbXBvbmVudHNbJ2hlYWRlckxhbmd1YWdlSWNvbnMnXS5wdXNoKHJlc2V0QnV0dG9uKTtcblx0XHRcdFx0fSlcblx0XHRcdH0pXG5cdFx0XG5cdFx0Y29udGFpbmVyRWwuY3JlYXRlRWwoJ2g0Jywge3RleHQ6ICdIaWdobGlnaHRpbmcgQXBwZWFyYW5jZSd9KTtcblx0XHRuZXcgU2V0dGluZyhjb250YWluZXJFbClcblx0XHRcdC5zZXROYW1lKCdFZGl0b3IgQWN0aXZlIExpbmUgSGlnaGxpZ2h0Jylcblx0XHRcdC5zZXREZXNjKCdJZiBlbmFibGVkLCBoaWdobGlnaHRzIHRoZSBhY3RpdmUgbGluZSBvdXRzaWRlIGNvZGVibG9ja3MuJylcblx0XHRcdC5zZXRDbGFzcygnY29kZWJsb2NrLXN0eWxlci1zcGFjZWQnKVxuXHRcdFx0LmFkZFRvZ2dsZSh0b2dnbGUgPT4ge3JldHVybiB0b2dnbGVcblx0XHRcdFx0LnNldFRvb2x0aXAoJ1RvZ2dsZSBlZGl0b3IgYWN0aXZlIGxpbmUgaGlnaGxpZ2h0aW5nJylcblx0XHRcdFx0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oaWdobGlnaHRzLmFjdGl2ZUVkaXRvckxpbmUpXG5cdFx0XHRcdC5vbkNoYW5nZSgodmFsdWUpID0+IHtcblx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGlnaGxpZ2h0cy5hY3RpdmVFZGl0b3JMaW5lID0gdmFsdWU7XG5cdFx0XHRcdFx0dGhpcy5kaXNhYmxlYWJsZUNvbXBvbmVudHNbJ2VkaXRvckFjdGl2ZUxpbmVIaWdobGlnaHQnXS5mb3JFYWNoKGNvbXBvbmVudCA9PiB7Y29tcG9uZW50LnNldERpc2FibGVkKCF2YWx1ZSl9KTtcblx0XHRcdFx0XHQoYXN5bmMgKCkgPT4ge2F3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpfSkoKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9KVxuXHRcdFx0LnRoZW4oKHNldHRpbmcpID0+IHt0aGlzLmNyZWF0ZVBpY2tyKFxuXHRcdFx0XHR0aGlzLnBsdWdpbixjb250YWluZXJFbCxzZXR0aW5nLFxuXHRcdFx0XHQnZWRpdG9yX2FjdGl2ZV9saW5lX2hpZ2hsaWdodCcsXG5cdFx0XHRcdChyZWxldmFudFRoZW1lQ29sb3JzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZUNvbG9ycykgPT4gcmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5oaWdobGlnaHRzLmFjdGl2ZUVkaXRvckxpbmVDb2xvcixcblx0XHRcdFx0KHJlbGV2YW50VGhlbWVDb2xvcnM6IENvZGVibG9ja1N0eWxlclRoZW1lQ29sb3JzLCBzYXZlQ29sb3I6IENvbG9yKSA9PiB7cmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5oaWdobGlnaHRzLmFjdGl2ZUVkaXRvckxpbmVDb2xvciA9IHNhdmVDb2xvcn0sXG5cdFx0XHRcdCgpID0+ICF0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGlnaGxpZ2h0cy5hY3RpdmVFZGl0b3JMaW5lLFxuXHRcdFx0KX0pO1xuXHRcdHRoaXMuZGlzYWJsZWFibGVDb21wb25lbnRzWydlZGl0b3JBY3RpdmVMaW5lSGlnaGxpZ2h0J10ucHVzaCh0aGlzLnBpY2tyc1snZWRpdG9yX2FjdGl2ZV9saW5lX2hpZ2hsaWdodCddLnJlc2V0QnV0dG9uKTtcblx0XHRuZXcgU2V0dGluZyhjb250YWluZXJFbClcblx0XHRcdC5zZXROYW1lKCdDb2RlYmxvY2sgQWN0aXZlIExpbmUgSGlnaGxpZ2h0Jylcblx0XHRcdC5zZXREZXNjKCdJZiBlbmFibGVkLCBoaWdobGlnaHRzIHRoZSBhY3RpdmUgbGluZSBpbnNpZGUgY29kZWJsb2Nrcy4nKVxuXHRcdFx0LnNldENsYXNzKCdjb2RlYmxvY2stc3R5bGVyLXNwYWNlZCcpXG5cdFx0XHQuYWRkVG9nZ2xlKHRvZ2dsZSA9PiB7cmV0dXJuIHRvZ2dsZVxuXHRcdFx0XHQuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmhpZ2hsaWdodHMuYWN0aXZlQ29kZWJsb2NrTGluZSlcblx0XHRcdFx0Lm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oaWdobGlnaHRzLmFjdGl2ZUNvZGVibG9ja0xpbmUgPSB2YWx1ZTsgXG5cdFx0XHRcdFx0dGhpcy5kaXNhYmxlYWJsZUNvbXBvbmVudHNbJ2NvZGVibG9ja0FjdGl2ZUxpbmVIaWdobGlnaHQnXS5mb3JFYWNoKGNvbXBvbmVudCA9PiB7Y29tcG9uZW50LnNldERpc2FibGVkKCF2YWx1ZSl9KTtcblx0XHRcdFx0XHQoYXN5bmMgKCkgPT4ge2F3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpfSkoKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9KVxuXHRcdFx0LnRoZW4oKHNldHRpbmcpID0+IHt0aGlzLmNyZWF0ZVBpY2tyKFxuXHRcdFx0XHR0aGlzLnBsdWdpbixjb250YWluZXJFbCxzZXR0aW5nLFxuXHRcdFx0XHQnY29kZWJsb2NrX2FjdGl2ZV9saW5lX2hpZ2hsaWdodCcsXG5cdFx0XHRcdChyZWxldmFudFRoZW1lQ29sb3JzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZUNvbG9ycykgPT4gcmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5oaWdobGlnaHRzLmFjdGl2ZUNvZGVibG9ja0xpbmVDb2xvcixcblx0XHRcdFx0KHJlbGV2YW50VGhlbWVDb2xvcnM6IENvZGVibG9ja1N0eWxlclRoZW1lQ29sb3JzLCBzYXZlQ29sb3I6IENvbG9yKSA9PiB7cmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5oaWdobGlnaHRzLmFjdGl2ZUNvZGVibG9ja0xpbmVDb2xvciA9IHNhdmVDb2xvcn0sXG5cdFx0XHRcdCgpID0+ICF0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGlnaGxpZ2h0cy5hY3RpdmVDb2RlYmxvY2tMaW5lLFxuXHRcdFx0KX0pO1xuXHRcdHRoaXMuZGlzYWJsZWFibGVDb21wb25lbnRzWydjb2RlYmxvY2tBY3RpdmVMaW5lSGlnaGxpZ2h0J10ucHVzaCh0aGlzLnBpY2tyc1snY29kZWJsb2NrX2FjdGl2ZV9saW5lX2hpZ2hsaWdodCddLnJlc2V0QnV0dG9uKTtcblx0XHRuZXcgU2V0dGluZyhjb250YWluZXJFbClcblx0XHRcdC5zZXROYW1lKCdEZWZhdWx0IEhpZ2hsaWdodCBDb2xvcicpXG5cdFx0XHQuc2V0RGVzYygnVXNlZCBieSB0aGUgXFwnaGxcXCcgcGFyYW1ldGVyLicpXG5cdFx0XHQudGhlbigoc2V0dGluZykgPT4ge3RoaXMuY3JlYXRlUGlja3IoXG5cdFx0XHRcdHRoaXMucGx1Z2luLGNvbnRhaW5lckVsLHNldHRpbmcsXG5cdFx0XHRcdCdkZWZhdWx0X2hpZ2hsaWdodCcsXG5cdFx0XHRcdChyZWxldmFudFRoZW1lQ29sb3JzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZUNvbG9ycykgPT4gcmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5oaWdobGlnaHRzLmRlZmF1bHRDb2xvcixcblx0XHRcdFx0KHJlbGV2YW50VGhlbWVDb2xvcnM6IENvZGVibG9ja1N0eWxlclRoZW1lQ29sb3JzLCBzYXZlQ29sb3I6IENvbG9yKSA9PiB7cmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5oaWdobGlnaHRzLmRlZmF1bHRDb2xvciA9IHNhdmVDb2xvcn0sXG5cdFx0XHQpfSk7XG5cdFx0bGV0IG5ld0hpZ2hsaWdodFRleHQ6IFRleHRDb21wb25lbnQ7XG5cdFx0bmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG5cdFx0XHQuc2V0TmFtZShcIkFkZCBBbHRlcm5hdGl2ZSBIaWdobGlnaHRcIilcblx0XHRcdC5zZXREZXNjKCdEZWZpbmUgYSBuZXcgYWx0ZXJuYXRpdmUgaGlnaGxpZ2h0IG5hbWUuIENvbG9ycyBjYW4gYmUgbW9kaWZpZWQgYWZ0ZXIgaXQgaXMgYWRkZWQuJylcblx0XHRcdC5hZGRUZXh0KHZhbHVlID0+IHtuZXdIaWdobGlnaHRUZXh0ID0gdmFsdWVcblx0XHRcdFx0LnNldFBsYWNlaG9sZGVyKCdlLmcuIGVycm9yLCB3YXJuJylcblx0XHRcdFx0Lm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLm5ld0hpZ2hsaWdodCA9IHZhbHVlO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0pXG5cdFx0XHQuYWRkQnV0dG9uKChidXR0b24pID0+IHtcblx0XHRcdFx0YnV0dG9uLnNldEJ1dHRvblRleHQoXCJBZGRcIik7XG5cdFx0XHRcdGJ1dHRvbi5vbkNsaWNrKCgpID0+IHtcblx0XHRcdFx0XHRpZiAodGhpcy5wbHVnaW4uc2V0dGluZ3MubmV3SGlnaGxpZ2h0LnRyaW0oKSA9PT0gXCJcIilcblx0XHRcdFx0XHRcdG5ldyBOb3RpY2UoXCJQbGVhc2UgZW50ZXIgYSBjb2xvciBuYW1lLlwiKTsgLy9OT1NPTkFSXG5cdFx0XHRcdFx0ZWxzZSBpZiAoIS9eW15cXGRdXFx3KiQvLnRlc3QodGhpcy5wbHVnaW4uc2V0dGluZ3MubmV3SGlnaGxpZ2h0KSlcblx0XHRcdFx0XHRcdG5ldyBOb3RpY2UoYFwiJHt0aGlzLnBsdWdpbi5zZXR0aW5ncy5uZXdIaWdobGlnaHR9XCIgaXMgbm90IGEgdmFsaWQgY29sb3IgbmFtZS5gKTsgLy9OT1NPTkFSXG5cdFx0XHRcdFx0ZWxzZSBpZiAodGhpcy5wbHVnaW4uc2V0dGluZ3MubmV3SGlnaGxpZ2h0LnRyaW0oKS50b0xvd2VyQ2FzZSgpID09PSAnaGwnKVxuXHRcdFx0XHRcdFx0bmV3IE5vdGljZShcIkNhbm5vdCBvdmVycmlkZSB0aGUgZGVmYXVsdCBoaWdobGlnaHQgcGFyYW1ldGVyLlwiKTsgLy9OT1NPTkFSXG5cdFx0XHRcdFx0ZWxzZSBpZiAoUEFSQU1FVEVSUy5pbmNsdWRlcyh0aGlzLnBsdWdpbi5zZXR0aW5ncy5uZXdIaWdobGlnaHQudHJpbSgpLnRvTG93ZXJDYXNlKCkpKVxuXHRcdFx0XHRcdFx0bmV3IE5vdGljZShcIkNhbm5vdCB1c2Ugb3RoZXIgZGVmYXVsdCBwYXJhbWV0ZXJzLlwiKTsgLy9OT1NPTkFSXG5cdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRpZiAodGhpcy5wbHVnaW4uc2V0dGluZ3MubmV3SGlnaGxpZ2h0IGluIHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5jb2xvcnMubGlnaHQuaGlnaGxpZ2h0cy5hbHRlcm5hdGl2ZUhpZ2hsaWdodHMpXG5cdFx0XHRcdFx0XHRcdG5ldyBOb3RpY2UoYEEgaGlnaGxpZ2h0IHdpdGggdGhlIG5hbWUgXCIke3RoaXMucGx1Z2luLnNldHRpbmdzLm5ld0hpZ2hsaWdodH1cIiBhbHJlYWR5IGV4aXN0cy5gKTsgLy9OT1NPTkFSXG5cdFx0XHRcdFx0XHRcdC8vdG9kbyAoQG1heXVyYW5rdikgRnV0dXJlOiBGb2N1cyBvbiBleGlzdGluZyBoaWdobGlnaHRlclxuXHRcdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IG5ld0NvbG9yID0gZ2V0UmFuZG9tQ29sb3IoKTtcblx0XHRcdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLmNvbG9ycy5saWdodC5oaWdobGlnaHRzLmFsdGVybmF0aXZlSGlnaGxpZ2h0c1t0aGlzLnBsdWdpbi5zZXR0aW5ncy5uZXdIaWdobGlnaHRdID0gbmV3Q29sb3I7XG5cdFx0XHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5jb2xvcnMuZGFyay5oaWdobGlnaHRzLmFsdGVybmF0aXZlSGlnaGxpZ2h0c1t0aGlzLnBsdWdpbi5zZXR0aW5ncy5uZXdIaWdobGlnaHRdID0gbmV3Q29sb3I7XG5cdFx0XHRcdFx0XHRcdHRoaXMudXBkYXRlQWx0ZXJuYXRpdmVIaWdobGlnaHRzKGFsdGVybmF0aXZlSGlnaGxpZ2h0c0NvbnRhaW5lcik7XG5cdFx0XHRcdFx0XHRcdG5ldyBOb3RpY2UoYEFkZGVkIGhpZ2hsaWdodCBcIiR7dGhpcy5wbHVnaW4uc2V0dGluZ3MubmV3SGlnaGxpZ2h0fVwiLmApOyAvL05PU09OQVJcblx0XHRcdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MubmV3SGlnaGxpZ2h0ID0gXCJcIjtcblx0XHRcdFx0XHRcdFx0bmV3SGlnaGxpZ2h0VGV4dC5zZXRWYWx1ZShcIlwiKTtcblx0XHRcdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH0pO1xuXHRcdGNvbnN0IGFsdGVybmF0aXZlSGlnaGxpZ2h0c0NvbnRhaW5lciA9IGNvbnRhaW5lckVsLmNyZWF0ZURpdigpO1xuXHRcdHRoaXMudXBkYXRlQWx0ZXJuYXRpdmVIaWdobGlnaHRzKGFsdGVybmF0aXZlSGlnaGxpZ2h0c0NvbnRhaW5lcik7XG5cblx0XHQvLyA9PT09PT09PT09IEFkdmFuY2VkID09PT09PT09PT1cblx0XHRjb250YWluZXJFbC5jcmVhdGVFbCgnaDMnLCB7dGV4dDogJ0FkdmFuY2VkIFNldHRpbmdzJ30pO1xuXHRcdFxuXG5cdFx0bGV0IHdyYXBMaW5lc0FjdGl2ZVRvZ2dsZTogVG9nZ2xlQ29tcG9uZW50O1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoJ1dyYXAgTGluZXMgb24gQ2xpY2snKVxuXHRcdFx0LnNldERlc2MoJ0lmIGVuYWJsZWQsIGluIHJlYWRpbmcgbW9kZSwgaG9sZGluZyBjbGljayBvbiBhIGNvZGVibG9jayB3aWxsIHdyYXAgdGhlIGxpbmVzIGZvciBiZXR0ZXIgdmlzaWJpbGl0eS4gVGhpcyBjYW4gb25seSBiZSB1c2VkIGlmIHRoZSBcIlVud3JhcCBMaW5lc1wiIHNldHRpbmcgaXMgZW5hYmxlZC4nKVxuXHRcdFx0LmFkZFRvZ2dsZSh0b2dnbGUgPT4ge3dyYXBMaW5lc0FjdGl2ZVRvZ2dsZSA9IHRvZ2dsZVxuXHRcdFx0XHQuc2V0VmFsdWUodGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmNvZGVibG9jay53cmFwTGluZXNBY3RpdmUpXG5cdFx0XHRcdC5zZXREaXNhYmxlZCghdGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmNvZGVibG9jay51bndyYXBMaW5lcylcblx0XHRcdFx0Lm9uQ2hhbmdlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5jb2RlYmxvY2sud3JhcExpbmVzQWN0aXZlID0gdmFsdWU7XG5cdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7ICAgIFxuXHRcdFx0XHR9KVxuXHRcdFx0XHR0aGlzLmRpc2FibGVhYmxlQ29tcG9uZW50c1snd3JhcExpbmVzJ10ucHVzaCh3cmFwTGluZXNBY3RpdmVUb2dnbGUpO1xuXHRcdFx0fSk7XG5cdFx0bmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG5cdFx0XHQuc2V0TmFtZSgnQnV0dG9uIENvbG9yJylcblx0XHRcdC5zZXREZXNjKCdVc2VkIGZvciBVSSBidXR0b25zIGxpa2UgdGhlIGNvcHkgY29kZSBidXR0b24uJylcblx0XHRcdC50aGVuKChzZXR0aW5nKSA9PiB7dGhpcy5jcmVhdGVQaWNrcihcblx0XHRcdFx0dGhpcy5wbHVnaW4sY29udGFpbmVyRWwsc2V0dGluZyxcblx0XHRcdFx0J2RlZmF1bHRfaGlnaGxpZ2h0Jyxcblx0XHRcdFx0KHJlbGV2YW50VGhlbWVDb2xvcnM6IENvZGVibG9ja1N0eWxlclRoZW1lQ29sb3JzKSA9PiByZWxldmFudFRoZW1lQ29sb3JzW2dldEN1cnJlbnRNb2RlKCldLmFkdmFuY2VkLmJ1dHRvbkNvbG9yLFxuXHRcdFx0XHQocmVsZXZhbnRUaGVtZUNvbG9yczogQ29kZWJsb2NrU3R5bGVyVGhlbWVDb2xvcnMsIHNhdmVDb2xvcjogQ29sb3IpID0+IHtyZWxldmFudFRoZW1lQ29sb3JzW2dldEN1cnJlbnRNb2RlKCldLmFkdmFuY2VkLmJ1dHRvbkNvbG9yID0gc2F2ZUNvbG9yfSxcblx0XHRcdCl9KTtcblx0XHRuZXcgU2V0dGluZyhjb250YWluZXJFbClcblx0XHRcdC5zZXROYW1lKCdCdXR0b24gQWN0aXZlIENvbG9yJylcblx0XHRcdC5zZXREZXNjKCdDb2xvciBidXR0b25zIHVzZSB3aGVuIGFjdGl2YXRlZC4nKVxuXHRcdFx0LnRoZW4oKHNldHRpbmcpID0+IHt0aGlzLmNyZWF0ZVBpY2tyKFxuXHRcdFx0XHR0aGlzLnBsdWdpbixjb250YWluZXJFbCxzZXR0aW5nLFxuXHRcdFx0XHQnZGVmYXVsdF9oaWdobGlnaHQnLFxuXHRcdFx0XHQocmVsZXZhbnRUaGVtZUNvbG9yczogQ29kZWJsb2NrU3R5bGVyVGhlbWVDb2xvcnMpID0+IHJlbGV2YW50VGhlbWVDb2xvcnNbZ2V0Q3VycmVudE1vZGUoKV0uYWR2YW5jZWQuYnV0dG9uQWN0aXZlQ29sb3IsXG5cdFx0XHRcdChyZWxldmFudFRoZW1lQ29sb3JzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZUNvbG9ycywgc2F2ZUNvbG9yOiBDb2xvcikgPT4ge3JlbGV2YW50VGhlbWVDb2xvcnNbZ2V0Q3VycmVudE1vZGUoKV0uYWR2YW5jZWQuYnV0dG9uQWN0aXZlQ29sb3IgPSBzYXZlQ29sb3J9LFxuXHRcdFx0KX0pO1xuXHRcdG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxuXHRcdFx0LnNldE5hbWUoJ0dyYWRpZW50IEhpZ2hsaWdodGluZycpXG5cdFx0XHQuc2V0RGVzYygnSWYgZW5hYmxlZCwgaGlnaGxpZ2h0cyBmYWRlIGF3YXkgdG8gdGhlIHJpZ2h0LiBUaGUgc2xpZGVyIHNldHMgdGhlIGdyYWRpZW50IGNvbG9yIHN0b3AgYXMgYSBwZXJjZW50YWdlLicpXG5cdFx0XHQuYWRkVG9nZ2xlKHRvZ2dsZSA9PiB0b2dnbGVcblx0XHRcdFx0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5hZHZhbmNlZC5ncmFkaWVudEhpZ2hsaWdodHMpXG5cdFx0XHRcdC5vbkNoYW5nZSgodmFsdWUpID0+IHtcblx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuYWR2YW5jZWQuZ3JhZGllbnRIaWdobGlnaHRzID0gdmFsdWU7XG5cdFx0XHRcdFx0dGhpcy5kaXNhYmxlYWJsZUNvbXBvbmVudHNbJ2dyYWRpZW50SGlnaGxpZ2h0aW5nJ10uZm9yRWFjaChjb21wb25lbnQgPT4ge2NvbXBvbmVudC5zZXREaXNhYmxlZCghdmFsdWUpfSk7XG5cdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7XG5cdFx0XHRcdH0pKVxuXHRcdFx0LnRoZW4oKHNldHRpbmcpID0+IHtcblx0XHRcdFx0bGV0IHJlc2V0dGFibGVTbGlkZXI6IFNsaWRlckNvbXBvbmVudDtcblx0XHRcdFx0c2V0dGluZy5hZGRTbGlkZXIoKHNsaWRlcikgPT4ge3Jlc2V0dGFibGVTbGlkZXIgPSBzbGlkZXJcblx0XHRcdFx0XHQuc2V0TGltaXRzKDAsMTAwLDEpXG5cdFx0XHRcdFx0LnNldFZhbHVlKCt0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuYWR2YW5jZWQuZ3JhZGllbnRIaWdobGlnaHRzQ29sb3JTdG9wLnNsaWNlKDAsLTEpKVxuXHRcdFx0XHRcdC5zZXREaXNhYmxlZCghdGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmFkdmFuY2VkLmdyYWRpZW50SGlnaGxpZ2h0cylcblx0XHRcdFx0XHQuc2V0RHluYW1pY1Rvb2x0aXAoKVxuXHRcdFx0XHRcdC5vbkNoYW5nZSgodmFsdWUpID0+IHtcblx0XHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5hZHZhbmNlZC5ncmFkaWVudEhpZ2hsaWdodHNDb2xvclN0b3AgPSBgJHt2YWx1ZX0lYDtcblx0XHRcdFx0XHRcdChhc3luYyAoKSA9PiB7YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCl9KSgpOyAgICBcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR0aGlzLmRpc2FibGVhYmxlQ29tcG9uZW50c1snZ3JhZGllbnRIaWdobGlnaHRpbmcnXS5wdXNoKHJlc2V0dGFibGVTbGlkZXIpO1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0bGV0IHJlc2V0QnV0dG9uOiBFeHRyYUJ1dHRvbkNvbXBvbmVudDtcblx0XHRcdFx0c2V0dGluZy5hZGRFeHRyYUJ1dHRvbigoYnV0dG9uKSA9PiB7cmVzZXRCdXR0b24gPSBidXR0b25cblx0XHRcdFx0XHQuc2V0SWNvbihcInJlc2V0XCIpXG5cdFx0XHRcdFx0LnNldERpc2FibGVkKCF0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuYWR2YW5jZWQuZ3JhZGllbnRIaWdobGlnaHRzKVxuXHRcdFx0XHRcdC5zZXRUb29sdGlwKCdSZXN0b3JlIGRlZmF1bHQgY29sb3Igc3RvcCcpXG5cdFx0XHRcdFx0Lm9uQ2xpY2soKCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmFkdmFuY2VkLmdyYWRpZW50SGlnaGxpZ2h0c0NvbG9yU3RvcCA9IHRoaXMucGx1Z2luLnNldHRpbmdzLnRoZW1lc1t0aGlzLnBsdWdpbi5zZXR0aW5ncy5zZWxlY3RlZFRoZW1lXS5zZXR0aW5ncy5hZHZhbmNlZC5ncmFkaWVudEhpZ2hsaWdodHNDb2xvclN0b3A7XG5cdFx0XHRcdFx0XHRyZXNldHRhYmxlU2xpZGVyLnNldFZhbHVlKCt0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuYWR2YW5jZWQuZ3JhZGllbnRIaWdobGlnaHRzQ29sb3JTdG9wLnNsaWNlKDAsLTEpKTtcblx0XHRcdFx0XHRcdChhc3luYyAoKSA9PiB7YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCl9KSgpO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdHRoaXMuZGlzYWJsZWFibGVDb21wb25lbnRzWydncmFkaWVudEhpZ2hsaWdodGluZyddLnB1c2gocmVzZXRCdXR0b24pO1xuXHRcdFx0XHR9KVxuXHRcdFx0fSlcblx0XHRuZXcgU2V0dGluZyhjb250YWluZXJFbClcblx0XHRcdC5zZXROYW1lKCdMYW5ndWFnZSBDb2xvcmVkIEJvcmRlcnMnKVxuXHRcdFx0LnNldERlc2MoJ0lmIGVuYWJsZWQsIGxhbmd1YWdlcyB3aXRoIGljb25zIGRpc3BsYXkgYSBsZWZ0IGJvcmRlciB3aXRoIHRoZSBjb2xvciBvZiB0aGUgaWNvbi4gVGhlIHNsaWRlciBzZXRzIHRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyLicpXG5cdFx0XHQuYWRkVG9nZ2xlKHRvZ2dsZSA9PiB0b2dnbGVcblx0XHRcdFx0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5hZHZhbmNlZC5sYW5ndWFnZUJvcmRlckNvbG9yKVxuXHRcdFx0XHQub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmFkdmFuY2VkLmxhbmd1YWdlQm9yZGVyQ29sb3IgPSB2YWx1ZTtcblx0XHRcdFx0XHR0aGlzLmRpc2FibGVhYmxlQ29tcG9uZW50c1snbGFuZ3VhZ2VCb3JkZXJDb2xvciddLmZvckVhY2goY29tcG9uZW50ID0+IHtjb21wb25lbnQuc2V0RGlzYWJsZWQoIXZhbHVlKX0pO1xuXHRcdFx0XHRcdChhc3luYyAoKSA9PiB7YXdhaXQgdGhpcy5wbHVnaW4uc2F2ZVNldHRpbmdzKCl9KSgpO1xuXHRcdFx0XHR9KSlcblx0XHRcdC50aGVuKChzZXR0aW5nKSA9PiB7XG5cdFx0XHRcdGxldCByZXNldHRhYmxlU2xpZGVyOiBTbGlkZXJDb21wb25lbnQ7XG5cdFx0XHRcdHNldHRpbmcuYWRkU2xpZGVyKChzbGlkZXIpID0+IHtyZXNldHRhYmxlU2xpZGVyID0gc2xpZGVyXG5cdFx0XHRcdFx0LnNldExpbWl0cygwLDIwLDEpXG5cdFx0XHRcdFx0LnNldFZhbHVlKHRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5hZHZhbmNlZC5sYW5ndWFnZUJvcmRlcldpZHRoKVxuXHRcdFx0XHRcdC5zZXREaXNhYmxlZCghdGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmFkdmFuY2VkLmxhbmd1YWdlQm9yZGVyQ29sb3IpXG5cdFx0XHRcdFx0LnNldER5bmFtaWNUb29sdGlwKClcblx0XHRcdFx0XHQub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuYWR2YW5jZWQubGFuZ3VhZ2VCb3JkZXJXaWR0aCA9IHZhbHVlO1xuXHRcdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7ICAgIFxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdHRoaXMuZGlzYWJsZWFibGVDb21wb25lbnRzWydsYW5ndWFnZUJvcmRlckNvbG9yJ10ucHVzaChyZXNldHRhYmxlU2xpZGVyKTtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGxldCByZXNldEJ1dHRvbjogRXh0cmFCdXR0b25Db21wb25lbnQ7XG5cdFx0XHRcdHNldHRpbmcuYWRkRXh0cmFCdXR0b24oKGJ1dHRvbikgPT4ge3Jlc2V0QnV0dG9uID0gYnV0dG9uXG5cdFx0XHRcdFx0LnNldEljb24oXCJyZXNldFwiKVxuXHRcdFx0XHRcdC5zZXREaXNhYmxlZCghdGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLnNldHRpbmdzLmFkdmFuY2VkLmxhbmd1YWdlQm9yZGVyQ29sb3IpXG5cdFx0XHRcdFx0LnNldFRvb2x0aXAoJ1Jlc3RvcmUgZGVmYXVsdCBjb2xvciBzdG9wJylcblx0XHRcdFx0XHQub25DbGljaygoKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuYWR2YW5jZWQubGFuZ3VhZ2VCb3JkZXJXaWR0aCA9IHRoaXMucGx1Z2luLnNldHRpbmdzLnRoZW1lc1t0aGlzLnBsdWdpbi5zZXR0aW5ncy5zZWxlY3RlZFRoZW1lXS5zZXR0aW5ncy5hZHZhbmNlZC5sYW5ndWFnZUJvcmRlcldpZHRoO1xuXHRcdFx0XHRcdFx0cmVzZXR0YWJsZVNsaWRlci5zZXRWYWx1ZSh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuYWR2YW5jZWQubGFuZ3VhZ2VCb3JkZXJXaWR0aCk7XG5cdFx0XHRcdFx0XHQoYXN5bmMgKCkgPT4ge2F3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpfSkoKTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR0aGlzLmRpc2FibGVhYmxlQ29tcG9uZW50c1snbGFuZ3VhZ2VCb3JkZXJDb2xvciddLnB1c2gocmVzZXRCdXR0b24pO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0pXG5cdFx0bmV3IFNldHRpbmcoY29udGFpbmVyRWwpXG5cdFx0XHQuc2V0TmFtZSgnUmVkaXJlY3QgTGFuZ3VhZ2UgU2V0dGluZ3MnKVxuXHRcdFx0LnNldERlc2MoJ1VzZSB0aGlzIHRleHRib3ggdG8gcmVkaXJlY3Qgc3BlY2lmaWMgbGFuZ3VhZ2UgY29sb3JzIGFuZCBpY29ucyBhcyBhIEpTT04gd2l0aCBsYW5ndWFnZSBuYW1lcyBhcyBrZXlzIGFuZCBlaXRoZXIgYSBjb2xvciBrZXksIGFuIGljb24ga2V5IG9yIGJvdGggYXMgdGhlIHZhbHVlIGZvciBhIGdpdmVuIGxhbmd1YWdlLiBDb2xvdXJzIHNob3VsZCBiZSBwYXNzZWQgYXMgQ1NTIGNvbG9ycyBhbmQgaWNvbnMgc2hvdWxkIGJlIHBhc3NlZCBhcyBhIHN0cmluZyBvZiB0aGUgaW5zaWRlIG9mIGFuIHN2ZyBlbGVtZW50LiBUaGlzIHNldHRpbmcgaXMgdGhlbWUgaW5kZXBlbmRlbnQuJylcblx0XHRcdC5zZXRDbGFzcygnY29kZWJsb2NrLXN0eWxlci1zZXR0aW5nLXRleHQtYXJlYScpXG5cdFx0XHQuYWRkVGV4dEFyZWEodGV4dEFyZWEgPT4gdGV4dEFyZWFcblx0XHRcdFx0LnNldFZhbHVlKEpTT04uc3RyaW5naWZ5KHRoaXMucGx1Z2luLnNldHRpbmdzLnJlZGlyZWN0TGFuZ3VhZ2VzKT09PSd7fSc/Jyc6SlNPTi5zdHJpbmdpZnkodGhpcy5wbHVnaW4uc2V0dGluZ3MucmVkaXJlY3RMYW5ndWFnZXMsbnVsbCw0KSlcblx0XHRcdFx0LnNldFBsYWNlaG9sZGVyKEpTT04uc3RyaW5naWZ5KHt0b21sOiB7Y29sb3I6ICcjMDEyMzQ1JywgaWNvbjogTEFOR1VBR0VfSUNPTlNfREFUQVsnQVBMJ119fSxudWxsLDQpKVxuXHRcdFx0XHQub25DaGFuZ2UoKHZhbHVlKT0+e1xuXHRcdFx0XHRcdGlmICh2YWx1ZSA9PT0gJycpIHtcblx0XHRcdFx0XHRcdHRoaXMucGx1Z2luLnNldHRpbmdzLnJlZGlyZWN0TGFuZ3VhZ2VzID0ge307XG5cdFx0XHRcdFx0XHQoYXN5bmMgKCkgPT4ge2F3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpfSkoKTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRcdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MucmVkaXJlY3RMYW5ndWFnZXMgPSBKU09OLnBhcnNlKHZhbHVlKTtcblx0XHRcdFx0XHRcdFx0T2JqZWN0LmVudHJpZXModGhpcy5wbHVnaW4uc2V0dGluZ3MucmVkaXJlY3RMYW5ndWFnZXMpLmZvckVhY2goKFtsYW5ndWFnZU5hbWUsIGxhbmd1YWdlU2V0dGluZ3NdOiBbc3RyaW5nLCB7Y29sb3I/OiBDb2xvciwgaWNvbj86IHN0cmluZ31dKT0+e1xuXHRcdFx0XHRcdFx0XHRcdGlmICgnaWNvbicgaW4gbGFuZ3VhZ2VTZXR0aW5ncykge1xuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKExBTkdVQUdFX05BTUVTW2xhbmd1YWdlTmFtZV0gaW4gdGhpcy5wbHVnaW4ubGFuZ3VhZ2VJY29ucylcblx0XHRcdFx0XHRcdFx0XHRcdFx0VVJMLnJldm9rZU9iamVjdFVSTCh0aGlzLnBsdWdpbi5sYW5ndWFnZUljb25zW0xBTkdVQUdFX05BTUVTW2xhbmd1YWdlTmFtZV1dKTtcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMucGx1Z2luLmxhbmd1YWdlSWNvbnNbTEFOR1VBR0VfTkFNRVNbbGFuZ3VhZ2VOYW1lXV0gPSBVUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPiR7bGFuZ3VhZ2VTZXR0aW5ncy5pY29ufTwvc3ZnPmBdLCB7IHR5cGU6IFwiaW1hZ2Uvc3ZnK3htbFwiIH0pKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHQoYXN5bmMgKCkgPT4ge2F3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpfSkoKTtcblx0XHRcdFx0XHRcdH0gY2F0Y2gge1xuXHRcdFx0XHRcdFx0XHRuZXcgTm90aWNlKCdJbnZhbGlkIEpTT04nKTsgLy9OT1NPTkFSXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KSk7XG5cblxuXHRcdC8vID09PT09PT09PT0gRG9uYXRpb24gPT09PT09PT09PVxuXHRcdGNvbnN0IGRvbmF0aW9uRGl2ID0gY29udGFpbmVyRWwuY3JlYXRlRWwoXCJkaXZcIiwgeyBjbHM6IFwiY29kZWJsb2NrLXN0eWxlci1kb25hdGlvblwiLCB9KTsgICAgXG5cdFx0Y29uc3QgZG9uYXRpb25UZXh0ID0gY3JlYXRlRWwoXCJwXCIsIHt0ZXh0OiBcIklmIHlvdSBsaWtlIHRoaXMgcGx1Z2luLCBhbmQgd291bGQgbGlrZSB0byBoZWxwIHN1cHBvcnQgY29udGludWVkIGRldmVsb3BtZW50LCB1c2UgdGhlIGJ1dHRvbiBiZWxvdyFcIn0pO1xuXHRcdGRvbmF0aW9uRGl2LmFwcGVuZENoaWxkKGRvbmF0aW9uVGV4dCk7XG5cdFx0Y29uc3QgZG9uYXRpb25CdXR0b24gPSBjcmVhdGVFbChcImFcIiwgeyBocmVmOiBcImh0dHBzOi8vd3d3LmJ1eW1lYWNvZmZlZS5jb20vbWF5dXJhbmt2MlwifSk7XG5cdFx0ZG9uYXRpb25CdXR0b24uaW5uZXJIVE1MID0gYDxpbWcgc3JjPVwiaHR0cHM6Ly9pbWcuYnV5bWVhY29mZmVlLmNvbS9idXR0b24tYXBpLz90ZXh0PUJ1eSBtZSBhIGNvZmZlZSZlbW9qaT0mc2x1Zz1tYXl1cmFua3YyJmJ1dHRvbl9jb2xvdXI9ZTNlN2VmYTAmZm9udF9jb2xvdXI9MjYyNjI2JmZvbnRfZmFtaWx5PUludGVyJm91dGxpbmVfY29sb3VyPTI2MjYyNiZjb2ZmZWVfY29sb3VyPWEwNTIyZFwiIGhlaWdodD1cIjQycHhcIj5gO1xuXHRcdGRvbmF0aW9uRGl2LmFwcGVuZENoaWxkKGRvbmF0aW9uQnV0dG9uKTtcblx0fVxuXG5cdC8vIFNldHRpbmcgQ3JlYXRpb25cblx0Y3JlYXRlUGlja3IocGx1Z2luOiBDb2RlYmxvY2tTdHlsZXJQbHVnaW4sIGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCwgc2V0dGluZzogU2V0dGluZywgaWQ6IHN0cmluZywgZ2V0UmVsZXZhbnRUaGVtZUNvbG9yOiAocmVsZXZhbnRUaGVtZUNvbG9yczogQ29kZWJsb2NrU3R5bGVyVGhlbWVDb2xvcnMpPT5Db2xvciwgc2F2ZVJlbGV2YW50VGhlbWVDb2xvcjogKHJlbGV2YW50VGhlbWVDb2xvcnM6IENvZGVibG9ja1N0eWxlclRoZW1lQ29sb3JzLCBzYXZlQ29sb3I6IENvbG9yKT0+dm9pZCwgZGlzYWJsZWQ/OiAoKT0+Ym9vbGVhbikge1xuXHRcdGxldCBwaWNrcjogUGlja3JSZXNldHRhYmxlID0gbmV3IFBpY2tyUmVzZXR0YWJsZShwbHVnaW4sY29udGFpbmVyRWwsc2V0dGluZyxnZXRSZWxldmFudFRoZW1lQ29sb3Isc2F2ZVJlbGV2YW50VGhlbWVDb2xvcik7XG5cdFx0cGlja3Jcblx0XHRcdC5vbignc2hvdycsIChjb2xvcjogUGlja3IuSFNWYUNvbG9yLCBpbnN0YW5jZTogUGlja3IpID0+IHtcblx0XHRcdFx0aWYgKHR5cGVvZiBkaXNhYmxlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgZGlzYWJsZWQoKSlcblx0XHRcdFx0XHRpbnN0YW5jZS5oaWRlKClcblx0XHRcdFx0cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiAoaW5zdGFuY2UuZ2V0Um9vdCgpIGFzIGFueSkuaW50ZXJhY3Rpb24ucmVzdWx0LnNlbGVjdCgpKSlcblx0XHRcdH0pXG5cdFx0XHQub24oJ3NhdmUnLCAoY29sb3I6IFBpY2tyLkhTVmFDb2xvciwgaW5zdGFuY2U6IFBpY2tyUmVzZXR0YWJsZSkgPT4ge1xuXHRcdFx0XHRjb25zdCBzYXZlZENvbG9yOiBDb2xvciA9IGAjJHtjb2xvci50b0hFWEEoKS50b1N0cmluZygpLnN1YnN0cmluZygxKX1gO1xuXHRcdFx0XHRpbnN0YW5jZS5oaWRlKCk7XG5cdFx0XHRcdGluc3RhbmNlLmFkZFN3YXRjaChzYXZlZENvbG9yKTtcblx0XHRcdFx0aW5zdGFuY2Uuc2F2ZUNvbG9yKHNhdmVkQ29sb3IpO1xuXHRcdFx0fSlcblx0XHRcdC5vbignY2FuY2VsJywgKGluc3RhbmNlOiBQaWNrclJlc2V0dGFibGUpID0+IHtpbnN0YW5jZS5oaWRlKCl9KTtcblx0XHRzZXR0aW5nLmFkZEV4dHJhQnV0dG9uKChidXR0b24pID0+IHtwaWNrci5yZXNldEJ1dHRvbiA9IGJ1dHRvblxuXHRcdFx0LnNldEljb24oXCJyZXNldFwiKVxuXHRcdFx0LnNldERpc2FibGVkKHR5cGVvZiBkaXNhYmxlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgZGlzYWJsZWQoKSlcblx0XHRcdC5zZXRUb29sdGlwKCdSZXN0b3JlIGRlZmF1bHQgY29sb3InKVxuXHRcdFx0Lm9uQ2xpY2soKCkgPT4ge3BpY2tyLnJlc2V0Q29sb3IoKX0pO1xuXHRcdH0pO1xuXHRcdHRoaXMucGlja3JzW2lkXT1waWNrcjtcblx0fVxuXHRcblx0Ly8gU2V0dGluZyBVcGRhdGVzXG5cdHVwZGF0ZURyb3Bkb3duKGRyb3Bkb3duOiBEcm9wZG93bkNvbXBvbmVudCwgc2V0dGluZ3M6IENvZGVibG9ja1N0eWxlclNldHRpbmdzKSB7XG5cdFx0ZHJvcGRvd24uc2VsZWN0RWwuZW1wdHkoKTtcblx0XHRPYmplY3Qua2V5cyhzZXR0aW5ncy50aGVtZXMpLmZvckVhY2goKHRoZW1lX25hbWU6IHN0cmluZykgPT4ge1xuXHRcdFx0ZHJvcGRvd24uYWRkT3B0aW9uKHRoZW1lX25hbWUsIHRoZW1lX25hbWUpOyAgICAgICAgICAgIFxuXHRcdH0pXG5cdFx0ZHJvcGRvd24uc2V0VmFsdWUoc2V0dGluZ3Muc2VsZWN0ZWRUaGVtZSk7XG5cdH1cblx0dXBkYXRlQWx0ZXJuYXRpdmVIaWdobGlnaHRzKGFsdGVybmF0aXZlSGlnaGxpZ2h0c0NvbnRhaW5lcjogSFRNTERpdkVsZW1lbnQpIHtcblx0XHRhbHRlcm5hdGl2ZUhpZ2hsaWdodHNDb250YWluZXIuZW1wdHkoKTtcblx0XHRPYmplY3Qua2V5cyh0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuY29sb3JzLmxpZ2h0LmhpZ2hsaWdodHMuYWx0ZXJuYXRpdmVIaWdobGlnaHRzKS5mb3JFYWNoKChhbHRlcm5hdGl2ZUhpZ2hsaWdodE5hbWUpID0+IHtcblx0XHRcdG5ldyBTZXR0aW5nKGFsdGVybmF0aXZlSGlnaGxpZ2h0c0NvbnRhaW5lcilcblx0XHRcdFx0LnNldE5hbWUoYWx0ZXJuYXRpdmVIaWdobGlnaHROYW1lKVxuXHRcdFx0XHQuc2V0RGVzYyhgVG8gaGlnaGxpZ2h0IGxpbmVzIHdpdGggdGhpcyBoaWdobGlnaHQsIHVzZSB0aGUgJHthbHRlcm5hdGl2ZUhpZ2hsaWdodE5hbWV9IHBhcmFtZXRlci5gKVxuXHRcdFx0XHQudGhlbigoc2V0dGluZykgPT4ge1xuXHRcdFx0XHRcdHRoaXMuY3JlYXRlUGlja3IoXG5cdFx0XHRcdFx0XHR0aGlzLnBsdWdpbixhbHRlcm5hdGl2ZUhpZ2hsaWdodHNDb250YWluZXIsc2V0dGluZyxcblx0XHRcdFx0XHRcdGBhbHRlcm5hdGl2ZV9oaWdobGlnaHRfJHthbHRlcm5hdGl2ZUhpZ2hsaWdodE5hbWV9YCxcblx0XHRcdFx0XHRcdChyZWxldmFudFRoZW1lQ29sb3JzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZUNvbG9ycykgPT4gYWx0ZXJuYXRpdmVIaWdobGlnaHROYW1lIGluIHJlbGV2YW50VGhlbWVDb2xvcnMubGlnaHQuaGlnaGxpZ2h0cy5hbHRlcm5hdGl2ZUhpZ2hsaWdodHM/cmVsZXZhbnRUaGVtZUNvbG9yc1tnZXRDdXJyZW50TW9kZSgpXS5oaWdobGlnaHRzLmFsdGVybmF0aXZlSGlnaGxpZ2h0c1thbHRlcm5hdGl2ZUhpZ2hsaWdodE5hbWVdOnRoaXMucGx1Z2luLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5jb2xvcnNbZ2V0Q3VycmVudE1vZGUoKV0uaGlnaGxpZ2h0cy5hbHRlcm5hdGl2ZUhpZ2hsaWdodHNbYWx0ZXJuYXRpdmVIaWdobGlnaHROYW1lXSxcblx0XHRcdFx0XHRcdChyZWxldmFudFRoZW1lQ29sb3JzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZUNvbG9ycywgc2F2ZUNvbG9yOiBDb2xvcikgPT4ge3JlbGV2YW50VGhlbWVDb2xvcnNbZ2V0Q3VycmVudE1vZGUoKV0uaGlnaGxpZ2h0cy5hbHRlcm5hdGl2ZUhpZ2hsaWdodHNbYWx0ZXJuYXRpdmVIaWdobGlnaHROYW1lXSA9IHNhdmVDb2xvcn0sXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRzZXR0aW5nLmFkZEV4dHJhQnV0dG9uKChidXR0b24pID0+IHtidXR0b25cblx0XHRcdFx0XHRcdC5zZXRJY29uKFwidHJhc2hcIilcblx0XHRcdFx0XHRcdC5zZXRUb29sdGlwKFwiRGVsZXRlIGhpZ2hsaWdodFwiKVxuXHRcdFx0XHRcdFx0Lm9uQ2xpY2soKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRkZWxldGUgdGhpcy5wbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLmNvbG9ycy5saWdodC5oaWdobGlnaHRzLmFsdGVybmF0aXZlSGlnaGxpZ2h0c1thbHRlcm5hdGl2ZUhpZ2hsaWdodE5hbWVdXG5cdFx0XHRcdFx0XHRcdGRlbGV0ZSB0aGlzLnBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuY29sb3JzLmRhcmsuaGlnaGxpZ2h0cy5hbHRlcm5hdGl2ZUhpZ2hsaWdodHNbYWx0ZXJuYXRpdmVIaWdobGlnaHROYW1lXVxuXHRcdFx0XHRcdFx0XHRuZXcgTm90aWNlKGBSZW1vdmVkIGhpZ2hsaWdodCBcIiR7YWx0ZXJuYXRpdmVIaWdobGlnaHROYW1lfVwiLmApOyAvL05PU09OQVJcblx0XHRcdFx0XHRcdFx0dGhpcy51cGRhdGVBbHRlcm5hdGl2ZUhpZ2hsaWdodHMoYWx0ZXJuYXRpdmVIaWdobGlnaHRzQ29udGFpbmVyKTtcblx0XHRcdFx0XHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MoKX0pKCk7XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cblxuY2xhc3MgUGlja3JSZXNldHRhYmxlIGV4dGVuZHMgUGlja3Ige1xuXHRzYXZlQ29sb3I6IChzYXZlQ29sb3I6IENvbG9yKT0+dm9pZDtcblx0cmVzZXRDb2xvcjogKCk9PnZvaWQ7XG5cdGdldEN1cnJlbnRDb2xvcjogKGFjY2Vzc1RoZW1lOiBib29sZWFuKT0+dm9pZDtcblx0cmVzZXRCdXR0b246IEV4dHJhQnV0dG9uQ29tcG9uZW50O1xuXG5cdGNvbnN0cnVjdG9yKHBsdWdpbjogQ29kZWJsb2NrU3R5bGVyUGx1Z2luLCBjb250YWluZXJFbDogSFRNTEVsZW1lbnQsIHNldHRpbmc6IFNldHRpbmcsIGdldFJlbGV2YW50VGhlbWVDb2xvcjogKHJlbGV2YW50VGhlbWVDb2xvcnM6IENvZGVibG9ja1N0eWxlclRoZW1lQ29sb3JzKT0+Q29sb3IsIHNhdmVSZWxldmFudFRoZW1lQ29sb3I6IChyZWxldmFudFRoZW1lQ29sb3JzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZUNvbG9ycywgc2F2ZUNvbG9yOiBDb2xvcik9PnZvaWQsIHRvb2x0aXA/OiBzdHJpbmcpIHtcblx0XHRjb25zdCBzZXR0aW5nczogUGlja3IuT3B0aW9ucyA9IHtcblx0XHRcdGVsOiBzZXR0aW5nLmNvbnRyb2xFbC5jcmVhdGVEaXYoe2NsczogXCJwaWNrZXJcIn0pLFxuXHRcdFx0dGhlbWU6ICduYW5vJyxcblx0XHRcdGRlZmF1bHQ6IGdldENvbG9yKGdldFJlbGV2YW50VGhlbWVDb2xvcihwbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLmNvbG9ycykpLFxuXHRcdFx0cG9zaXRpb246IFwibGVmdC1taWRkbGVcIixcblx0XHRcdGxvY2tPcGFjaXR5OiBmYWxzZSxcblx0XHRcdGNvbXBvbmVudHM6IHtcblx0XHRcdFx0cHJldmlldzogdHJ1ZSxcblx0XHRcdFx0aHVlOiB0cnVlLFxuXHRcdFx0XHRvcGFjaXR5OiB0cnVlLFxuXHRcdFx0XHRpbnRlcmFjdGlvbjoge1xuXHRcdFx0XHRcdGhleDogdHJ1ZSxcblx0XHRcdFx0XHRyZ2JhOiB0cnVlLFxuXHRcdFx0XHRcdGhzbGE6IGZhbHNlLFxuXHRcdFx0XHRcdGlucHV0OiB0cnVlLFxuXHRcdFx0XHRcdGNhbmNlbDogdHJ1ZSxcblx0XHRcdFx0XHRzYXZlOiB0cnVlLFxuXHRcdFx0XHR9LFxuXHRcdFx0fSxcblx0XHRcdGkxOG46IHtcblx0XHRcdFx0J3VpOmRpYWxvZyc6ICdDb2xvciBwaWNrZXIgZGlhbG9nJyxcblx0XHRcdFx0J2J0bjp0b2dnbGUnOiAodHlwZW9mIHRvb2x0aXAgIT09ICd1bmRlZmluZWQnKT90b29sdGlwOidTZWxlY3QgY29sb3InLFxuXHRcdFx0XHQnYnRuOnN3YXRjaCc6ICdDb2xvciBzd2F0Y2gnLFxuXHRcdFx0XHQnYnRuOmxhc3QtY29sb3InOiAnVXNlIHByZXZpb3VzIGNvbG9yJyxcblx0XHRcdH1cblx0XHR9O1xuXHRcdGlmIChjb250YWluZXJFbC5wYXJlbnRFbGVtZW50ICE9PSBudWxsKVxuXHRcdFx0c2V0dGluZ3MuY29udGFpbmVyID0gY29udGFpbmVyRWwucGFyZW50RWxlbWVudDtcblx0XHRzdXBlcihzZXR0aW5ncyk7XG5cdFx0dGhpcy5zYXZlQ29sb3IgPSAoc2F2ZUNvbG9yOiBDb2xvcikgPT4ge1xuXHRcdFx0c2F2ZVJlbGV2YW50VGhlbWVDb2xvcihwbHVnaW4uc2V0dGluZ3MuY3VycmVudFRoZW1lLmNvbG9ycyxzYXZlQ29sb3IpO1xuXHRcdFx0KGFzeW5jICgpID0+IHthd2FpdCBwbHVnaW4uc2F2ZVNldHRpbmdzKCl9KSgpO1xuXHRcdH07XG5cdFx0dGhpcy5yZXNldENvbG9yID0gKCkgPT4ge1xuXHRcdFx0Y29uc3QgcmVzZXRDb2xvcjogQ29sb3IgPSBnZXRSZWxldmFudFRoZW1lQ29sb3IocGx1Z2luLnNldHRpbmdzLnRoZW1lc1twbHVnaW4uc2V0dGluZ3Muc2VsZWN0ZWRUaGVtZV0uY29sb3JzKTtcblx0XHRcdHRoaXMuc2V0Q29sb3IoZ2V0Q29sb3IocmVzZXRDb2xvcikpO1xuXHRcdFx0dGhpcy5zYXZlQ29sb3IocmVzZXRDb2xvcik7XG5cdFx0fTtcblx0fVxufVxuXG4vLyBDb2xvciBNYW5hZ2VtZW50XG5mdW5jdGlvbiBnZXRSYW5kb21Db2xvcigpOiBDb2xvciB7XG5cdGNvbnN0IGxldHRlcnMgPSBcIjAxMjM0NTY3ODlBQkNERUZcIjtcblx0bGV0IGNvbG9yID0gXCJcIjtcblx0Zm9yIChsZXQgaSA9IDA7IGkgPCA2OyBpKyspXG5cdFx0Y29sb3IgKz0gbGV0dGVyc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxNildO1xuXHRyZXR1cm4gYCMke2NvbG9yfUZGYDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0Nzcyhwb3NzaWJsZUNzczogc3RyaW5nKTogcG9zc2libGVDc3MgaXMgQ1NTIHtcblx0cmV0dXJuIHBvc3NpYmxlQ3NzLnN0YXJ0c1dpdGgoJy0tJykgJiYgdHlwZW9mIHBvc3NpYmxlQ3NzID09PSAnc3RyaW5nJztcbn1cbmZ1bmN0aW9uIGNhbGMoY2FsY1N0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcblx0Y29uc3Qgc3BsaXRTdHJpbmcgPSBjYWxjU3RyaW5nLnJlcGxhY2UoLyhcXGQqKSUvZywnJDEnKS5zcGxpdCgnICcpO1xuXHRjb25zdCBvcGVyYXRvcnM6IHtba2V5OiBzdHJpbmddOiAobnVtMTpudW1iZXIsIG51bTI6bnVtYmVyKSA9PiBudW1iZXJ9ID0ge1xuXHRcdCcrJzogKG51bTE6bnVtYmVyLCBudW0yOm51bWJlcik6bnVtYmVyID0+IE1hdGgubWF4KG51bTErbnVtMiwwKSxcblx0XHQnLSc6IChudW0xOm51bWJlciAsbnVtMjpudW1iZXIpOm51bWJlciA9PiBNYXRoLm1heChudW0xLW51bTIsMCksXG5cdH1cblx0aWYgKHNwbGl0U3RyaW5nLmxlbmd0aCA9PT0gMylcblx0XHRpZiAoc3BsaXRTdHJpbmdbMV0gaW4gb3BlcmF0b3JzKVxuXHRcdFx0cmV0dXJuIGAke29wZXJhdG9yc1tzcGxpdFN0cmluZ1sxXV0ocGFyc2VGbG9hdChzcGxpdFN0cmluZ1swXSkscGFyc2VGbG9hdChzcGxpdFN0cmluZ1syXSkpfSVgXG5cdFxuXHRjb25zb2xlLndhcm4oJ1dhcm5pbmc6IENvdWxkblxcJ3QgcGFyc2UgY2FsYyBzdHJpbmcnKTtcblx0cmV0dXJuIGNhbGNTdHJpbmc7XG59XG5mdW5jdGlvbiBnZXRDc3NWYXJpYWJsZShjc3NWYXJpYWJsZTogQ1NTKTogSEVYIHtcblx0bGV0IHZhcmlhYmxlVmFsdWUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eVZhbHVlKGNzc1ZhcmlhYmxlKS50cmltKCk7XG5cdGlmICh0eXBlb2YgdmFyaWFibGVWYWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiB2YXJpYWJsZVZhbHVlLnRyaW0oKS5zdGFydHNXaXRoKCcjJykpXG5cdFx0cmV0dXJuIGAjJHt2YXJpYWJsZVZhbHVlLnRyaW0oKS5zdWJzdHJpbmcoMSl9YDtcblx0ZWxzZSBpZiAodmFyaWFibGVWYWx1ZS5zdGFydHNXaXRoKCdyZ2InKSlcblx0XHRyZXR1cm4gYCMke0NvbG9yVHJhbnNsYXRvci50b0hFWEEodmFyaWFibGVWYWx1ZS5yZXBsYWNlKC9jYWxjXFwoKC4qPylcXCkvZywobWF0Y2gsY2FwdHVyZSk9PmNhbGMoY2FwdHVyZSkpKS5zdWJzdHJpbmcoMSl9YDtcblx0ZWxzZSBpZiAodmFyaWFibGVWYWx1ZS5zdGFydHNXaXRoKCdoc2wnKSlcblx0XHRyZXR1cm4gYCMke0NvbG9yVHJhbnNsYXRvci50b0hFWEEodmFyaWFibGVWYWx1ZS5yZXBsYWNlKC9jYWxjXFwoKC4qPylcXCkvZywobWF0Y2gsY2FwdHVyZSk9PmNhbGMoY2FwdHVyZSkpKS5zdWJzdHJpbmcoMSl9YDtcblx0ZWxzZVxuXHRcdGNvbnNvbGUud2FybihgV2FybmluZzogQ291bGRuJ3QgZGV0ZXJtaW5lIGNvbG9yIGZvcm1hdCAtICR7dmFyaWFibGVWYWx1ZX1gKTtcblx0cmV0dXJuIGAjJHtDb2xvclRyYW5zbGF0b3IudG9IRVhBKHZhcmlhYmxlVmFsdWUpLnN1YnN0cmluZygxKX1gO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbG9yKHRoZW1lQ29sb3I6IENvbG9yKTogQ29sb3Ige1xuXHRyZXR1cm4gaXNDc3ModGhlbWVDb2xvcik/Z2V0Q3NzVmFyaWFibGUodGhlbWVDb2xvcik6dGhlbWVDb2xvcjs7XG59XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnRNb2RlKCkge1xuXHRjb25zdCBib2R5ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYm9keScpO1xuXHRpZiAoYm9keSAhPT0gbnVsbCl7XG5cdFx0aWYgKGJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCd0aGVtZS1saWdodCcpKVxuXHRcdFx0cmV0dXJuIFwibGlnaHRcIjtcblx0XHRlbHNlIGlmIChib2R5LmNsYXNzTGlzdC5jb250YWlucygndGhlbWUtZGFyaycpKVxuXHRcdFx0cmV0dXJuIFwiZGFya1wiO1xuXHR9XG5cdGNvbnNvbGUud2FybignV2FybmluZzogQ291bGRuXFwndCBnZXQgY3VycmVudCB0aGVtZScpO1xuXHRyZXR1cm4gXCJsaWdodFwiO1xufVxuIiwgInZhciB0PWZ1bmN0aW9uKCl7cmV0dXJuIHQ9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9MSxuPWFyZ3VtZW50cy5sZW5ndGg7cjxuO3IrKylmb3IodmFyIGkgaW4gZT1hcmd1bWVudHNbcl0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkmJih0W2ldPWVbaV0pO3JldHVybiB0fSx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX07ZnVuY3Rpb24gZSh0LGUscil7aWYocnx8Mj09PWFyZ3VtZW50cy5sZW5ndGgpZm9yKHZhciBuLGk9MCxvPWUubGVuZ3RoO2k8bztpKyspIW4mJmkgaW4gZXx8KG58fChuPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUsMCxpKSksbltpXT1lW2ldKTtyZXR1cm4gdC5jb25jYXQobnx8QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZSkpfXZhciByLG4saSxvOyFmdW5jdGlvbih0KXt0LkhFWD1cIkhFWFwiLHQuUkdCPVwiUkdCXCIsdC5IU0w9XCJIU0xcIix0LkNNWUs9XCJDTVlLXCJ9KHJ8fChyPXt9KSksZnVuY3Rpb24odCl7dC5BTkFMT0dPVVM9XCJBTkFMT0dPVVNcIix0LkNPTVBMRU1FTlRBUlk9XCJDT01QTEVNRU5UQVJZXCIsdC5TUExJVF9DT01QTEVNRU5UQVJZPVwiU1BMSVRfQ09NUExFTUVOVEFSWVwiLHQuVFJJQURJQz1cIlRSSUFESUNcIix0LlRFVFJBRElDPVwiVEVUUkFESUNcIix0LlNRVUFSRT1cIlNRVUFSRVwifShufHwobj17fSkpLGZ1bmN0aW9uKHQpe3QuQURESVRJVkU9XCJBRERJVElWRVwiLHQuU1VCVFJBQ1RJVkU9XCJTVUJUUkFDVElWRVwifShpfHwoaT17fSkpLGZ1bmN0aW9uKHQpe3QuYmxhY2s9XCIjMDAwMDAwXCIsdC5zaWx2ZXI9XCIjQzBDMEMwXCIsdC5ncmF5PVwiIzgwODA4MFwiLHQud2hpdGU9XCIjRkZGRkZGXCIsdC5tYXJvb249XCIjODAwMDAwXCIsdC5yZWQ9XCIjRkYwMDAwXCIsdC5wdXJwbGU9XCIjODAwMDgwXCIsdC5mdWNoc2lhPVwiI0ZGMDBGRlwiLHQuZ3JlZW49XCIjMDA4MDAwXCIsdC5saW1lPVwiIzAwRkYwMFwiLHQub2xpdmU9XCIjODA4MDAwXCIsdC55ZWxsb3c9XCIjRkZGRjAwXCIsdC5uYXZ5PVwiIzAwMDA4MFwiLHQuYmx1ZT1cIiMwMDAwRkZcIix0LnRlYWw9XCIjMDA4MDgwXCIsdC5hcXVhPVwiIzAwRkZGRlwiLHQub3JhbmdlPVwiI0ZGQTUwMFwiLHQuYWxpY2VibHVlPVwiI0YwRjhGRlwiLHQuYW50aXF1ZXdoaXRlPVwiI0ZBRUJEN1wiLHQuYXF1YW1hcmluZT1cIiM3RkZGRDRcIix0LmF6dXJlPVwiI0YwRkZGRlwiLHQuYmVpZ2U9XCIjRjVGNURDXCIsdC5iaXNxdWU9XCIjRkZFNEM0XCIsdC5ibGFuY2hlZGFsbW9uZD1cIiNGRkVCQ0RcIix0LmJsdWV2aW9sZXQ9XCIjOEEyQkUyXCIsdC5icm93bj1cIiNBNTJBMkFcIix0LmJ1cmx5d29vZD1cIiNERUI4ODdcIix0LmNhZGV0Ymx1ZT1cIiM1RjlFQTBcIix0LmNoYXJ0cmV1c2U9XCIjN0ZGRjAwXCIsdC5jaG9jb2xhdGU9XCIjRDI2OTFFXCIsdC5jb3JhbD1cIiNGRjdGNTBcIix0LmNvcm5mbG93ZXJibHVlPVwiIzY0OTVFRFwiLHQuY29ybnNpbGs9XCIjRkZGOERDXCIsdC5jcmltc29uPVwiI0RDMTQzQ1wiLHQuY3lhbj1cIiMwMEZGRkZcIix0LmRhcmtibHVlPVwiIzAwMDA4QlwiLHQuZGFya2N5YW49XCIjMDA4QjhCXCIsdC5kYXJrZ29sZGVucm9kPVwiI0I4ODYwQlwiLHQuZGFya2dyYXk9XCIjQTlBOUE5XCIsdC5kYXJrZ3JlZW49XCIjMDA2NDAwXCIsdC5kYXJrZ3JleT1cIiNBOUE5QTlcIix0LmRhcmtraGFraT1cIiNCREI3NkJcIix0LmRhcmttYWdlbnRhPVwiIzhCMDA4QlwiLHQuZGFya29saXZlZ3JlZW49XCIjNTU2QjJGXCIsdC5kYXJrb3JhbmdlPVwiI0ZGOEMwMFwiLHQuZGFya29yY2hpZD1cIiM5OTMyQ0NcIix0LmRhcmtyZWQ9XCIjOEIwMDAwXCIsdC5kYXJrc2FsbW9uPVwiI0U5OTY3QVwiLHQuZGFya3NlYWdyZWVuPVwiIzhGQkM4RlwiLHQuZGFya3NsYXRlYmx1ZT1cIiM0ODNEOEJcIix0LmRhcmtzbGF0ZWdyYXk9XCIjMkY0RjRGXCIsdC5kYXJrc2xhdGVncmV5PVwiIzJGNEY0RlwiLHQuZGFya3R1cnF1b2lzZT1cIiMwMENFRDFcIix0LmRhcmt2aW9sZXQ9XCIjOTQwMEQzXCIsdC5kZWVwcGluaz1cIiNGRjE0OTNcIix0LmRlZXBza3libHVlPVwiIzAwQkZGRlwiLHQuZGltZ3JheT1cIiM2OTY5NjlcIix0LmRpbWdyZXk9XCIjNjk2OTY5XCIsdC5kb2RnZXJibHVlPVwiIzFFOTBGRlwiLHQuZmlyZWJyaWNrPVwiI0IyMjIyMlwiLHQuZmxvcmFsd2hpdGU9XCIjRkZGQUYwXCIsdC5mb3Jlc3RncmVlbj1cIiMyMjhCMjJcIix0LmdhaW5zYm9ybz1cIiNEQ0RDRENcIix0Lmdob3N0d2hpdGU9XCIjRjhGOEZGXCIsdC5nb2xkPVwiI0ZGRDcwMFwiLHQuZ29sZGVucm9kPVwiI0RBQTUyMFwiLHQuZ3JlZW55ZWxsb3c9XCIjQURGRjJGXCIsdC5ncmV5PVwiIzgwODA4MFwiLHQuaG9uZXlkZXc9XCIjRjBGRkYwXCIsdC5ob3RwaW5rPVwiI0ZGNjlCNFwiLHQuaW5kaWFucmVkPVwiI0NENUM1Q1wiLHQuaW5kaWdvPVwiIzRCMDA4MlwiLHQuaXZvcnk9XCIjRkZGRkYwXCIsdC5raGFraT1cIiNGMEU2OENcIix0LmxhdmVuZGVyPVwiI0U2RTZGQVwiLHQubGF2ZW5kZXJibHVzaD1cIiNGRkYwRjVcIix0Lmxhd25ncmVlbj1cIiM3Q0ZDMDBcIix0LmxlbW9uY2hpZmZvbj1cIiNGRkZBQ0RcIix0LmxpZ2h0Ymx1ZT1cIiNBREQ4RTZcIix0LmxpZ2h0Y29yYWw9XCIjRjA4MDgwXCIsdC5saWdodGN5YW49XCIjRTBGRkZGXCIsdC5saWdodGdvbGRlbnJvZHllbGxvdz1cIiNGQUZBRDJcIix0LmxpZ2h0Z3JheT1cIiNEM0QzRDNcIix0LmxpZ2h0Z3JlZW49XCIjOTBFRTkwXCIsdC5saWdodGdyZXk9XCIjRDNEM0QzXCIsdC5saWdodHBpbms9XCIjRkZCNkMxXCIsdC5saWdodHNhbG1vbj1cIiNGRkEwN0FcIix0LmxpZ2h0c2VhZ3JlZW49XCIjMjBCMkFBXCIsdC5saWdodHNreWJsdWU9XCIjODdDRUZBXCIsdC5saWdodHNsYXRlZ3JheT1cIiM3Nzg4OTlcIix0LmxpZ2h0c2xhdGVncmV5PVwiIzc3ODg5OVwiLHQubGlnaHRzdGVlbGJsdWU9XCIjQjBDNERFXCIsdC5saWdodHllbGxvdz1cIiNGRkZGRTBcIix0LmxpbWVncmVlbj1cIiMzMkNEMzJcIix0LmxpbmVuPVwiI0ZBRjBFNlwiLHQubWFnZW50YT1cIiNGRjAwRkZcIix0Lm1lZGl1bWFxdWFtYXJpbmU9XCIjNjZDREFBXCIsdC5tZWRpdW1ibHVlPVwiIzAwMDBDRFwiLHQubWVkaXVtb3JjaGlkPVwiI0JBNTVEM1wiLHQubWVkaXVtcHVycGxlPVwiIzkzNzBEQlwiLHQubWVkaXVtc2VhZ3JlZW49XCIjM0NCMzcxXCIsdC5tZWRpdW1zbGF0ZWJsdWU9XCIjN0I2OEVFXCIsdC5tZWRpdW1zcHJpbmdncmVlbj1cIiMwMEZBOUFcIix0Lm1lZGl1bXR1cnF1b2lzZT1cIiM0OEQxQ0NcIix0Lm1lZGl1bXZpb2xldHJlZD1cIiNDNzE1ODVcIix0Lm1pZG5pZ2h0Ymx1ZT1cIiMxOTE5NzBcIix0Lm1pbnRjcmVhbT1cIiNGNUZGRkFcIix0Lm1pc3R5cm9zZT1cIiNGRkU0RTFcIix0Lm1vY2Nhc2luPVwiI0ZGRTRCNVwiLHQubmF2YWpvd2hpdGU9XCIjRkZERUFEXCIsdC5vbGRsYWNlPVwiI0ZERjVFNlwiLHQub2xpdmVkcmFiPVwiIzZCOEUyM1wiLHQub3JhbmdlcmVkPVwiI0ZGNDUwMFwiLHQub3JjaGlkPVwiI0RBNzBENlwiLHQucGFsZWdvbGRlbnJvZD1cIiNFRUU4QUFcIix0LnBhbGVncmVlbj1cIiM5OEZCOThcIix0LnBhbGV0dXJxdW9pc2U9XCIjQUZFRUVFXCIsdC5wYWxldmlvbGV0cmVkPVwiI0RCNzA5M1wiLHQucGFwYXlhd2hpcD1cIiNGRkVGRDVcIix0LnBlYWNocHVmZj1cIiNGRkRBQjlcIix0LnBlcnU9XCIjQ0Q4NTNGXCIsdC5waW5rPVwiI0ZGQzBDQlwiLHQucGx1bT1cIiNEREEwRERcIix0LnBvd2RlcmJsdWU9XCIjQjBFMEU2XCIsdC5yb3N5YnJvd249XCIjQkM4RjhGXCIsdC5yb3lhbGJsdWU9XCIjNDE2OUUxXCIsdC5zYWRkbGVicm93bj1cIiM4QjQ1MTNcIix0LnNhbG1vbj1cIiNGQTgwNzJcIix0LnNhbmR5YnJvd249XCIjRjRBNDYwXCIsdC5zZWFncmVlbj1cIiMyRThCNTdcIix0LnNlYXNoZWxsPVwiI0ZGRjVFRVwiLHQuc2llbm5hPVwiI0EwNTIyRFwiLHQuc2t5Ymx1ZT1cIiM4N0NFRUJcIix0LnNsYXRlYmx1ZT1cIiM2QTVBQ0RcIix0LnNsYXRlZ3JheT1cIiM3MDgwOTBcIix0LnNsYXRlZ3JleT1cIiM3MDgwOTBcIix0LnNub3c9XCIjRkZGQUZBXCIsdC5zcHJpbmdncmVlbj1cIiMwMEZGN0ZcIix0LnN0ZWVsYmx1ZT1cIiM0NjgyQjRcIix0LnRhbj1cIiNEMkI0OENcIix0LnRoaXN0bGU9XCIjRDhCRkQ4XCIsdC50b21hdG89XCIjRkY2MzQ3XCIsdC50dXJxdW9pc2U9XCIjNDBFMEQwXCIsdC52aW9sZXQ9XCIjRUU4MkVFXCIsdC53aGVhdD1cIiNGNURFQjNcIix0LndoaXRlc21va2U9XCIjRjVGNUY1XCIsdC55ZWxsb3dncmVlbj1cIiM5QUNEMzJcIix0LnJlYmVjY2FwdXJwbGU9XCIjNjYzMzk5XCJ9KG98fChvPXt9KSk7dmFyIGEsdSxjLHMsZCxoLGwsZj1PYmplY3Qua2V5cyhvKSxnPXtIRVg6W1wiclwiLFwiZ1wiLFwiYlwiLFwiYVwiXSxSR0I6W1wiclwiLFwiZ1wiLFwiYlwiLFwiYVwiXSxIU0w6W1wiaFwiLFwic1wiLFwibFwiLFwiYVwiXSxDTVlLOltcImNcIixcIm1cIixcInlcIixcImtcIixcImFcIl19LHA9e0JHUjpyLlJHQixBQkdSOnIuUkdCLEhMUzpyLkhTTCxBSExTOnIuSFNMLENLTVk6ci5DTVlLLEFDS01ZOnIuQ01ZS30sYj0oKGE9e30pW3IuSEVYXT0vXiMoPzooW2EtZlxcZF0pKFthLWZcXGRdKShbYS1mXFxkXSkoW2EtZlxcZF0pP3woW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pPykkL2ksYVtyLlJHQl09L15yZ2JhP1xccypcXChcXHMqKD86KCg/OlxcZCpcXC4pP1xcZCslPylcXHMqLFxccyooKD86XFxkKlxcLik/XFxkKyU/KVxccyosXFxzKigoPzpcXGQqXFwuKT9cXGQrJT8pKD86XFxzKixcXHMqKCg/OlxcZCpcXC4pP1xcZCspKT98KCg/OlxcZCpcXC4pP1xcZCslPylcXHMqKCg/OlxcZCpcXC4pP1xcZCslPylcXHMqKCg/OlxcZCpcXC4pP1xcZCslPykoPzpcXHMqXFwvXFxzKigoPzpcXGQqXFwuKT9cXGQrJT8pKT8pXFxzKlxcKSQvLGFbci5IU0xdPS9eaHNsYT9cXHMqXFwoXFxzKig/OigtPyg/OlxcZCpcXC4pP1xcZCsoPzpkZWd8Z3JhZHxyYWR8dHVybik/KVxccyosXFxzKigoPzpcXGQqXFwuKT9cXGQrKSVcXHMqLFxccyooKD86XFxkKlxcLik/XFxkKyklKD86XFxzKixcXHMqKCg/OlxcZCpcXC4pP1xcZCspKT98KC0/KD86XFxkKlxcLik/XFxkKyg/OmRlZ3xncmFkfHJhZHx0dXJuKT8pXFxzKigoPzpcXGQqXFwuKT9cXGQrKSVcXHMqKCg/OlxcZCpcXC4pP1xcZCspJSg/OlxccypcXC9cXHMqKCg/OlxcZCpcXC4pP1xcZCslPykpPylcXHMqXFwpJC8sYVtyLkNNWUtdPS9eKD86ZGV2aWNlLWNteWt8Y215aylcXHMqXFwoXFxzKig/OigoPzpcXGQqXFwuKT9cXGQrJT8pXFxzKixcXHMqKCg/OlxcZCpcXC4pP1xcZCslPylcXHMqLFxccyooKD86XFxkKlxcLik/XFxkKyU/KVxccyosXFxzKigoPzpcXGQqXFwuKT9cXGQrJT8pKD86XFxzKixcXHMqKCg/OlxcZCpcXC4pP1xcZCspKT98KCg/OlxcZCpcXC4pP1xcZCslPylcXHMqKCg/OlxcZCpcXC4pP1xcZCslPylcXHMqKCg/OlxcZCpcXC4pP1xcZCslPylcXHMqKCg/OlxcZCpcXC4pP1xcZCslPykoPzpcXHMqXFwvXFxzKigoPzpcXGQqXFwuKT9cXGQrJT8pKT8pXFxzKlxcKSQvLGEpLEY9L14oLT8oPzpcXGQqXFwuKT9cXGQrKSgoPzpkZWd8Z3JhZHxyYWR8dHVybik/KSQvLG09L14oXFxkKyg/OlxcLlxcZCspP3xcXC5cXGQrKSUkLyx5PS9eMHgoW2EtZlxcZF17MSwyfSkkL2ksQT0vXFx7KFxcZCspXFx9L2csRT1cIlRoZSBwcm92aWRlZCBzdHJpbmcgY29sb3IgZG9lc24ndCBoYXZlIGEgY29ycmVjdCBmb3JtYXRcIix2PVwiVGhlIHByb3ZpZGVkIGNvbG9yIG9iamVjdCBkb2Vzbid0IGhhdmUgdGhlIHByb3BlciBrZXlzIG9yIGZvcm1hdFwiLEg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSl9LEI9ZnVuY3Rpb24odCl7cmV0dXJuK1wiXCIuY29uY2F0KHQpLnJlcGxhY2UobSxcIiQxXCIpfSxDPWZ1bmN0aW9uKHQpe3JldHVybiBtLnRlc3QoXCJcIi5jb25jYXQodCkpP0IodCk6TWF0aC5taW4oK3QsMTAwKX0sTT1mdW5jdGlvbih0KXtyZXR1cm4gMT09PXQubGVuZ3RoJiYodCs9dCkscGFyc2VJbnQodCwxNil9LFI9ZnVuY3Rpb24odCl7dmFyIGU9Ryh0LDApLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO3JldHVybiAxPT09ZS5sZW5ndGg/XCIweDBcIi5jb25jYXQoZSk6XCIweFwiLmNvbmNhdChlKX0sRD1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT0hMSksIWUmJm0udGVzdCh0KT9NYXRoLm1pbigyNTUqQih0KS8xMDAsMjU1KTp5LnRlc3QodCk/KDM9PT10Lmxlbmd0aCYmKHQrPXQuc2xpY2UoLTEpKSxlP0codCkvMjU1OkcodCkpOk1hdGgubWluKCt0LGU/MToyNTUpfSxTPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLm1pbihtLnRlc3QodCk/Qih0KS8xMDA6K3QsMSl9LEw9ZnVuY3Rpb24odCl7cmV0dXJuIGUoW10sdCwhMCkuc29ydCgpLmpvaW4oXCJcIikudG9VcHBlckNhc2UoKX0sRz1mdW5jdGlvbih0LGUpe3ZvaWQgMD09PWUmJihlPTYpO3ZhciByPU1hdGgucG93KDEwLGUpO3JldHVybiBNYXRoLnJvdW5kKCt0KnIpL3J9LGs9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBNYXRoLm1heChlLE1hdGgubWluKHQscikpfSxPPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gcjwwJiYocis9Nikscj49NiYmKHItPTYpLEcocjwxPzI1NSooKGUtdCkqcit0KTpyPDM/MjU1KmU6cjw0PzI1NSooKGUtdCkqKDQtcikrdCk6MjU1KnQpfSxYPWZ1bmN0aW9uKHQsZSxyKXtlLz0xMDA7dmFyIG49KHIvPTEwMCk8PS41P3IqKGUrMSk6citlLXIqZSxpPTIqci1uO3JldHVybntyOk8oaSxuLCh0Lz02MCkrMiksZzpPKGksbix0KSxiOk8oaSxuLHQtMil9fSxZPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybntyOkcoMjU1KigxLXQpKihuPTEtbikpLGc6RygyNTUqKDEtZSkqbiksYjpHKDI1NSooMS1yKSpuKX19LGo9ZnVuY3Rpb24odCxlLHIpe3QvPTI1NSxlLz0yNTUsci89MjU1O3ZhciBuPTEtTWF0aC5tYXgodCxlLHIpLGk9MS1uLG89aSYmKGktZSkvaSxhPWkmJihpLXIpL2k7cmV0dXJue2M6RygxMDAqKGkmJihpLXQpL2kpKSxtOkcoMTAwKm8pLHk6RygxMDAqYSksazpHKDEwMCpuKX19LEs9ZnVuY3Rpb24odCxlLHIsbil7dm9pZCAwPT09biYmKG49MSksdC89MjU1LGUvPTI1NSxyLz0yNTUsbj1NYXRoLm1pbihuLDEpO3ZhciBpPU1hdGgubWF4KHQsZSxyKSxvPU1hdGgubWluKHQsZSxyKSxhPWktbyx1PTAsYz0wLHM9KGkrbykvMjtpZigwIT09YSl7c3dpdGNoKGkpe2Nhc2UgdDp1PShlLXIpL2ElNjticmVhaztjYXNlIGU6dT0oci10KS9hKzI7YnJlYWs7Y2FzZSByOnU9KHQtZSkvYSs0fSh1PUcoNjAqdSkpPDAmJih1Kz0zNjApLGM9YS8oMS1NYXRoLmFicygyKnMtMSkpfXJldHVybntoOnUsczpHKDEwMCpjKSxsOkcoMTAwKnMpLGE6bn19LEk9ZnVuY3Rpb24odCxlKXtpZih0PDAmJih0Kz0zNjApLHQ+MzYwJiYodC09MzYwKSwzNjA9PT10fHwwPT09dClyZXR1cm4gdDt2YXIgcj1bWzAsMTIwXSxbMTIwLDE4MF0sWzE4MCwyNDBdLFsyNDAsMzYwXV0sbj1bWzAsNjBdLFs2MCwxMjBdLFsxMjAsMjQwXSxbMjQwLDM2MF1dLGk9ZT9uOnIsbz0wLGE9MCx1PTAsYz0wO3JldHVybihlP3I6bikuZmluZCgoZnVuY3Rpb24oZSxyKXtyZXR1cm4gdD49ZVswXSYmdDxlWzFdJiYobz1lWzBdLGE9ZVsxXSx1PWlbcl1bMF0sYz1pW3JdWzFdLCEwKX0pKSx1KyhjLXUpLyhhLW8pKih0LW8pfSxQPWZ1bmN0aW9uKHQsZSl7dm9pZCAwPT09ZSYmKGU9ITEpO3ZhciByPUwoT2JqZWN0LmtleXModCkpO3JldHVybiBnW3Bbcl1dLnJlZHVjZSgoZnVuY3Rpb24ocixuKXt2YXIgaSxvLGE9dFtuXTtyZXR1cm4gdm9pZCAwIT09YSYmKGU/ci5wdXNoKChpPUcoYSwwKSwxPT09KG89RyhpLDApLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpKS5sZW5ndGgmJihvPVwiMFwiLmNvbmNhdChvKSksbykpOnIucHVzaChhKSkscn0pLFtdKX0sVD1mdW5jdGlvbih0LGUpe3JldHVybiB0LnJlcGxhY2UoQSwoZnVuY3Rpb24odCxyKXtyZXR1cm5cIlwiLmNvbmNhdChlWytyLTFdKX0pKX0sdz0oKHU9e30pW3IuSEVYXT1mdW5jdGlvbih0KXt2YXIgZT1QKHQsITApLHI9ND09PWUubGVuZ3RoP1wiI3sxfXsyfXszfXs0fVwiOlwiI3sxfXsyfXszfVwiO3JldHVybiBUKHIsZSl9LHVbci5SR0JdPWZ1bmN0aW9uKHQpe3ZhciBlPVAodCkscj00PT09ZS5sZW5ndGg/XCJyZ2JhKHsxfSx7Mn0sezN9LHs0fSlcIjpcInJnYih7MX0sezJ9LHszfSlcIjtyZXR1cm4gVChyLGUpfSx1W3IuSFNMXT1mdW5jdGlvbih0KXt2YXIgZT1QKHQpLHI9ND09PWUubGVuZ3RoP1wiaHNsYSh7MX0sezJ9JSx7M30lLHs0fSlcIjpcImhzbCh7MX0sezJ9JSx7M30lKVwiO3JldHVybiBUKHIsZSl9LHVbci5DTVlLXT1mdW5jdGlvbih0KXt2YXIgZT1QKHQpLHI9NT09PWUubGVuZ3RoP1wiY215ayh7MX0lLHsyfSUsezN9JSx7NH0lLHs1fSlcIjpcImNteWsoezF9JSx7Mn0lLHszfSUsezR9JSlcIjtyZXR1cm4gVChyLGUpfSx1KSx4PWZ1bmN0aW9uKHQpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiB0KXt2YXIgZT10Lm1hdGNoKEYpLHI9K2VbMV07c3dpdGNoKGVbMl0pe2Nhc2VcInJhZFwiOnQ9RygxODAqci9NYXRoLlBJKTticmVhaztjYXNlXCJ0dXJuXCI6dD1HKDM2MCpyKTticmVhaztkZWZhdWx0OnQ9cn19cmV0dXJuKHQ+MzYwfHx0PDApJiYodC09MzYwKk1hdGguZmxvb3IodC8zNjApKSx0fSxOPWZ1bmN0aW9uKHQpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiB0JiYodD1tLnRlc3QodCk/Qih0KS8xMDA6K3QpLGlzTmFOKCt0KXx8dD4xPzE6Ryh0KX0sVj1mdW5jdGlvbihyLG4sbyl7cmV0dXJuIG4ucmVkdWNlKChmdW5jdGlvbihuLGEpe3JldHVybiBlKGUoW10sbiwhMCksW3QodCh7fSxyKSx7aDpvPT09aS5BRERJVElWRT94KHIuaCthKTp4KEkoSShyLmgsITEpK2EsITApKX0pXSwhMSl9KSxbdCh7fSxyKV0pfSxVPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFYodCxbMzAsLTMwXSxlKX0scT1mdW5jdGlvbih0LGUpe3JldHVybiBWKHQsWzE4MF0sZSl9LCQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gVih0LFsxNTAsLTE1MF0sZSl9LF89ZnVuY3Rpb24odCxlKXtyZXR1cm4gVih0LFsxMjAsLTEyMF0sZSl9LFE9ZnVuY3Rpb24odCxlKXtyZXR1cm4gVih0LFs2MCwtMTIwLDE4MF0sZSl9LHo9ZnVuY3Rpb24odCxlKXtyZXR1cm4gVih0LFs5MCwtOTAsMTgwXSxlKX0sSj1mdW5jdGlvbih0KXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgdD9mdW5jdGlvbih0KXt2YXIgZTtpZihPYmplY3Qua2V5cyhyKS5zb21lKChmdW5jdGlvbihyKXtpZihiW3JdLnRlc3QodCkpcmV0dXJuIGU9ciwhMH0pKSwhZSYmfmYuaW5kZXhPZih0KSYmKGU9ci5IRVgpLCFlKXRocm93IG5ldyBFcnJvcihFKTtyZXR1cm4gZX0odCk6ZnVuY3Rpb24odCl7dmFyIGUsbj0hMSxpPUwoT2JqZWN0LmtleXModCkpO2lmKHBbaV0mJihlPXBbaV0pLGUmJmU9PT1yLlJHQil7dmFyIG89T2JqZWN0LmVudHJpZXModCkuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIXkudGVzdChcIlwiLmNvbmNhdCh0WzFdKSl9KSksYT1PYmplY3QuZW50cmllcyh0KS5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4hKG0udGVzdChcIlwiLmNvbmNhdCh0WzFdKSl8fCF5LnRlc3QoXCJcIi5jb25jYXQodFsxXSkpJiYhaXNOYU4oK3RbMV0pJiYrdFsxXTw9MjU1KX0pKTtvJiZhJiYobj0hMCksb3x8KGU9ci5IRVgpfWlmKCFlfHxuKXRocm93IG5ldyBFcnJvcih2KTtyZXR1cm4gZX0odCl9LFc9KChjPXt9KVtyLkhFWF09ZnVuY3Rpb24odCl7dmFyIGU9KH5mLmluZGV4T2YodCk/b1t0XTp0KS5tYXRjaChiLkhFWCkscj17cjpNKGVbMV18fGVbNV0pLGc6TShlWzJdfHxlWzZdKSxiOk0oZVszXXx8ZVs3XSl9LG49ZVs0XXx8ZVs4XTtyZXR1cm4gdm9pZCAwIT09biYmKHIuYT1NKG4pLzI1NSkscn0sY1tyLlJHQl09ZnVuY3Rpb24odCl7dmFyIGU9dC5tYXRjaChiLlJHQikscj1EKGVbMV18fGVbNV0pLG49RChlWzJdfHxlWzZdKSxpPUQoZVszXXx8ZVs3XSksbz1lWzRdfHxlWzhdLGE9e3I6TWF0aC5taW4ociwyNTUpLGc6TWF0aC5taW4obiwyNTUpLGI6TWF0aC5taW4oaSwyNTUpfTtyZXR1cm4gdm9pZCAwIT09byYmKGEuYT1OKG8pKSxhfSxjW3IuSFNMXT1mdW5jdGlvbih0KXt2YXIgZT10Lm1hdGNoKGIuSFNMKSxyPXgoZVsxXXx8ZVs1XSksbj1DKGVbMl18fGVbNl0pLGk9QyhlWzNdfHxlWzddKSxvPWVbNF18fGVbOF0sYT1YKHIsbixpKTtyZXR1cm4gdm9pZCAwIT09byYmKGEuYT1OKG8pKSxhfSxjW3IuQ01ZS109ZnVuY3Rpb24odCl7dmFyIGU9dC5tYXRjaChiLkNNWUspLHI9UyhlWzFdfHxlWzZdKSxuPVMoZVsyXXx8ZVs3XSksaT1TKGVbM118fGVbOF0pLG89UyhlWzRdfHxlWzldKSxhPWVbNV18fGVbMTBdLHU9WShyLG4saSxvKTtyZXR1cm4gdm9pZCAwIT09YSYmKHUuYT1OKGEpKSx1fSxjKSxaPSgocz17fSlbci5IRVhdPWZ1bmN0aW9uKHQpe3ZhciBlPXtyOkQoXCJcIi5jb25jYXQodC5yKSksZzpEKFwiXCIuY29uY2F0KHQuZykpLGI6RChcIlwiLmNvbmNhdCh0LmIpKX07cmV0dXJuIEgodCxcImFcIikmJihlLmE9TWF0aC5taW4oRChcIlwiLmNvbmNhdCh0LmEpLCEwKSwxKSksZX0sc1tyLlJHQl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuSEVYKHQpfSxzW3IuSFNMXT1mdW5jdGlvbih0KXt2YXIgZT1DKFwiXCIuY29uY2F0KHQucykpLHI9QyhcIlwiLmNvbmNhdCh0LmwpKSxuPVgoeCh0LmgpLGUscik7cmV0dXJuIEgodCxcImFcIikmJihuLmE9Tih0LmEpKSxufSxzW3IuQ01ZS109ZnVuY3Rpb24odCl7dmFyIGU9UyhcIlwiLmNvbmNhdCh0LmMpKSxyPVMoXCJcIi5jb25jYXQodC5tKSksbj1TKFwiXCIuY29uY2F0KHQueSkpLGk9UyhcIlwiLmNvbmNhdCh0LmspKSxvPVkoZSxyLG4saSk7cmV0dXJuIEgodCxcImFcIikmJihvLmE9Tih0LmEpKSxvfSxzKSx0dD1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT1KKHQpKSxcInN0cmluZ1wiPT10eXBlb2YgdD9XW2VdKHQpOlpbZV0odCl9LGV0PSgoZD17fSlbci5IRVhdPWZ1bmN0aW9uKHQpe3JldHVybntyOlIodC5yKSxnOlIodC5nKSxiOlIodC5iKX19LGQuSEVYQT1mdW5jdGlvbih0KXt2YXIgZT1ldC5IRVgodCk7cmV0dXJuIGUuYT1IKHQsXCJhXCIpP1IoMjU1KnQuYSk6XCIweEZGXCIsZX0sZFtyLlJHQl09ZnVuY3Rpb24odCxlKXtyZXR1cm4gSCh0LFwiYVwiKSYmZGVsZXRlIHQuYSxvdCh0LGUpfSxkLlJHQkE9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5hPUgodCxcImFcIik/Ryh0LmEpOjEsb3QodCxlKX0sZFtyLkhTTF09ZnVuY3Rpb24odCxlKXt2YXIgcj1LKHQucix0LmcsdC5iKTtyZXR1cm4gZGVsZXRlIHIuYSxhdChyLGUpfSxkLkhTTEE9ZnVuY3Rpb24odCxlKXt2YXIgcj1ldC5IU0wodCxlKTtyZXR1cm4gci5hPUgodCxcImFcIik/Ryh0LmEsZSk6MSxyfSxkW3IuQ01ZS109ZnVuY3Rpb24odCxlKXtyZXR1cm4gdXQoaih0LnIsdC5nLHQuYiksZSl9LGQuQ01ZS0E9ZnVuY3Rpb24odCxlKXt2YXIgcj1ldC5DTVlLKHQsZSk7cmV0dXJuIHIuYT1IKHQsXCJhXCIpP0codC5hLGUpOjEscn0sZCkscnQ9ZnVuY3Rpb24oZSxuLGksbyl7dmFyIGE9SihlKSx1PVwic3RyaW5nXCI9PXR5cGVvZiBlLGM9dHQoZSxhKSxzPVwic3RyaW5nXCI9PXR5cGVvZiBlJiZIKGMsXCJhXCIpfHxcInN0cmluZ1wiIT10eXBlb2YgZSYmSChlLFwiYVwiKSxkPUsoYy5yLGMuZyxjLmIsYy5hKTtzfHxkZWxldGUgZC5hO3ZhciBoPWk/ZC5sLyhuKzEpOigxMDAtZC5sKS8obisxKSxsPUFycmF5KG4pLmZpbGwobnVsbCkubWFwKChmdW5jdGlvbihlLHIpe3JldHVybiB0KHQoe30sZCkse2w6ZC5sK2gqKHIrMSkqKDEtMioraSl9KX0pKTtzd2l0Y2goYSl7Y2FzZSByLkhFWDpkZWZhdWx0OnJldHVybiBsLm1hcCgoZnVuY3Rpb24oZSl7dmFyIHI9WChlLmgsZS5zLGUubCk7cmV0dXJuIHMmJihyLmE9ZS5hKSx1P3M/dy5IRVgob3QodCh0KHt9LHIpLHthOkcoMjU1KnIuYSl9KSxvKSk6dy5IRVgob3QocixvKSk6cz9ldC5IRVhBKHIpOmV0LkhFWChyKX0pKTtjYXNlIHIuUkdCOnJldHVybiBsLm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9WCh0LmgsdC5zLHQubCk7cmV0dXJuIHMmJihlLmE9dC5hKSx1P3cuUkdCKG90KGUsbykpOnM/ZXQuUkdCQShlLG8pOmV0LlJHQihlLG8pfSkpO2Nhc2Ugci5IU0w6cmV0dXJuIGwubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdT93LkhTTChhdChlLG8pKTpzP2V0LkhTTEEodCh0KHt9LFgoZS5oLGUucyxlLmwpKSx7YTplLmF9KSxvKTpldC5IU0woWChlLmgsZS5zLGUubCksbyl9KSl9fSxudD0oKGg9e2J1aWxkSGFybW9ueTpmdW5jdGlvbih0LGUsbixpKXt2YXIgbz1KKHQpLGE9dHQodCxvKSx1PUsoYS5yLGEuZyxhLmIsYS5hKSxjPVwic3RyaW5nXCI9PXR5cGVvZiB0JiZIKGEsXCJhXCIpfHxcInN0cmluZ1wiIT10eXBlb2YgdCYmSCh0LFwiYVwiKSxzPVwic3RyaW5nXCI9PXR5cGVvZiB0O3N3aXRjaChvKXtjYXNlIHIuSEVYOmRlZmF1bHQ6cmV0dXJuIGM/dGhpcy5IRVhBKGF0KHUsMCksZSxuLHMpOnRoaXMuSEVYKGF0KHUsMCksZSxuLHMpO2Nhc2Ugci5IU0w6cmV0dXJuIGM/dGhpcy5IU0xBKHUsZSxuLHMsaSk6dGhpcy5IU0wodSxlLG4scyxpKTtjYXNlIHIuUkdCOnJldHVybiBjP3RoaXMuUkdCQSh1LGUsbixzLGkpOnRoaXMuUkdCKHUsZSxuLHMsaSl9fX0pW3IuSEVYXT1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gZSh0LHIpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG4/dy5IRVgoWCh0LmgsdC5zLHQubCkpOmV0LkhFWChYKHQuaCx0LnMsdC5sKSl9KSl9LGguSEVYQT1mdW5jdGlvbihlLHIsbixpKXtyZXR1cm4gcihlLG4pLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGk/dy5IRVgodCh0KHt9LFgoZS5oLGUucyxlLmwpKSx7YToyNTUqTihlLmEpfSkpOmV0LkhFWEEodCh0KHt9LFgoZS5oLGUucyxlLmwpKSx7YTpOKGUuYSl9KSl9KSl9LGhbci5SR0JdPWZ1bmN0aW9uKHQsZSxyLG4saSl7cmV0dXJuIGUodCxyKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBuP3cuUkdCKG90KFgodC5oLHQucyx0LmwpLGkpKTpldC5SR0IoWCh0LmgsdC5zLHQubCksaSl9KSl9LGguUkdCQT1mdW5jdGlvbihlLHIsbixpLG8pe3JldHVybiByKGUsbikubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gaT93LlJHQihvdCh0KHQoe30sWChlLmgsZS5zLGUubCkpLHthOk4oZS5hKX0pLG8pKTpldC5SR0JBKHQodCh7fSxYKGUuaCxlLnMsZS5sKSkse2E6TihlLmEpfSksbyl9KSl9LGhbci5IU0xdPWZ1bmN0aW9uKHQsZSxyLG4saSl7cmV0dXJuIGUodCxyKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBuP3cuSFNMKGF0KHtoOnQuaCxzOnQucyxsOnQubH0saSkpOmV0LkhTTChYKHQuaCx0LnMsdC5sKSxpKX0pKX0saC5IU0xBPWZ1bmN0aW9uKGUscixuLGksbyl7cmV0dXJuIHIoZSxuKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBpP3cuSFNMKGF0KHQodCh7fSxlKSx7YTpOKGUuYSl9KSxvKSk6ZXQuSFNMQSh0KHQoe30sWChlLmgsZS5zLGUubCkpLHthOk4oZS5hKX0pLG8pfSkpfSxoKSxpdD0oKGw9e21peDpmdW5jdGlvbihlLHIpe3ZhciBuLG8sYSx1LGMscyxkLGgsbCxmLGcscCxiLEYsbSx5PWUubWFwKChmdW5jdGlvbih0KXt2YXIgZT1KKHQpO3JldHVybiB0dCh0LGUpfSkpLEE9cj09PWkuU1VCVFJBQ1RJVkU/eS5tYXAoKGZ1bmN0aW9uKHQpe3ZhciBlLHIsbixpLG8sYSx1LGMscyxkLGgsbCxmLGcscD0oZT10LnIscj10Lmcsbj10LmIsaT1NYXRoLm1pbihlLHIsbiksbz1NYXRoLm1pbigyNTUtZSwyNTUtciwyNTUtbiksYT1lLWksdT1yLWksYz1uLWkscz1NYXRoLm1pbihhLHUpLGQ9YS1zLGg9KHUrcykvMixsPShjK3UtcykvMixmPU1hdGgubWF4KGQsaCxsKS9NYXRoLm1heChhLHUsYyksZz1pc05hTihmKXx8Zj09PTEvMHx8Zjw9MD8xOmYse3I6ZC9nK28seTpoL2crbyxiOmwvZytvfSk7cmV0dXJuIEgodCxcImFcIikmJihwLmE9dC5hKSxwfSkpOm51bGw7ZnVuY3Rpb24gRShlKXt2YXIgbj1yPT09aS5BRERJVElWRT97cjowLGc6MCxiOjAsYTowfTp7cjowLHk6MCxiOjAsYTowfTtyZXR1cm4gZS5yZWR1Y2UoKGZ1bmN0aW9uKGUsbil7dmFyIG89SChuLFwiYVwiKT9uLmE6MSxhPXtyOk1hdGgubWluKGUucituLnIqbywyNTUpLGI6TWF0aC5taW4oZS5iK24uYipvLDI1NSksYToxLSgxLW8pKigxLWUuYSl9LHU9XCJnXCJpbiBlP2UuZzplLnksYz1cImdcImluIG4/bi5nOm4ueTtyZXR1cm4gdCh0KHt9LGEpLHI9PT1pLkFERElUSVZFP3tnOk1hdGgubWluKHUrYypvLDI1NSl9Ont5Ok1hdGgubWluKHUrYypvLDI1NSl9KX0pLG4pfWlmKHI9PT1pLkFERElUSVZFKW49RSh5KTtlbHNle3ZhciB2PUUoQSk7bz12LnIsYT12LnksdT12LmIsYz1NYXRoLm1pbihvLGEsdSkscz1NYXRoLm1pbigyNTUtbywyNTUtYSwyNTUtdSksZD1vLWMsaD1hLWMsbD11LWMsZj1NYXRoLm1pbihoLGwpLGc9ZCtoLWYscD1oK2YsYj0yKihsLWYpLEY9TWF0aC5tYXgoZyxwLGIpL01hdGgubWF4KGQsaCxsKSxtPWlzTmFOKEYpfHxGPT09MS8wfHxGPD0wPzE6Riwobj17cjpnL20rcyxnOnAvbStzLGI6Yi9tK3N9KS5hPXYuYX1yZXR1cm57cjpHKG4uciksZzpHKG4uZyksYjpHKG4uYiksYTprKG4uYSwwLDEpfX19KVtyLkhFWF09ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMubWl4KHQsZSk7cmV0dXJuIGRlbGV0ZSBuLmEscj93LkhFWChuKTpldC5IRVgobil9LGwuSEVYQT1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5taXgodCxlKTtyZXR1cm4gbi5hPXI/MjU1Kk4obi5hKTpOKG4uYSkscj93LkhFWChuKTpldC5IRVhBKG4pfSxsW3IuUkdCXT1mdW5jdGlvbih0LGUscixuKXt2YXIgaT10aGlzLm1peCh0LGUpO3JldHVybiBkZWxldGUgaS5hLHI/dy5SR0IoaSk6ZXQuUkdCKGksbil9LGwuUkdCQT1mdW5jdGlvbih0LGUscixuKXt2YXIgaT10aGlzLm1peCh0LGUpO3JldHVybiByP3cuUkdCKGkpOmV0LlJHQkEoaSxuKX0sbFtyLkhTTF09ZnVuY3Rpb24odCxlLHIsbil7dmFyIGk9dGhpcy5taXgodCxlKSxvPUsoaS5yLGkuZyxpLmIpO3JldHVybiBkZWxldGUgaS5hLGRlbGV0ZSBvLmEscj93LkhTTChvKTpldC5IU0woaSxuKX0sbC5IU0xBPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpPXRoaXMubWl4KHQsZSksbz1LKGkucixpLmcsaS5iLGkuYSk7cmV0dXJuIHI/dy5IU0wobyk6ZXQuSFNMQShpLG4pfSxsKSxvdD1mdW5jdGlvbihlLHIpe3JldHVybiB0KHtyOkcoZS5yLHIpLGc6RyhlLmcsciksYjpHKGUuYixyKX0sSChlLFwiYVwiKT97YTpHKGUuYSxyKX06e30pfSxhdD1mdW5jdGlvbihlLHIpe3JldHVybiB0KHtoOkcoZS5oLHIpLHM6RyhlLnMsciksbDpHKGUubCxyKX0sSChlLFwiYVwiKT97YTpHKGUuYSxyKX06e30pfSx1dD1mdW5jdGlvbih0LGUpe3JldHVybntjOkcodC5jLGUpLG06Ryh0Lm0sZSkseTpHKHQueSxlKSxrOkcodC5rLGUpfX0sY3Q9ZnVuY3Rpb24odCxlLHIsbixpLG8pe3ZhciBhPWkodHQodCxlKSxuKTtyZXR1cm4gcj9vKGEpOmF9LHN0PWZ1bmN0aW9uKHQsZSxyLG4saSxvLGEpe3I8MSYmKHI9NSk7dmFyIHU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXItMSxpPShlLnItdC5yKS9uLG89KGUuZy10LmcpL24sYT0oZS5iLXQuYikvbix1PU4odC5hKSxjPShOKGUuYSktdSkvbjtyZXR1cm4gQXJyYXkocikuZmlsbChudWxsKS5tYXAoKGZ1bmN0aW9uKHIscyl7cmV0dXJuIDA9PT1zP3Q6cz09PW4/ZTp7cjpHKHQucitpKnMpLGc6Ryh0LmcrbypzKSxiOkcodC5iK2EqcyksYTpHKHUrYypzKX19KSl9KHR0KHQpLHR0KGUpLHIpO3JldHVybiB1Lm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9byh0LGkpO3JldHVybiBuP2EoZSk6ZX0pKX0sZHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsZSl7dm9pZCAwPT09ZSYmKGU9NiksdGhpcy5yZ2I9dHQodCksdGhpcy5fZGVjaW1hbHM9ZSx0aGlzLnVwZGF0ZUhTTCgpLHRoaXMudXBkYXRlQ01ZSygpfXJldHVybiBlLnByb3RvdHlwZS51cGRhdGVSR0I9ZnVuY3Rpb24oKXt0aGlzLnJnYj10KHQoe30sWCh0aGlzLmhzbC5oLHRoaXMuaHNsLnMsdGhpcy5oc2wubCkpLHthOnRoaXMuaHNsLmF9KX0sZS5wcm90b3R5cGUudXBkYXRlUkdCRnJvbUNNWUs9ZnVuY3Rpb24oKXt0aGlzLnJnYj10KHQoe30sWSh0aGlzLmNteWsuYyx0aGlzLmNteWsubSx0aGlzLmNteWsueSx0aGlzLmNteWsuaykpLHthOnRoaXMucmdiLmF9KX0sZS5wcm90b3R5cGUudXBkYXRlSFNMPWZ1bmN0aW9uKCl7dGhpcy5oc2w9Syh0aGlzLnJnYi5yLHRoaXMucmdiLmcsdGhpcy5yZ2IuYix0aGlzLnJnYi5hKX0sZS5wcm90b3R5cGUudXBkYXRlQ01ZSz1mdW5jdGlvbigpe3RoaXMuY215az1qKHRoaXMucmdiLnIsdGhpcy5yZ2IuZyx0aGlzLnJnYi5iKX0sZS5wcm90b3R5cGUudXBkYXRlUkdCQW5kQ01ZSz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnVwZGF0ZVJHQigpLHRoaXMudXBkYXRlQ01ZSygpLHRoaXN9LGUucHJvdG90eXBlLnVwZGF0ZUhTTEFuZENNWUs9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51cGRhdGVIU0woKSx0aGlzLnVwZGF0ZUNNWUsoKSx0aGlzfSxlLnByb3RvdHlwZS51cGRhdGVSR0JBbmRIU0w9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51cGRhdGVSR0JGcm9tQ01ZSygpLHRoaXMudXBkYXRlSFNMKCksdGhpc30sZS5wcm90b3R5cGUuc2V0RGVjaW1hbHM9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RlY2ltYWxzPXQsdGhpc30sZS5wcm90b3R5cGUuc2V0SD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5oc2wuaD14KHQpLHRoaXMudXBkYXRlUkdCQW5kQ01ZSygpfSxlLnByb3RvdHlwZS5zZXRTPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmhzbC5zPWsodCwwLDEwMCksdGhpcy51cGRhdGVSR0JBbmRDTVlLKCl9LGUucHJvdG90eXBlLnNldEw9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaHNsLmw9ayh0LDAsMTAwKSx0aGlzLnVwZGF0ZVJHQkFuZENNWUsoKX0sZS5wcm90b3R5cGUuc2V0Uj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZ2Iucj1rKHQsMCwyNTUpLHRoaXMudXBkYXRlSFNMQW5kQ01ZSygpfSxlLnByb3RvdHlwZS5zZXRHPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJnYi5nPWsodCwwLDI1NSksdGhpcy51cGRhdGVIU0xBbmRDTVlLKCl9LGUucHJvdG90eXBlLnNldEI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmdiLmI9ayh0LDAsMjU1KSx0aGlzLnVwZGF0ZUhTTEFuZENNWUsoKX0sZS5wcm90b3R5cGUuc2V0QT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5oc2wuYT10aGlzLnJnYi5hPWsodCwwLDEpLHRoaXN9LGUucHJvdG90eXBlLnNldEM9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY215ay5jPWsodCwwLDEwMCksdGhpcy51cGRhdGVSR0JBbmRIU0woKX0sZS5wcm90b3R5cGUuc2V0TT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXlrLm09ayh0LDAsMTAwKSx0aGlzLnVwZGF0ZVJHQkFuZEhTTCgpfSxlLnByb3RvdHlwZS5zZXRZPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNteWsueT1rKHQsMCwxMDApLHRoaXMudXBkYXRlUkdCQW5kSFNMKCl9LGUucHJvdG90eXBlLnNldEs9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY215ay5rPWsodCwwLDEwMCksdGhpcy51cGRhdGVSR0JBbmRIU0woKX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwiZGVjaW1hbHNcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RlY2ltYWxzfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIkhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEcodGhpcy5oc2wuaCx0aGlzLmRlY2ltYWxzKX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJTXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBHKHRoaXMuaHNsLnMsdGhpcy5kZWNpbWFscyl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwiTFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gRyh0aGlzLmhzbC5sLHRoaXMuZGVjaW1hbHMpfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIlJcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEcodGhpcy5yZ2Iucix0aGlzLmRlY2ltYWxzKX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJHXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBHKHRoaXMucmdiLmcsdGhpcy5kZWNpbWFscyl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwiQlwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gRyh0aGlzLnJnYi5iLHRoaXMuZGVjaW1hbHMpfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIkFcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEcodGhpcy5oc2wuYSx0aGlzLmRlY2ltYWxzKX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJDXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBHKHRoaXMuY215ay5jLHRoaXMuZGVjaW1hbHMpfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIk1cIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEcodGhpcy5jbXlrLm0sdGhpcy5kZWNpbWFscyl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwiWVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gRyh0aGlzLmNteWsueSx0aGlzLmRlY2ltYWxzKX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJLXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBHKHRoaXMuY215ay5rLHRoaXMuZGVjaW1hbHMpfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIkhFWE9iamVjdFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZXQuSEVYKHRoaXMucmdiKX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJIRVhBT2JqZWN0XCIse2dldDpmdW5jdGlvbigpe3JldHVybiBldC5IRVhBKHRoaXMucmdiKX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJSR0JPYmplY3RcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJue3I6dGhpcy5SLGc6dGhpcy5HLGI6dGhpcy5CfX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJSR0JBT2JqZWN0XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0KHQoe30sdGhpcy5SR0JPYmplY3QpLHthOnRoaXMuQX0pfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIkhTTE9iamVjdFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm57aDp0aGlzLkgsczp0aGlzLlMsbDp0aGlzLkx9fSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIkhTTEFPYmplY3RcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHQodCh7fSx0aGlzLkhTTE9iamVjdCkse2E6dGhpcy5BfSl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwiQ01ZS09iamVjdFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm57Yzp0aGlzLkMsbTp0aGlzLk0seTp0aGlzLlksazp0aGlzLkt9fSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIkNNWUtBT2JqZWN0XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0KHQoe30sdGhpcy5DTVlLT2JqZWN0KSx7YTp0aGlzLkF9KX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJIRVhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHcuSEVYKHtyOnRoaXMuUixnOnRoaXMuRyxiOnRoaXMuQn0pfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIkhFWEFcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHcuSEVYKHtyOnRoaXMuUixnOnRoaXMuRyxiOnRoaXMuQixhOjI1NSp0aGlzLkF9KX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJSR0JcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHcuUkdCKHtyOnRoaXMuUixnOnRoaXMuRyxiOnRoaXMuQn0pfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIlJHQkFcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHcuUkdCKHtyOnRoaXMuUixnOnRoaXMuRyxiOnRoaXMuQixhOnRoaXMuQX0pfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIkhTTFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdy5IU0woe2g6dGhpcy5ILHM6dGhpcy5TLGw6dGhpcy5MfSl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwiSFNMQVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdy5IU0woe2g6dGhpcy5ILHM6dGhpcy5TLGw6dGhpcy5MLGE6dGhpcy5BfSl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwiQ01ZS1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdy5DTVlLKHtjOnRoaXMuQyxtOnRoaXMuTSx5OnRoaXMuWSxrOnRoaXMuS30pfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcIkNNWUtBXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB3LkNNWUsoe2M6dGhpcy5DLG06dGhpcy5NLHk6dGhpcy5ZLGs6dGhpcy5LLGE6dGhpcy5BfSl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS50b0hFWD1mdW5jdGlvbih0LGUpe3ZvaWQgMD09PWUmJihlPSEwKTt2YXIgcj1KKHQpO3JldHVybiBjdCh0LHIsZSwwLGV0LkhFWCx3LkhFWCl9LGUudG9IRVhBPWZ1bmN0aW9uKHQsZSl7dm9pZCAwPT09ZSYmKGU9ITApO3ZhciByPUoodCk7cmV0dXJuIGN0KHQscixlLDAsZXQuSEVYQSx3LkhFWCl9LGUudG9SR0I9ZnVuY3Rpb24odCxlLHIpe3ZvaWQgMD09PWUmJihlPSEwKSx2b2lkIDA9PT1yJiYocj02KTt2YXIgbj1KKHQpO3JldHVybiBjdCh0LG4sZSxyLGV0LlJHQix3LlJHQil9LGUudG9SR0JBPWZ1bmN0aW9uKHQsZSxyKXt2b2lkIDA9PT1lJiYoZT0hMCksdm9pZCAwPT09ciYmKHI9Nik7dmFyIG49Sih0KTtyZXR1cm4gY3QodCxuLGUscixldC5SR0JBLHcuUkdCKX0sZS50b0hTTD1mdW5jdGlvbih0LGUscil7dm9pZCAwPT09ZSYmKGU9ITApLHZvaWQgMD09PXImJihyPTYpO3ZhciBuPUoodCk7cmV0dXJuIGN0KHQsbixlLHIsZXQuSFNMLHcuSFNMKX0sZS50b0hTTEE9ZnVuY3Rpb24odCxlLHIpe3ZvaWQgMD09PWUmJihlPSEwKSx2b2lkIDA9PT1yJiYocj02KTt2YXIgbj1KKHQpO3JldHVybiBjdCh0LG4sZSxyLGV0LkhTTEEsdy5IU0wpfSxlLnRvQ01ZSz1mdW5jdGlvbih0LGUscil7dm9pZCAwPT09ZSYmKGU9ITApLHZvaWQgMD09PXImJihyPTYpO3ZhciBuPUoodCk7cmV0dXJuIGN0KHQsbixlLHIsZXQuQ01ZSyx3LkNNWUspfSxlLnRvQ01ZS0E9ZnVuY3Rpb24odCxlLHIpe3ZvaWQgMD09PWUmJihlPSEwKSx2b2lkIDA9PT1yJiYocj02KTt2YXIgbj1KKHQpO3JldHVybiBjdCh0LG4sZSxyLGV0LkNNWUtBLHcuQ01ZSyl9LGUuZ2V0QmxlbmRIRVg9ZnVuY3Rpb24odCxlLHIsbixpKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9NSksdm9pZCAwPT09biYmKG49ITApLHZvaWQgMD09PWkmJihpPTYpLHN0KHQsZSxyLG4saSxldC5IRVgsdy5IRVgpfSxlLmdldEJsZW5kSEVYQT1mdW5jdGlvbih0LGUscixuLGkpe3JldHVybiB2b2lkIDA9PT1yJiYocj01KSx2b2lkIDA9PT1uJiYobj0hMCksdm9pZCAwPT09aSYmKGk9Niksc3QodCxlLHIsbixpLGV0LkhFWEEsdy5IRVgpfSxlLmdldEJsZW5kUkdCPWZ1bmN0aW9uKHQsZSxyLG4saSl7cmV0dXJuIHZvaWQgMD09PXImJihyPTUpLHZvaWQgMD09PW4mJihuPSEwKSx2b2lkIDA9PT1pJiYoaT02KSxzdCh0LGUscixuLGksZXQuUkdCLHcuUkdCKX0sZS5nZXRCbGVuZFJHQkE9ZnVuY3Rpb24odCxlLHIsbixpKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9NSksdm9pZCAwPT09biYmKG49ITApLHZvaWQgMD09PWkmJihpPTYpLHN0KHQsZSxyLG4saSxldC5SR0JBLHcuUkdCKX0sZS5nZXRCbGVuZEhTTD1mdW5jdGlvbih0LGUscixuLGkpe3JldHVybiB2b2lkIDA9PT1yJiYocj01KSx2b2lkIDA9PT1uJiYobj0hMCksdm9pZCAwPT09aSYmKGk9Niksc3QodCxlLHIsbixpLGV0LkhTTCx3LkhTTCl9LGUuZ2V0QmxlbmRIU0xBPWZ1bmN0aW9uKHQsZSxyLG4saSl7cmV0dXJuIHZvaWQgMD09PXImJihyPTUpLHZvaWQgMD09PW4mJihuPSEwKSx2b2lkIDA9PT1pJiYoaT02KSxzdCh0LGUscixuLGksZXQuSFNMQSx3LkhTTCl9LGUuZ2V0TWl4SEVYPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9aS5BRERJVElWRSksdm9pZCAwPT09ciYmKHI9ITApLGl0LkhFWCh0LGUscil9LGUuZ2V0TWl4SEVYQT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHZvaWQgMD09PWUmJihlPWkuQURESVRJVkUpLHZvaWQgMD09PXImJihyPSEwKSxpdC5IRVhBKHQsZSxyKX0sZS5nZXRNaXhSR0I9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHZvaWQgMD09PWUmJihlPWkuQURESVRJVkUpLHZvaWQgMD09PXImJihyPSEwKSx2b2lkIDA9PT1uJiYobj02KSxpdC5SR0IodCxlLHIsbil9LGUuZ2V0TWl4UkdCQT1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9aS5BRERJVElWRSksdm9pZCAwPT09ciYmKHI9ITApLHZvaWQgMD09PW4mJihuPTYpLGl0LlJHQkEodCxlLHIsbil9LGUuZ2V0TWl4SFNMPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiB2b2lkIDA9PT1lJiYoZT1pLkFERElUSVZFKSx2b2lkIDA9PT1yJiYocj0hMCksdm9pZCAwPT09biYmKG49NiksaXQuSFNMKHQsZSxyLG4pfSxlLmdldE1peEhTTEE9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHZvaWQgMD09PWUmJihlPWkuQURESVRJVkUpLHZvaWQgMD09PXImJihyPSEwKSx2b2lkIDA9PT1uJiYobj02KSxpdC5IU0xBKHQsZSxyLG4pfSxlLmdldFNoYWRlcz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPTYpLHJ0KHQsZSwhMCxyKX0sZS5nZXRUaW50cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPTYpLHJ0KHQsZSwhMSxyKX0sZS5nZXRIYXJtb255PWZ1bmN0aW9uKHQsZSxyLG8pe3JldHVybiB2b2lkIDA9PT1lJiYoZT1uLkNPTVBMRU1FTlRBUlkpLHZvaWQgMD09PXImJihyPWkuQURESVRJVkUpLHZvaWQgMD09PW8mJihvPTYpLGZ1bmN0aW9uKHQsZSxyLGkpe3ZhciBvO3JldHVybihvPXt9LG9bbi5BTkFMT0dPVVNdPW50LmJ1aWxkSGFybW9ueShlLFUsaSxyKSxvW24uQ09NUExFTUVOVEFSWV09bnQuYnVpbGRIYXJtb255KGUscSxpLHIpLG9bbi5TUExJVF9DT01QTEVNRU5UQVJZXT1udC5idWlsZEhhcm1vbnkoZSwkLGksciksb1tuLlRSSUFESUNdPW50LmJ1aWxkSGFybW9ueShlLF8saSxyKSxvW24uVEVUUkFESUNdPW50LmJ1aWxkSGFybW9ueShlLFEsaSxyKSxvW24uU1FVQVJFXT1udC5idWlsZEhhcm1vbnkoZSx6LGksciksbylbdF19KGUsdCxvLHIpfSxlfSgpO2V4cG9ydHtkdCBhcyBDb2xvclRyYW5zbGF0b3IsbiBhcyBIYXJtb255LGkgYXMgTWl4fTtcbiIsICJpbXBvcnQgeyBBcHAgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IHsgQ29kZWJsb2NrU3R5bGVyU2V0dGluZ3MsIENvZGVibG9ja1N0eWxlclRoZW1lQ29sb3JzLCBDb2RlYmxvY2tTdHlsZXJUaGVtZU1vZGVDb2xvcnMsIENvZGVibG9ja1N0eWxlclRoZW1lU2V0dGluZ3MsIENvbG9yLCBMQU5HVUFHRV9OQU1FUywgTEFOR1VBR0VfQ09MT1JTIH0gZnJvbSBcIi4vU2V0dGluZ3NcIjtcbmltcG9ydCB7IGlzQ3NzIH0gZnJvbSBcIi4vU2V0dGluZ3NUYWJcIjtcblxuaW50ZXJmYWNlIFRoZW1lU3R5bGUge1xuXHQnYm9yZGVyJz86IHtcblx0XHQnc2l6ZSc6IG51bWJlcjtcblx0XHQnc3R5bGUnOiBzdHJpbmc7XG5cdH0sXG5cdCdleHRyYSc/OiBzdHJpbmc7XG59XG5cbmNvbnN0IFNUWUxFX0lEID0gJ2NvZGVibG9jay1zdHlsZXItc3R5bGVzJztcbmNvbnN0IFRIRU1FX1NUWUxFUzogUmVjb3JkPHN0cmluZyxUaGVtZVN0eWxlPiA9IHtcblx0J1ByaXNtJzoge1xuXHRcdCdib3JkZXInOiB7XG5cdFx0XHQnc2l6ZSc6IDEsXG5cdFx0XHQnc3R5bGUnOiAnMXB4IHNvbGlkIHZhcigtLXdpbmRvdy1ib3JkZXItY29sb3IpJyxcblx0XHR9LFxuXHR9LFxuXHQnU2hpbW1lcmluZyBGb2N1cyc6IHtcblx0XHQnYm9yZGVyJzoge1xuXHRcdFx0J3NpemUnOiAxLFxuXHRcdFx0J3N0eWxlJzogJ3ZhcigtLXRoaW4tbXV0ZWQtYm9yZGVyKScsXG5cdFx0fSxcblx0fSxcblx0J01pbmltYWwnOiB7XG5cdFx0J2V4dHJhJzogYFxuXHRcdFx0Lm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYuaXMtcmVhZGFibGUtbGluZS13aWR0aCA6bm90KHByZS5jb2RlYmxvY2stc3R5bGVyLXByZSkgPiBbY2xhc3NePSdjb2RlYmxvY2stc3R5bGVyLWhlYWRlci1jb250YWluZXInXSB7XG5cdFx0XHRcdG1heC13aWR0aDogY2FsYyh2YXIoLS1tYXgtd2lkdGgpIC0gdmFyKC0tZm9sZGluZy1vZmZzZXQpKSAhaW1wb3J0YW50O1xuXHRcdFx0XHR3aWR0aDogY2FsYyh2YXIoLS1saW5lLXdpZHRoLWFkYXB0aXZlKSAtIHZhcigtLWZvbGRpbmctb2Zmc2V0KSkgIWltcG9ydGFudDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IG1heChjYWxjKDUwJSArIHZhcigtLWZvbGRpbmctb2Zmc2V0KSAtIHZhcigtLWxpbmUtd2lkdGgtYWRhcHRpdmUpLzIpLCBjYWxjKDUwJSArIHZhcigtLWZvbGRpbmctb2Zmc2V0KSAtIHZhcigtLW1heC13aWR0aCkvMikpICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0YCxcblx0fSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVN0eWxpbmcoc2V0dGluZ3M6IENvZGVibG9ja1N0eWxlclNldHRpbmdzLCBhcHA6IEFwcCk6IHZvaWQge1xuXHRsZXQgY3VycmVudFRoZW1lID0gZ2V0Q3VycmVudFRoZW1lKGFwcCk7XG5cdGxldCBzdHlsZVRhZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFNUWUxFX0lEKTtcblx0aWYgKCFzdHlsZVRhZykge1xuXHRcdHN0eWxlVGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcblx0XHRzdHlsZVRhZy5pZCA9IFNUWUxFX0lEO1xuXHRcdGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQoc3R5bGVUYWcpO1xuXHR9XG5cdHN0eWxlVGFnLmlubmVyVGV4dCA9IChzdHlsZVRoZW1lQ29sb3JzKHNldHRpbmdzLmN1cnJlbnRUaGVtZS5jb2xvcnMpK3N0eWxlVGhlbWVTZXR0aW5ncyhzZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MsY3VycmVudFRoZW1lKStzdHlsZUxhbmd1YWdlQ29sb3JzKHNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncyxzZXR0aW5ncy5yZWRpcmVjdExhbmd1YWdlcyxjdXJyZW50VGhlbWUpKS50cmltKCkucmVwbGFjZSgvXFxzKy9nLCcgJyk7XG5cdGFkZFRoZW1lU2V0dGluZ3NDbGFzc2VzKHNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncyk7XG59XG5cbmZ1bmN0aW9uIHN0eWxlVGhlbWVDb2xvcnMgKHRoZW1lQ29sb3JzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZUNvbG9ycyk6IHN0cmluZyB7XG5cdHJldHVybiBPYmplY3Qua2V5cyh0aGVtZUNvbG9ycy5saWdodC5oaWdobGlnaHRzLmFsdGVybmF0aXZlSGlnaGxpZ2h0cykucmVkdWNlKChyZXN1bHQ6IHN0cmluZywgYWx0ZXJuYXRpdmVIaWdobGlnaHQ6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiByZXN1bHQgKyBgXG5cdFx0XHRib2R5LmNvZGVibG9jay1zdHlsZXIgLmNvZGVibG9jay1zdHlsZXItbGluZS1oaWdobGlnaHRlZC0ke2FsdGVybmF0aXZlSGlnaGxpZ2h0LnJlcGxhY2UoL1xccysvZywgJy0nKS50b0xvd2VyQ2FzZSgpfSB7XG5cdFx0XHRcdC0tZ3JhZGllbnQtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29kZWJsb2NrLXN0eWxlci0ke2FsdGVybmF0aXZlSGlnaGxpZ2h0LnJlcGxhY2UoL1xccysvZywgJy0nKS50b0xvd2VyQ2FzZSgpfS1oaWdobGlnaHQtY29sb3IpICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0YDtcblx0fSxgXG5cdFx0Ym9keS5jb2RlYmxvY2stc3R5bGVyLnRoZW1lLWxpZ2h0IHtcblx0XHRcdCR7Z2V0VGhlbWVDb2xvcnModGhlbWVDb2xvcnMubGlnaHQpfVxuXHRcdH1cblx0XHRib2R5LmNvZGVibG9jay1zdHlsZXIudGhlbWUtZGFyayB7XG5cdFx0XHQke2dldFRoZW1lQ29sb3JzKHRoZW1lQ29sb3JzLmRhcmspfVxuXHRcdH1cblx0YCk7XG59XG5cbmZ1bmN0aW9uIGdldFRoZW1lQ29sb3JzICh0aGVtZU1vZGVDb2xvcnM6IENvZGVibG9ja1N0eWxlclRoZW1lTW9kZUNvbG9ycyk6IHN0cmluZyB7XG5cdHJldHVybiBPYmplY3QuZW50cmllcyh7XG5cdFx0J2NvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG9yJzogdGhlbWVNb2RlQ29sb3JzLmNvZGVibG9jay5iYWNrZ3JvdW5kQ29sb3IsXG5cdFx0J2NvZGVibG9jay10ZXh0LWNvbG9yJzogdGhlbWVNb2RlQ29sb3JzLmNvZGVibG9jay50ZXh0Q29sb3IsXG5cdFx0J2d1dHRlci1iYWNrZ3JvdW5kLWNvbG9yJzogdGhlbWVNb2RlQ29sb3JzLmd1dHRlci5iYWNrZ3JvdW5kQ29sb3IsXG5cdFx0J2d1dHRlci10ZXh0LWNvbG9yJzogdGhlbWVNb2RlQ29sb3JzLmd1dHRlci50ZXh0Q29sb3IsXG5cdFx0J2d1dHRlci1hY3RpdmUtdGV4dC1jb2xvcic6IHRoZW1lTW9kZUNvbG9ycy5ndXR0ZXIuYWN0aXZlVGV4dENvbG9yLFxuXHRcdCdoZWFkZXItYmFja2dyb3VuZC1jb2xvcic6IHRoZW1lTW9kZUNvbG9ycy5oZWFkZXIuYmFja2dyb3VuZENvbG9yLFxuXHRcdCdoZWFkZXItdGl0bGUtdGV4dC1jb2xvcic6IHRoZW1lTW9kZUNvbG9ycy5oZWFkZXIudGl0bGUudGV4dENvbG9yLFxuXHRcdCdoZWFkZXItbGFuZ3VhZ2UtdGFnLWJhY2tncm91bmQtY29sb3InOiB0aGVtZU1vZGVDb2xvcnMuaGVhZGVyLmxhbmd1YWdlVGFnLmJhY2tncm91bmRDb2xvcixcblx0XHQnaGVhZGVyLWxhbmd1YWdlLXRhZy10ZXh0LWNvbG9yJzogdGhlbWVNb2RlQ29sb3JzLmhlYWRlci5sYW5ndWFnZVRhZy50ZXh0Q29sb3IsXG5cdFx0J2hlYWRlci1zZXBhcmF0b3ItY29sb3InOiB0aGVtZU1vZGVDb2xvcnMuaGVhZGVyLmxpbmVDb2xvcixcblx0XHQnYWN0aXZlLWNvZGVibG9jay1saW5lLWNvbG9yJzogdGhlbWVNb2RlQ29sb3JzLmhpZ2hsaWdodHMuYWN0aXZlQ29kZWJsb2NrTGluZUNvbG9yLFxuXHRcdCdhY3RpdmUtZWRpdG9yLWxpbmUtY29sb3InOiB0aGVtZU1vZGVDb2xvcnMuaGlnaGxpZ2h0cy5hY3RpdmVFZGl0b3JMaW5lQ29sb3IsXG5cdFx0J2RlZmF1bHQtaGlnaGxpZ2h0LWNvbG9yJzogdGhlbWVNb2RlQ29sb3JzLmhpZ2hsaWdodHMuZGVmYXVsdENvbG9yLFxuXHRcdCdidXR0b24tY29sb3InOiB0aGVtZU1vZGVDb2xvcnMuYWR2YW5jZWQuYnV0dG9uQ29sb3IsXG5cdFx0J2J1dHRvbi1hY3RpdmUtY29sb3InOiB0aGVtZU1vZGVDb2xvcnMuYWR2YW5jZWQuYnV0dG9uQWN0aXZlQ29sb3IsXG5cdFx0Li4uT2JqZWN0LmVudHJpZXModGhlbWVNb2RlQ29sb3JzLmhpZ2hsaWdodHMuYWx0ZXJuYXRpdmVIaWdobGlnaHRzKS5yZWR1Y2UoKHJlc3VsdDogUmVjb3JkPHN0cmluZyxDb2xvcj4sW2FsdGVybmF0aXZlSGlnaGxpZ2h0LGNvbG9yXTogW3N0cmluZyxDb2xvcl0pOiBSZWNvcmQ8c3RyaW5nLENvbG9yPiA9PiB7XG5cdFx0XHRyZXN1bHRbYCR7YWx0ZXJuYXRpdmVIaWdobGlnaHQucmVwbGFjZSgvXFxzKy9nLCAnLScpLnRvTG93ZXJDYXNlKCl9LWhpZ2hsaWdodC1jb2xvcmBdID0gY29sb3I7XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH0se30pXG5cdH0pLnJlZHVjZSgocmVzdWx0OiBzdHJpbmcsIFtjc3NWYXJpYWJsZSxjb2xvcl06IFtzdHJpbmcsQ29sb3JdKTogc3RyaW5nID0+IHtcblx0XHRjb25zdCBzdHlsZUNvbG9yID0gaXNDc3MoY29sb3IpP2B2YXIoJHtjb2xvcn0pYDpjb2xvcjtcblx0XHRyZXR1cm4gcmVzdWx0ICsgYC0tY29kZWJsb2NrLXN0eWxlci0ke2Nzc1ZhcmlhYmxlfTogJHtzdHlsZUNvbG9yfTtgXG5cdH0sYGApXG59XG5cbmZ1bmN0aW9uIHN0eWxlVGhlbWVTZXR0aW5ncyAodGhlbWVTZXR0aW5nczogQ29kZWJsb2NrU3R5bGVyVGhlbWVTZXR0aW5ncywgY3VycmVudFRoZW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRyZXR1cm4gYFxuXHRcdGJvZHkuY29kZWJsb2NrLXN0eWxlciBbY2xhc3NePVwiY29kZWJsb2NrLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnXCJdIHtcblx0XHRcdC0tY29kZWJsb2NrLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnLXRleHQtYm9sZDogJHt0aGVtZVNldHRpbmdzLmhlYWRlci5sYW5ndWFnZVRhZy50ZXh0Qm9sZD8nYm9sZCc6J25vcm1hbCd9O1xuXHRcdFx0LS1jb2RlYmxvY2stc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWctdGV4dC1pdGFsaWM6ICR7dGhlbWVTZXR0aW5ncy5oZWFkZXIubGFuZ3VhZ2VUYWcudGV4dEl0YWxpYz8naXRhbGljJzonbm9ybWFsJ307XG5cdFx0XHRmb250LWZhbWlseTogJHt0aGVtZVNldHRpbmdzLmhlYWRlci5sYW5ndWFnZVRhZy50ZXh0Rm9udCE9PScnP3RoZW1lU2V0dGluZ3MuaGVhZGVyLmxhbmd1YWdlVGFnLnRleHRGb250Oid2YXIoLS1mb250LXRleHQpJ307XG5cdFx0fVxuXHRcdGJvZHkuY29kZWJsb2NrLXN0eWxlciAuY29kZWJsb2NrLXN0eWxlci1oZWFkZXItdGV4dCB7XG5cdFx0XHQtLWNvZGVibG9jay1zdHlsZXItaGVhZGVyLXRpdGxlLXRleHQtYm9sZDogJHt0aGVtZVNldHRpbmdzLmhlYWRlci50aXRsZS50ZXh0Qm9sZD8nYm9sZCc6J25vcm1hbCd9O1xuXHRcdFx0LS1jb2RlYmxvY2stc3R5bGVyLWhlYWRlci10aXRsZS10ZXh0LWl0YWxpYzogJHt0aGVtZVNldHRpbmdzLmhlYWRlci50aXRsZS50ZXh0SXRhbGljPydpdGFsaWMnOidub3JtYWwnfTtcblx0XHRcdGZvbnQtZmFtaWx5OiAke3RoZW1lU2V0dGluZ3MuaGVhZGVyLmxhbmd1YWdlVGFnLnRleHRGb250IT09Jyc/dGhlbWVTZXR0aW5ncy5oZWFkZXIubGFuZ3VhZ2VUYWcudGV4dEZvbnQ6J3ZhcigtLWZvbnQtdGV4dCknfTtcblx0XHR9XG5cdFx0Ym9keS5jb2RlYmxvY2stc3R5bGVyIHtcblx0XHRcdC0tYm9yZGVyLXJhZGl1czogJHt0aGVtZVNldHRpbmdzLmNvZGVibG9jay5jdXJ2YXR1cmV9cHg7XG5cdFx0XHQtLWxhbmd1YWdlLWljb24tc2l6ZTogJHt0aGVtZVNldHRpbmdzLmFkdmFuY2VkLmljb25TaXplfXB4O1xuXHRcdFx0LS1ncmFkaWVudC1oaWdobGlnaHRzLWNvbG9yLXN0b3A6ICR7dGhlbWVTZXR0aW5ncy5hZHZhbmNlZC5ncmFkaWVudEhpZ2hsaWdodHM/dGhlbWVTZXR0aW5ncy5hZHZhbmNlZC5ncmFkaWVudEhpZ2hsaWdodHNDb2xvclN0b3A6JzEwMCUnfTtcblx0XHRcdC0taGVhZGVyLWZvbnQtc2l6ZTogJHt0aGVtZVNldHRpbmdzLmhlYWRlci5mb250U2l6ZX1weDtcblx0XHRcdC0tbGluZS13cmFwcGluZzogJHt0aGVtZVNldHRpbmdzLmNvZGVibG9jay51bndyYXBMaW5lcz8ncHJlJzoncHJlLXdyYXAnfTtcblx0XHRcdCR7IXRoZW1lU2V0dGluZ3MuY29kZWJsb2NrLndyYXBMaW5lc0FjdGl2ZT8nJzonLS1saW5lLWFjdGl2ZS13cmFwcGluZzogcHJlLXdyYXA7J31cblx0XHRcdCR7dGhlbWVTZXR0aW5ncy5oZWFkZXIubGFuZ3VhZ2VJY29uLmRpc3BsYXlDb2xvcj8nJzonLS1pY29uLWZpbHRlcjogZ3JheXNjYWxlKDEpOyd9XG5cdFx0fVxuXHRcdCR7VEhFTUVfU1RZTEVTPy5bY3VycmVudFRoZW1lXT8uYm9yZGVyP2Bcblx0XHRcdC5tYXJrZG93bi1zb3VyY2UtdmlldyA6bm90KHByZS5jb2RlYmxvY2stc3R5bGVyLXByZSkgPiBbY2xhc3NePSdjb2RlYmxvY2stc3R5bGVyLWhlYWRlci1jb250YWluZXInXSB7XG5cdFx0XHRcdC0tY29kZWJsb2NrLXN0eWxlci1oZWFkZXItYm9yZGVyOmArIC8vQHRzLWV4cGVjdC1lcnJvciBEb2VzIEV4aXN0XG5cdFx0XHRcdFx0VEhFTUVfU1RZTEVTW2N1cnJlbnRUaGVtZV0uYm9yZGVyLnN0eWxlK2A7XG5cdFx0XHRcdC0taGVhZGVyLXNlcGFyYXRvci13aWR0aC1wYWRkaW5nOiBjYWxjKHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpIC0gYCsgLy9AdHMtZXhwZWN0LWVycm9yIERvZXMgRXhpc3Rcblx0XHRcdFx0XHRUSEVNRV9TVFlMRVNbY3VycmVudFRoZW1lXS5ib3JkZXIuc2l6ZStgcHgpO1xuXHRcdFx0XHQtLWNvbGxhcHNlZC1ib3R0b20tYm9yZGVyOiB2YXIoLS1jb2RlYmxvY2stc3R5bGVyLWhlYWRlci1ib3JkZXIpO1xuXHRcdFx0fVxuXHRcdGA6Jyd9XG5cdFx0JHtUSEVNRV9TVFlMRVM/LltjdXJyZW50VGhlbWVdPy5leHRyYT9USEVNRV9TVFlMRVNbY3VycmVudFRoZW1lXS5leHRyYTonJ31cblx0YDtcbn1cblxuZnVuY3Rpb24gc3R5bGVMYW5ndWFnZUNvbG9ycyAodGhlbWVTZXR0aW5nczogQ29kZWJsb2NrU3R5bGVyVGhlbWVTZXR0aW5ncywgcmVkaXJlY3RMYW5ndWFnZXM6IFJlY29yZDxzdHJpbmcse2NvbG9yPzogQ29sb3IsIGljb24/OiBzdHJpbmd9PiwgY3VycmVudFRoZW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRyZXR1cm4gT2JqZWN0LmVudHJpZXMoTEFOR1VBR0VfTkFNRVMpLnJlZHVjZSgocmVzdWx0OiBzdHJpbmcsW2xhbmd1YWdlTmFtZSwgbGFuZ3VhZ2VEaXNwbGF5TmFtZV06IFtzdHJpbmcsc3RyaW5nXSk6IHN0cmluZyA9PiB7XG5cdFx0aWYgKGxhbmd1YWdlRGlzcGxheU5hbWUgaW4gTEFOR1VBR0VfQ09MT1JTIHx8IChsYW5ndWFnZU5hbWUgaW4gcmVkaXJlY3RMYW5ndWFnZXMgJiYgJ2NvbG9yJyBpbiByZWRpcmVjdExhbmd1YWdlc1tsYW5ndWFnZU5hbWVdKSkge1xuXHRcdFx0cmVzdWx0ICs9IGBcblx0XHRcdFx0Lmxhbmd1YWdlLSR7bGFuZ3VhZ2VOYW1lfSB7XG5cdFx0XHRcdFx0LS1sYW5ndWFnZS1ib3JkZXItY29sb3I6ICR7cmVkaXJlY3RMYW5ndWFnZXM/LltsYW5ndWFnZU5hbWVdPy5bJ2NvbG9yJ10gPz8gTEFOR1VBR0VfQ09MT1JTW2xhbmd1YWdlRGlzcGxheU5hbWVdfTtcblx0XHRcdFx0XHQtLWxhbmd1YWdlLWJvcmRlci13aWR0aDogJHt0aGVtZVNldHRpbmdzLmFkdmFuY2VkLmxhbmd1YWdlQm9yZGVyQ29sb3I/dGhlbWVTZXR0aW5ncy5hZHZhbmNlZC5sYW5ndWFnZUJvcmRlcldpZHRoOjB9cHg7XG5cdFx0XHRcdH1cblx0XHRcdGA7XG5cdFx0XHRpZiAoVEhFTUVfU1RZTEVTPy5bY3VycmVudFRoZW1lXT8uYm9yZGVyKSB7XG5cdFx0XHRcdHJlc3VsdCArPSBgXG5cdFx0XHRcdFx0Lm1hcmtkb3duLXNvdXJjZS12aWV3IDpub3QocHJlLmNvZGVibG9jay1zdHlsZXItcHJlKSA+IFtjbGFzc149J2NvZGVibG9jay1zdHlsZXItaGVhZGVyLWNvbnRhaW5lciddLmxhbmd1YWdlLSR7bGFuZ3VhZ2VOYW1lfSAge1xuXHRcdFx0XHRcdFx0LS1sYW5ndWFnZS1ib3JkZXItd2lkdGg6ICR7IC8vQHRzLWV4cGVjdC1lcnJvciBEb2VzIGV4aXN0XG5cdFx0XHRcdFx0XHRcdHRoZW1lU2V0dGluZ3MuYWR2YW5jZWQubGFuZ3VhZ2VCb3JkZXJDb2xvcj90aGVtZVNldHRpbmdzLmFkdmFuY2VkLmxhbmd1YWdlQm9yZGVyV2lkdGgrVEhFTUVfU1RZTEVTW2N1cnJlbnRUaGVtZV0uYm9yZGVyLnNpemU6MFxuXHRcdFx0XHRcdFx0fXB4O1xuXHRcdFx0XHRcdH1gXG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiByZXN1bHQ7XG5cdH0sJycpXG59XG5cbmZ1bmN0aW9uIGFkZFRoZW1lU2V0dGluZ3NDbGFzc2VzICh0aGVtZVNldHRpbmdzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZVNldHRpbmdzKTogdm9pZCB7XG5cdGlmICh0aGVtZVNldHRpbmdzLmNvZGVibG9jay5saW5lTnVtYmVycylcblx0XHRkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoXCJjb2RlYmxvY2stc3R5bGVyLXNob3ctbGluZS1udW1iZXJzXCIpO1xuXHRlbHNlXG5cdFx0ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKFwiY29kZWJsb2NrLXN0eWxlci1zaG93LWxpbmUtbnVtYmVyc1wiKTtcblxuXHRpZiAodGhlbWVTZXR0aW5ncy5ndXR0ZXIuaGlnaGxpZ2h0KVxuXHRcdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnY29kZWJsb2NrLXN0eWxlci1ndXR0ZXItaGlnaGxpZ2h0Jyk7XG5cdGVsc2Vcblx0XHRkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2NvZGVibG9jay1zdHlsZXItZ3V0dGVyLWhpZ2hsaWdodCcpO1xuXG5cdGlmICh0aGVtZVNldHRpbmdzLmd1dHRlci5hY3RpdmVMaW5lKVxuXHRcdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnY29kZWJsb2NrLXN0eWxlci1ndXR0ZXItYWN0aXZlLWxpbmUnKTtcblx0ZWxzZVxuXHRcdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnY29kZWJsb2NrLXN0eWxlci1ndXR0ZXItYWN0aXZlLWxpbmUnKTtcblx0XG5cdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShcImNvZGVibG9jay1zdHlsZXItYWN0aXZlLWxpbmUtaGlnaGxpZ2h0XCIsXCJjb2RlYmxvY2stc3R5bGVyLWFjdGl2ZS1saW5lLWhpZ2hsaWdodC1jb2RlYmxvY2tcIixcImNvZGVibG9jay1zdHlsZXItYWN0aXZlLWxpbmUtaGlnaGxpZ2h0LWVkaXRvclwiKVxuXHRpZiAodGhlbWVTZXR0aW5ncy5oaWdobGlnaHRzLmFjdGl2ZUVkaXRvckxpbmUgJiYgdGhlbWVTZXR0aW5ncy5oaWdobGlnaHRzLmFjdGl2ZUNvZGVibG9ja0xpbmUpIC8vIEluc2lkZSBhbmQgb3V0c2lkZSBvZiBjb2RlYmxvY2tzIHdpdGggZGlmZmVyZW50IGNvbG9yc1xuXHRcdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChcImNvZGVibG9jay1zdHlsZXItYWN0aXZlLWxpbmUtaGlnaGxpZ2h0XCIpO1xuXHRlbHNlIGlmICh0aGVtZVNldHRpbmdzLmhpZ2hsaWdodHMuYWN0aXZlRWRpdG9yTGluZSAmJiAhdGhlbWVTZXR0aW5ncy5oaWdobGlnaHRzLmFjdGl2ZUNvZGVibG9ja0xpbmUpIC8vIE9ubHkgb3V0c2lkZSBjb2RlYmxvY2tzXG5cdFx0ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKFwiY29kZWJsb2NrLXN0eWxlci1hY3RpdmUtbGluZS1oaWdobGlnaHQtZWRpdG9yXCIpO1xuXHRlbHNlIGlmICghdGhlbWVTZXR0aW5ncy5oaWdobGlnaHRzLmFjdGl2ZUVkaXRvckxpbmUgJiYgdGhlbWVTZXR0aW5ncy5oaWdobGlnaHRzLmFjdGl2ZUNvZGVibG9ja0xpbmUpIC8vIE9ubHkgaW5zaWRlIGNvZGVibG9ja3Ncblx0XHRkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoXCJjb2RlYmxvY2stc3R5bGVyLWFjdGl2ZS1saW5lLWhpZ2hsaWdodC1jb2RlYmxvY2tcIik7XG5cdFxuXHRkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoXCJjb2RlYmxvY2stc3R5bGVyLXNob3ctbGFuZ25hbWVzXCIsXCJjb2RlYmxvY2stc3R5bGVyLXNob3ctbGFuZ25hbWVzLWFsd2F5c1wiKTtcblx0aWYgKHRoZW1lU2V0dGluZ3MuaGVhZGVyLmxhbmd1YWdlVGFnLmRpc3BsYXkgPT09ICdhbHdheXMnKVxuXHRcdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChcImNvZGVibG9jay1zdHlsZXItc2hvdy1sYW5nbmFtZXMtYWx3YXlzXCIpO1xuXHRlbHNlIGlmICh0aGVtZVNldHRpbmdzLmhlYWRlci5sYW5ndWFnZVRhZy5kaXNwbGF5ID09PSAnaWZfaGVhZGVyX3Nob3duJylcblx0XHRkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoXCJjb2RlYmxvY2stc3R5bGVyLXNob3ctbGFuZ25hbWVzXCIpO1xuXG5cdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShcImNvZGVibG9jay1zdHlsZXItc2hvdy1sYW5naWNvbnNcIixcImNvZGVibG9jay1zdHlsZXItc2hvdy1sYW5naWNvbnMtYWx3YXlzXCIpO1xuXHRpZiAodGhlbWVTZXR0aW5ncy5oZWFkZXIubGFuZ3VhZ2VJY29uLmRpc3BsYXkgPT09ICdhbHdheXMnKVxuXHRcdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChcImNvZGVibG9jay1zdHlsZXItc2hvdy1sYW5naWNvbnMtYWx3YXlzXCIpO1xuXHRlbHNlIGlmICh0aGVtZVNldHRpbmdzLmhlYWRlci5sYW5ndWFnZUljb24uZGlzcGxheSA9PT0gJ2lmX2hlYWRlcl9zaG93bicpXG5cdFx0ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKFwiY29kZWJsb2NrLXN0eWxlci1zaG93LWxhbmdpY29uc1wiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVN0eWxlc0FuZENsYXNzZXMoKTogdm9pZCB7XG5cdGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFNUWUxFX0lEKT8ucmVtb3ZlKCk7XG5cdGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShcblx0XHQnY29kZWJsb2NrLXN0eWxlcicsXG5cdFx0XCJjb2RlYmxvY2stc3R5bGVyLXNob3ctbGluZS1udW1iZXJzXCIsXG5cdFx0J2NvZGVibG9jay1zdHlsZXItZ3V0dGVyLWhpZ2hsaWdodCcsXG5cdFx0J2NvZGVibG9jay1zdHlsZXItZ3V0dGVyLWFjdGl2ZS1saW5lJyxcblx0XHRcImNvZGVibG9jay1zdHlsZXItc2hvdy1sYW5nbmFtZXNcIixcblx0XHRcImNvZGVibG9jay1zdHlsZXItc2hvdy1sYW5nbmFtZXMtYWx3YXlzXCIsXG5cdFx0XCJjb2RlYmxvY2stc3R5bGVyLXNob3ctbGFuZ2ljb25zXCIsXG5cdFx0XCJjb2RlYmxvY2stc3R5bGVyLXNob3ctbGFuZ2ljb25zLWFsd2F5c1wiLFxuXHQpO1xufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50VGhlbWUoYXBwOiBBcHApOiBzdHJpbmcge1xuXHQvL0B0cy1leHBlY3QtZXJyb3IgVW5kb2N1bWVudGVkIE9ic2lkaWFuIEFQSVxuXHRyZXR1cm4gYXBwLnZhdWx0LmdldENvbmZpZyhcImNzc1RoZW1lXCIpO1xufVxuIiwgImltcG9ydCB7IGVkaXRvckVkaXRvckZpZWxkLCBlZGl0b3JJbmZvRmllbGQsIGVkaXRvckxpdmVQcmV2aWV3RmllbGQgfSBmcm9tIFwib2JzaWRpYW5cIjtcbmltcG9ydCB7IFZpZXdQbHVnaW4sIEVkaXRvclZpZXcsIFZpZXdVcGRhdGUsIERlY29yYXRpb24sIERlY29yYXRpb25TZXQsIFdpZGdldFR5cGUgfSBmcm9tIFwiQGNvZGVtaXJyb3Ivdmlld1wiO1xuaW1wb3J0IHsgRXh0ZW5zaW9uLCBFZGl0b3JTdGF0ZSwgU3RhdGVGaWVsZCwgU3RhdGVFZmZlY3QsIFN0YXRlRWZmZWN0VHlwZSwgUmFuZ2UsIFJhbmdlU2V0LCBSYW5nZVNldEJ1aWxkZXIsIFRyYW5zYWN0aW9uLCBMaW5lIH0gZnJvbSBcIkBjb2RlbWlycm9yL3N0YXRlXCI7XG5pbXBvcnQgeyBzeW50YXhUcmVlIH0gZnJvbSBcIkBjb2RlbWlycm9yL2xhbmd1YWdlXCI7XG5pbXBvcnQgeyBTeW50YXhOb2RlUmVmIH0gZnJvbSBcIkBsZXplci9jb21tb25cIjtcblxuaW1wb3J0IHsgQ29kZWJsb2NrU3R5bGVyU2V0dGluZ3MsIENvZGVibG9ja1N0eWxlclRoZW1lU2V0dGluZ3MgfSBmcm9tIFwiLi9TZXR0aW5nc1wiO1xuaW1wb3J0IHsgQ29kZWJsb2NrUGFyYW1ldGVycywgcGFyc2VDb2RlYmxvY2tQYXJhbWV0ZXJzLCB0ZXN0T3BlbmluZ0xpbmUsIGlzRXhjbHVkZWQsIGFycmF5c0VxdWFsLCB0cmltUGFyYW1ldGVyTGluZSB9IGZyb20gXCIuL0NvZGVibG9ja1BhcnNpbmdcIjtcbmltcG9ydCB7IGNyZWF0ZUhlYWRlciwgZ2V0TGluZUNsYXNzIH0gZnJvbSBcIi4vQ29kZWJsb2NrRGVjb3JhdGluZ1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29kZU1pcnJvckV4dGVuc2lvbnMoc2V0dGluZ3M6IENvZGVibG9ja1N0eWxlclNldHRpbmdzLCBsYW5ndWFnZUljb25zOiBSZWNvcmQ8c3RyaW5nLHN0cmluZz4pIHtcblx0Y29uc3QgY29kZWJsb2NrTGluZU51bWJlckNoYXJXaWR0aCA9IFN0YXRlRmllbGQuZGVmaW5lPG51bWJlcj4oe1xuXHRcdGNyZWF0ZShzdGF0ZTogRWRpdG9yU3RhdGUpOiBudW1iZXIge1xuXHRcdFx0cmV0dXJuIGdldENoYXJXaWR0aChzdGF0ZSxzdGF0ZS5maWVsZChlZGl0b3JFZGl0b3JGaWVsZCkuZGVmYXVsdENoYXJhY3RlcldpZHRoKTtcblx0XHR9LFxuXHRcdHVwZGF0ZSh2YWx1ZTogbnVtYmVyLCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBudW1iZXIge1xuXHRcdFx0cmV0dXJuIGdldENoYXJXaWR0aCh0cmFuc2FjdGlvbi5zdGF0ZSx2YWx1ZSk7XG5cdFx0fVxuXHR9KVxuXHRjb25zdCBjb2RlYmxvY2tMaW5lcyA9IFZpZXdQbHVnaW4uZnJvbUNsYXNzKFxuXHRcdGNsYXNzIENvZGVibG9ja0xpbmVzIHtcblx0XHRcdHNldHRpbmdzOiBDb2RlYmxvY2tTdHlsZXJTZXR0aW5ncztcblx0XHRcdGN1cnJlbnRTZXR0aW5nczoge1xuXHRcdFx0XHRleGNsdWRlZENvZGVibG9ja3M6IHN0cmluZztcblx0XHRcdFx0ZXhjbHVkZWRMYW5ndWFnZXM6IHN0cmluZztcblx0XHRcdFx0Y29sbGFwc2VQbGFjZWhvbGRlcjogc3RyaW5nO1xuXHRcdFx0XHRhbHRlcm5hdGl2ZUhpZ2hsaWdodHM6IEFycmF5PHN0cmluZz47XG5cdFx0XHR9XG5cdFx0XHR2aWV3OiBFZGl0b3JWaWV3O1xuXHRcdFx0ZGVjb3JhdGlvbnM6IERlY29yYXRpb25TZXQ7XG5cdFx0XHRtdXRhdGlvbk9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuXHRcdFxuXHRcdFx0Y29uc3RydWN0b3IodmlldzogRWRpdG9yVmlldykge1xuXHRcdFx0XHR0aGlzLnNldHRpbmdzID0gc2V0dGluZ3M7XG5cdFx0XHRcdHRoaXMuY3VycmVudFNldHRpbmdzID0ge1xuXHRcdFx0XHRcdGV4Y2x1ZGVkQ29kZWJsb2Nrczogc2V0dGluZ3MuZXhjbHVkZWRDb2RlYmxvY2tzLFxuXHRcdFx0XHRcdGV4Y2x1ZGVkTGFuZ3VhZ2VzOiBzZXR0aW5ncy5leGNsdWRlZExhbmd1YWdlcyxcblx0XHRcdFx0XHRjb2xsYXBzZVBsYWNlaG9sZGVyOiAnJyxcblx0XHRcdFx0XHRhbHRlcm5hdGl2ZUhpZ2hsaWdodHM6IFtdLFxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMudmlldyA9IHZpZXc7XG5cdFx0XHRcdHRoaXMuZGVjb3JhdGlvbnMgPSBSYW5nZVNldC5lbXB0eTtcblx0XHRcdFx0dGhpcy5idWlsZERlY29yYXRpb25zKHRoaXMudmlldyk7XG5cdFx0XHRcdHRoaXMubXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHttdXRhdGlvbnMuZm9yRWFjaCgobXV0YXRpb246IE11dGF0aW9uUmVjb3JkKSA9PiB7XG5cdFx0XHRcdFx0XHRpZiAobXV0YXRpb24udHlwZSA9PT0gXCJhdHRyaWJ1dGVzXCIgJiYgbXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gXCJjbGFzc1wiICYmIChcblx0XHRcdFx0XHRcdFx0KG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xhc3NMaXN0LmNvbnRhaW5zKFwiSHlwZXJNRC1jb2RlYmxvY2stYmVnaW5cIikgfHxcblx0XHRcdFx0XHRcdFx0KG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xhc3NMaXN0LmNvbnRhaW5zKFwiSHlwZXJNRC1jb2RlYmxvY2tfSHlwZXJNRC1jb2RlYmxvY2stYmdcIikgfHxcblx0XHRcdFx0XHRcdFx0KG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xhc3NMaXN0LmNvbnRhaW5zKFwiSHlwZXJNRC1jb2RlYmxvY2stZW5kXCIpXG5cdFx0XHRcdFx0XHQpKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMuZm9yY2VVcGRhdGUodGhpcy52aWV3KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdHRoaXMubXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMudmlldy5jb250ZW50RE9NLCAge1xuXHRcdFx0XHRcdGF0dHJpYnV0ZXM6IHRydWUsXG5cdFx0XHRcdFx0Y2hpbGRMaXN0OiB0cnVlLFxuXHRcdFx0XHRcdHN1YnRyZWU6IHRydWUsXG5cdFx0XHRcdFx0YXR0cmlidXRlRmlsdGVyOiBbJ2NsYXNzJ10sIC8vIE9ubHkgb2JzZXJ2ZSBjaGFuZ2VzIHRvIHRoZSAnY2xhc3MnIGF0dHJpYnV0ZVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHRcblx0XHRcdGZvcmNlVXBkYXRlKHZpZXc6IEVkaXRvclZpZXcpIHtcblx0XHRcdFx0dGhpcy52aWV3ID0gdmlldztcblx0XHRcdFx0dGhpcy5idWlsZERlY29yYXRpb25zKHRoaXMudmlldyk7XG5cdFx0XHRcdHRoaXMudmlldy5yZXF1ZXN0TWVhc3VyZSgpO1xuXHRcdFx0fVxuXHRcdFxuXHRcdFx0dXBkYXRlKHVwZGF0ZTogVmlld1VwZGF0ZSkge1xuXHRcdFx0XHRpZiAodXBkYXRlLmRvY0NoYW5nZWQgfHwgXG5cdFx0XHRcdFx0dXBkYXRlLnZpZXdwb3J0Q2hhbmdlZCB8fCBcblx0XHRcdFx0XHR0aGlzLnNldHRpbmdzLmV4Y2x1ZGVkQ29kZWJsb2NrcyAhPT0gdGhpcy5jdXJyZW50U2V0dGluZ3MuZXhjbHVkZWRDb2RlYmxvY2tzIHx8XG5cdFx0XHRcdFx0dGhpcy5zZXR0aW5ncy5leGNsdWRlZExhbmd1YWdlcyAhPT0gdGhpcy5jdXJyZW50U2V0dGluZ3MuZXhjbHVkZWRMYW5ndWFnZXMgfHxcblx0XHRcdFx0XHR0aGlzLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncy5oZWFkZXIuY29sbGFwc2VQbGFjZWhvbGRlciAhPT0gdGhpcy5jdXJyZW50U2V0dGluZ3MuY29sbGFwc2VQbGFjZWhvbGRlciB8fFxuXHRcdFx0XHRcdCFhcnJheXNFcXVhbChPYmplY3Qua2V5cyh0aGlzLnNldHRpbmdzLmN1cnJlbnRUaGVtZS5jb2xvcnMubGlnaHQuaGlnaGxpZ2h0cy5hbHRlcm5hdGl2ZUhpZ2hsaWdodHMpLHRoaXMuY3VycmVudFNldHRpbmdzLmFsdGVybmF0aXZlSGlnaGxpZ2h0cylcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0dGhpcy5jdXJyZW50U2V0dGluZ3MgPSBzdHJ1Y3R1cmVkQ2xvbmUoe1xuXHRcdFx0XHRcdFx0ZXhjbHVkZWRDb2RlYmxvY2tzOiB0aGlzLnNldHRpbmdzLmV4Y2x1ZGVkQ29kZWJsb2Nrcyxcblx0XHRcdFx0XHRcdGV4Y2x1ZGVkTGFuZ3VhZ2VzOiB0aGlzLnNldHRpbmdzLmV4Y2x1ZGVkTGFuZ3VhZ2VzLFxuXHRcdFx0XHRcdFx0Y29sbGFwc2VQbGFjZWhvbGRlcjogdGhpcy5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MuaGVhZGVyLmNvbGxhcHNlUGxhY2Vob2xkZXIsXG5cdFx0XHRcdFx0XHRhbHRlcm5hdGl2ZUhpZ2hsaWdodHM6IE9iamVjdC5rZXlzKHRoaXMuc2V0dGluZ3MuY3VycmVudFRoZW1lLmNvbG9ycy5saWdodC5oaWdobGlnaHRzLmFsdGVybmF0aXZlSGlnaGxpZ2h0cyksXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0dGhpcy5idWlsZERlY29yYXRpb25zKHVwZGF0ZS52aWV3KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFxuXHRcdFx0YnVpbGREZWNvcmF0aW9ucyh2aWV3OiBFZGl0b3JWaWV3KSB7XG5cdFx0XHRcdGlmICghdmlldy52aXNpYmxlUmFuZ2VzIHx8IHZpZXcudmlzaWJsZVJhbmdlcy5sZW5ndGggPT09IDAgfHwgaWdub3JlKHZpZXcuc3RhdGUpKSB7XG5cdFx0XHRcdFx0dGhpcy5kZWNvcmF0aW9ucyA9IFJhbmdlU2V0LmVtcHR5O1xuXHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGNvbnN0IGRlY29yYXRpb25zOiBBcnJheTxSYW5nZTxEZWNvcmF0aW9uPj4gPSBbXTtcblx0XHRcdFx0Y29uc3QgY29kZWJsb2NrcyA9IGZpbmRVbmR1cGxpY2F0ZWRDb2RlYmxvY2tzKHZpZXcpO1xuXHRcdFx0XHRjb25zdCBzZXR0aW5nczogQ29kZWJsb2NrU3R5bGVyU2V0dGluZ3MgPSB0aGlzLnNldHRpbmdzO1xuXHRcdFx0XHRmb3IgKGNvbnN0IGNvZGVibG9jayBvZiBjb2RlYmxvY2tzKSB7XG5cdFx0XHRcdFx0bGV0IGNvZGVibG9ja1BhcmFtZXRlcnM6IENvZGVibG9ja1BhcmFtZXRlcnM7XG5cdFx0XHRcdFx0bGV0IGV4Y2x1ZGVkQ29kZWJsb2NrOiBib29sZWFuID0gZmFsc2U7XG5cdFx0XHRcdFx0bGV0IGxpbmVOdW1iZXI6IG51bWJlciA9IDA7XG5cdFx0XHRcdFx0bGV0IG1heExpbmVOdW06IG51bWJlciA9IDA7XG5cdFx0XHRcdFx0bGV0IGxpbmVOdW1iZXJNYXJnaW46IG51bWJlciB8IHVuZGVmaW5lZCA9IDA7XG5cdFx0XHRcdFx0c3ludGF4VHJlZSh2aWV3LnN0YXRlKS5pdGVyYXRlKHtmcm9tOiBjb2RlYmxvY2suZnJvbSwgdG86IGNvZGVibG9jay50byxcblx0XHRcdFx0XHRcdGVudGVyKHN5bnRheE5vZGUpIHtcblx0XHRcdFx0XHRcdFx0Y29uc3QgbGluZSA9IHZpZXcuc3RhdGUuZG9jLmxpbmVBdChzeW50YXhOb2RlLmZyb20pO1xuXHRcdFx0XHRcdFx0XHRjb25zdCBsaW5lVGV4dCA9IHZpZXcuc3RhdGUuc2xpY2VEb2MobGluZS5mcm9tLGxpbmUudG8pO1xuXHRcdFx0XHRcdFx0XHRjb25zdCBzdGFydExpbmUgPSBzeW50YXhOb2RlLnR5cGUubmFtZS5pbmNsdWRlcyhcIkh5cGVyTUQtY29kZWJsb2NrLWJlZ2luXCIpO1xuXHRcdFx0XHRcdFx0XHRjb25zdCBlbmRMaW5lID0gc3ludGF4Tm9kZS50eXBlLm5hbWUuaW5jbHVkZXMoXCJIeXBlck1ELWNvZGVibG9jay1lbmRcIik7XG5cdFx0XHRcdFx0XHRcdGlmIChzdGFydExpbmUpIHtcblx0XHRcdFx0XHRcdFx0XHRjb2RlYmxvY2tQYXJhbWV0ZXJzID0gcGFyc2VDb2RlYmxvY2tQYXJhbWV0ZXJzKHRyaW1QYXJhbWV0ZXJMaW5lKGxpbmVUZXh0KSxzZXR0aW5ncy5jdXJyZW50VGhlbWUpO1xuXHRcdFx0XHRcdFx0XHRcdGV4Y2x1ZGVkQ29kZWJsb2NrID0gaXNFeGNsdWRlZChjb2RlYmxvY2tQYXJhbWV0ZXJzLmxhbmd1YWdlLFtzZXR0aW5ncy5leGNsdWRlZENvZGVibG9ja3Msc2V0dGluZ3MuZXhjbHVkZWRMYW5ndWFnZXNdLmpvaW4oJywnKSkgfHwgY29kZWJsb2NrUGFyYW1ldGVycy5pZ25vcmU7XG5cdFx0XHRcdFx0XHRcdFx0bGluZU51bWJlciA9IDA7XG5cdFx0XHRcdFx0XHRcdFx0bGV0IGxpbmVOdW1iZXJDb3VudCA9IGxpbmUubnVtYmVyICsgMTtcblx0XHRcdFx0XHRcdFx0XHR3aGlsZSAoIXZpZXcuc3RhdGUuZG9jLmxpbmUobGluZU51bWJlckNvdW50KS50ZXh0LnN0YXJ0c1dpdGgoJ2BgYCcpIHx8IHZpZXcuc3RhdGUuZG9jLmxpbmUobGluZU51bWJlckNvdW50KS50ZXh0LmluZGV4T2YoJ2BgYCcsIDMpICE9PSAtMSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0bGluZU51bWJlckNvdW50ICs9IDE7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdG1heExpbmVOdW0gPSBsaW5lTnVtYmVyQ291bnQgLSBsaW5lLm51bWJlciAtIDEgKyBjb2RlYmxvY2tQYXJhbWV0ZXJzLmxpbmVOdW1iZXJzLm9mZnNldDtcblx0XHRcdFx0XHRcdFx0XHRpZiAobWF4TGluZU51bS50b1N0cmluZygpLmxlbmd0aCA+IDIpXG5cdFx0XHRcdFx0XHRcdFx0XHRsaW5lTnVtYmVyTWFyZ2luID0gbWF4TGluZU51bS50b1N0cmluZygpLmxlbmd0aCAqIHZpZXcuc3RhdGUuZmllbGQoY29kZWJsb2NrTGluZU51bWJlckNoYXJXaWR0aCk7XG5cdFx0XHRcdFx0XHRcdFx0ZWxzZVxuXHRcdFx0XHRcdFx0XHRcdFx0bGluZU51bWJlck1hcmdpbiA9IHVuZGVmaW5lZDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRpZiAoZXhjbHVkZWRDb2RlYmxvY2spXG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHRcdFx0XHRpZiAoc3ludGF4Tm9kZS50eXBlLm5hbWUuaW5jbHVkZXMoXCJIeXBlck1ELWNvZGVibG9ja1wiKSkge1xuXHRcdFx0XHRcdFx0XHRcdGRlY29yYXRpb25zLnB1c2goRGVjb3JhdGlvbi5saW5lKHthdHRyaWJ1dGVzOiB7c3R5bGU6IGAtLWxpbmUtbnVtYmVyLWd1dHRlci13aWR0aDogJHtsaW5lTnVtYmVyTWFyZ2luP2xpbmVOdW1iZXJNYXJnaW4rJ3B4JzonY2FsYyh2YXIoLS1saW5lLW51bWJlci1ndXR0ZXItbWluLXdpZHRoKSAtIDEycHgpJ31gLCBjbGFzczogKHNldHRpbmdzLnNwZWNpYWxMYW5ndWFnZXMuc29tZShyZWdFeHAgPT4gbmV3IFJlZ0V4cChyZWdFeHApLnRlc3QoY29kZWJsb2NrUGFyYW1ldGVycy5sYW5ndWFnZSkpfHxzdGFydExpbmV8fGVuZExpbmU/J2NvZGVibG9jay1zdHlsZXItbGluZSc6Z2V0TGluZUNsYXNzKGNvZGVibG9ja1BhcmFtZXRlcnMsbGluZU51bWJlcixsaW5lLnRleHQpLmpvaW4oJyAnKSkrKFtcIl4kXCJdLmNvbmNhdChzZXR0aW5ncy5zcGVjaWFsTGFuZ3VhZ2VzKS5zb21lKHJlZ0V4cCA9PiBuZXcgUmVnRXhwKHJlZ0V4cCkudGVzdChjb2RlYmxvY2tQYXJhbWV0ZXJzLmxhbmd1YWdlKSk/Jyc6YCBsYW5ndWFnZS0ke2NvZGVibG9ja1BhcmFtZXRlcnMubGFuZ3VhZ2V9YCl9fSkucmFuZ2Uoc3ludGF4Tm9kZS5mcm9tKSlcblx0XHRcdFx0XHRcdFx0XHRkZWNvcmF0aW9ucy5wdXNoKERlY29yYXRpb24ubGluZSh7fSkucmFuZ2Uoc3ludGF4Tm9kZS5mcm9tKSk7XG5cdFx0XHRcdFx0XHRcdFx0ZGVjb3JhdGlvbnMucHVzaChEZWNvcmF0aW9uLndpZGdldCh7d2lkZ2V0OiBuZXcgTGluZU51bWJlcldpZGdldChsaW5lTnVtYmVyLGNvZGVibG9ja1BhcmFtZXRlcnMsbWF4TGluZU51bSxzdGFydExpbmV8fGVuZExpbmUpfSkucmFuZ2Uoc3ludGF4Tm9kZS5mcm9tKSlcblx0XHRcdFx0XHRcdFx0XHRsaW5lTnVtYmVyKys7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuZGVjb3JhdGlvbnMgPSBSYW5nZVNldC5vZihkZWNvcmF0aW9ucyx0cnVlKVxuXHRcdFx0fVxuXHRcdFxuXHRcdFx0ZGVzdHJveSgpIHtcblx0XHRcdFx0dGhpcy5tdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcblx0XHRcdH1cblx0XHR9LFxuXHRcdHtcblx0XHRcdGRlY29yYXRpb25zOiAodmFsdWUpID0+IHZhbHVlLmRlY29yYXRpb25zLFxuXHRcdH1cblx0KTtcblx0Y29uc3QgY29kZWJsb2NrSGVhZGVyID0gU3RhdGVGaWVsZC5kZWZpbmU8RGVjb3JhdGlvblNldD4oe1xuXHRcdGNyZWF0ZShzdGF0ZTogRWRpdG9yU3RhdGUpOiBEZWNvcmF0aW9uU2V0IHtcblx0XHRcdHJldHVybiBEZWNvcmF0aW9uLm5vbmU7ICAgIFxuXHRcdH0sXG5cdFx0dXBkYXRlKHZhbHVlOiBEZWNvcmF0aW9uU2V0LCB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBEZWNvcmF0aW9uU2V0IHtcblx0XHRcdGlmIChpZ25vcmUodHJhbnNhY3Rpb24uc3RhdGUpKVxuXHRcdFx0XHRyZXR1cm4gRGVjb3JhdGlvbi5ub25lO1xuXHRcdFx0Y29uc3QgYnVpbGRlciA9IG5ldyBSYW5nZVNldEJ1aWxkZXI8RGVjb3JhdGlvbj4oKTtcblx0XHRcdGxldCBjb2RlYmxvY2tQYXJhbWV0ZXJzOiBDb2RlYmxvY2tQYXJhbWV0ZXJzO1xuXHRcdFx0bGV0IHN0YXJ0TGluZTogYm9vbGVhbiA9IHRydWU7XG5cdFx0XHRsZXQgc3RhcnREZWxpbWl0ZXJMZW5ndGg6IG51bWJlciA9IDM7XG5cdFx0XHRmb3IgKGxldCBpID0gMTsgaSA8IHRyYW5zYWN0aW9uLnN0YXRlLmRvYy5saW5lczsgaSsrKSB7XG5cdFx0XHRcdGNvbnN0IGxpbmUgPSB0cmFuc2FjdGlvbi5zdGF0ZS5kb2MubGluZShpKTtcblx0XHRcdFx0Y29uc3QgbGluZVRleHQgPSBsaW5lLnRleHQudG9TdHJpbmcoKTtcblx0XHRcdFx0bGV0IGN1cnJlbnREZWxpbWl0ZXJMZW5ndGggPSB0ZXN0T3BlbmluZ0xpbmUobGluZVRleHQpO1xuXHRcdFx0XHRpZiAoY3VycmVudERlbGltaXRlckxlbmd0aCkge1xuXHRcdFx0XHRcdGlmIChzdGFydExpbmUpIHtcblx0XHRcdFx0XHRcdHN0YXJ0TGluZSA9IGZhbHNlO1xuXHRcdFx0XHRcdFx0c3RhcnREZWxpbWl0ZXJMZW5ndGggPSBjdXJyZW50RGVsaW1pdGVyTGVuZ3RoO1xuXHRcdFx0XHRcdFx0Y29kZWJsb2NrUGFyYW1ldGVycyA9IHBhcnNlQ29kZWJsb2NrUGFyYW1ldGVycyh0cmltUGFyYW1ldGVyTGluZShsaW5lVGV4dCksc2V0dGluZ3MuY3VycmVudFRoZW1lKTtcblx0XHRcdFx0XHRcdGlmICghaXNFeGNsdWRlZChjb2RlYmxvY2tQYXJhbWV0ZXJzLmxhbmd1YWdlLFtzZXR0aW5ncy5leGNsdWRlZENvZGVibG9ja3Msc2V0dGluZ3MuZXhjbHVkZWRMYW5ndWFnZXNdLmpvaW4oJywnKSkgJiYgIWNvZGVibG9ja1BhcmFtZXRlcnMuaWdub3JlKVxuXHRcdFx0XHRcdFx0XHRpZiAoIXNldHRpbmdzLnNwZWNpYWxMYW5ndWFnZXMuc29tZShyZWdFeHAgPT4gbmV3IFJlZ0V4cChyZWdFeHApLnRlc3QoY29kZWJsb2NrUGFyYW1ldGVycy5sYW5ndWFnZSkpKVxuXHRcdFx0XHRcdFx0XHRcdGJ1aWxkZXIuYWRkKGxpbmUuZnJvbSxsaW5lLmZyb20sRGVjb3JhdGlvbi53aWRnZXQoe3dpZGdldDogbmV3IEhlYWRlcldpZGdldChjb2RlYmxvY2tQYXJhbWV0ZXJzLHNldHRpbmdzLmN1cnJlbnRUaGVtZS5zZXR0aW5ncyxsYW5ndWFnZUljb25zKSxibG9jazogdHJ1ZX0pKTtcblx0XHRcdFx0XHRcdFx0ZWxzZVxuXHRcdFx0XHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRpZiAoY3VycmVudERlbGltaXRlckxlbmd0aCA9PT0gc3RhcnREZWxpbWl0ZXJMZW5ndGgpXG5cdFx0XHRcdFx0XHRcdHN0YXJ0TGluZSA9IHRydWU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gYnVpbGRlci5maW5pc2goKTtcblx0XHR9LFxuXHRcdHByb3ZpZGUoZmllbGQ6IFN0YXRlRmllbGQ8RGVjb3JhdGlvblNldD4pOiBFeHRlbnNpb24ge1xuXHRcdFx0cmV0dXJuIEVkaXRvclZpZXcuZGVjb3JhdGlvbnMuZnJvbShmaWVsZCk7XG5cdFx0fVxuXHR9KVxuXHRjb25zdCBjb2RlYmxvY2tDb2xsYXBzZSA9IFN0YXRlRmllbGQuZGVmaW5lKHtcblx0XHRjcmVhdGUoc3RhdGU6IEVkaXRvclN0YXRlKTogRGVjb3JhdGlvblNldCB7XG5cdFx0XHRpZiAoaWdub3JlKHN0YXRlKSlcblx0XHRcdFx0cmV0dXJuIERlY29yYXRpb24ubm9uZTtcblx0XHRcdGNvbnN0IGJ1aWxkZXIgPSBuZXcgUmFuZ2VTZXRCdWlsZGVyPERlY29yYXRpb24+KCk7XG5cdFx0XHRsZXQgY29kZWJsb2NrUGFyYW1ldGVyczogQ29kZWJsb2NrUGFyYW1ldGVycztcblx0XHRcdGxldCBjb2xsYXBzZVN0YXJ0OiBMaW5lIHwgbnVsbCA9IG51bGw7XG5cdFx0XHRsZXQgY29sbGFwc2VFbmQ6IExpbmUgfCBudWxsID0gbnVsbDtcblx0XHRcdGxldCBzdGFydExpbmU6IGJvb2xlYW4gPSB0cnVlO1xuXHRcdFx0bGV0IHN0YXJ0RGVsaW1pdGVyTGVuZ3RoOiBudW1iZXIgPSAzO1xuXHRcdFx0Zm9yIChsZXQgaSA9IDE7IGkgPCBzdGF0ZS5kb2MubGluZXM7IGkrKykge1xuXHRcdFx0XHRjb25zdCBsaW5lID0gc3RhdGUuZG9jLmxpbmUoaSk7XG5cdFx0XHRcdGNvbnN0IGxpbmVUZXh0ID0gbGluZS50ZXh0LnRvU3RyaW5nKCk7XG5cdFx0XHRcdGxldCBjdXJyZW50RGVsaW1pdGVyTGVuZ3RoID0gdGVzdE9wZW5pbmdMaW5lKGxpbmVUZXh0KTtcblx0XHRcdFx0aWYgKGN1cnJlbnREZWxpbWl0ZXJMZW5ndGgpIHtcblx0XHRcdFx0XHRpZiAoc3RhcnRMaW5lKSB7XG5cdFx0XHRcdFx0XHRzdGFydExpbmUgPSBmYWxzZTtcblx0XHRcdFx0XHRcdHN0YXJ0RGVsaW1pdGVyTGVuZ3RoID0gY3VycmVudERlbGltaXRlckxlbmd0aDtcblx0XHRcdFx0XHRcdGNvZGVibG9ja1BhcmFtZXRlcnMgPSBwYXJzZUNvZGVibG9ja1BhcmFtZXRlcnModHJpbVBhcmFtZXRlckxpbmUobGluZVRleHQpLHNldHRpbmdzLmN1cnJlbnRUaGVtZSk7XG5cdFx0XHRcdFx0XHRpZiAoIWlzRXhjbHVkZWQoY29kZWJsb2NrUGFyYW1ldGVycy5sYW5ndWFnZSxbc2V0dGluZ3MuZXhjbHVkZWRDb2RlYmxvY2tzLHNldHRpbmdzLmV4Y2x1ZGVkTGFuZ3VhZ2VzXS5qb2luKCcsJykpICYmICFjb2RlYmxvY2tQYXJhbWV0ZXJzLmlnbm9yZSAmJiBjb2RlYmxvY2tQYXJhbWV0ZXJzLmZvbGQuZW5hYmxlZClcblx0XHRcdFx0XHRcdFx0aWYgKCFzZXR0aW5ncy5zcGVjaWFsTGFuZ3VhZ2VzLnNvbWUocmVnRXhwID0+IG5ldyBSZWdFeHAocmVnRXhwKS50ZXN0KGNvZGVibG9ja1BhcmFtZXRlcnMubGFuZ3VhZ2UpKSlcblx0XHRcdFx0XHRcdFx0XHRjb2xsYXBzZVN0YXJ0ID0gbGluZTtcblx0XHRcdFx0XHRcdFx0ZWxzZVxuXHRcdFx0XHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRpZiAoY3VycmVudERlbGltaXRlckxlbmd0aCA9PT0gc3RhcnREZWxpbWl0ZXJMZW5ndGgpIHtcblx0XHRcdFx0XHRcdFx0c3RhcnRMaW5lID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0aWYgKGNvbGxhcHNlU3RhcnQpXG5cdFx0XHRcdFx0XHRcdFx0Y29sbGFwc2VFbmQgPSBsaW5lO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoY29sbGFwc2VTdGFydCAmJiBjb2xsYXBzZUVuZCkge1xuXHRcdFx0XHRcdGJ1aWxkZXIuYWRkKGNvbGxhcHNlU3RhcnQuZnJvbSxjb2xsYXBzZUVuZC50byxEZWNvcmF0aW9uLnJlcGxhY2Uoe2VmZmVjdDogY29sbGFwc2Uub2YoW0RlY29yYXRpb24ucmVwbGFjZSh7YmxvY2s6IHRydWV9KS5yYW5nZShjb2xsYXBzZVN0YXJ0LmZyb20sY29sbGFwc2VFbmQudG8pXSksIGJsb2NrOiB0cnVlLCBzaWRlOiAtMX0pKVxuXHRcdFx0XHRcdGNvbGxhcHNlU3RhcnQgPSBudWxsO1xuXHRcdFx0XHRcdGNvbGxhcHNlRW5kID0gbnVsbDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGJ1aWxkZXIuZmluaXNoKCk7XG5cdFx0fSxcblx0XHR1cGRhdGUodmFsdWU6IERlY29yYXRpb25TZXQsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IERlY29yYXRpb25TZXQge1xuXHRcdFx0dmFsdWUgPSB2YWx1ZS5tYXAodHJhbnNhY3Rpb24uY2hhbmdlcyk7XG5cdFx0XHRmb3IgKGNvbnN0IGVmZmVjdCBvZiB0cmFuc2FjdGlvbi5lZmZlY3RzKSB7XG5cdFx0XHRcdGlmIChlZmZlY3QuaXMoY29sbGFwc2UpKVxuXHRcdFx0XHRcdHZhbHVlID0gdmFsdWUudXBkYXRlKHthZGQ6IGVmZmVjdC52YWx1ZSwgc29ydDogdHJ1ZX0pO1xuXHRcdFx0XHRlbHNlIGlmIChlZmZlY3QuaXModW5jb2xsYXBzZSkpXG5cdFx0XHRcdFx0dmFsdWUgPSB2YWx1ZS51cGRhdGUoe2ZpbHRlcjogZWZmZWN0LnZhbHVlfSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0fSxcblx0XHRwcm92aWRlKGZpZWxkOiBTdGF0ZUZpZWxkPERlY29yYXRpb25TZXQ+KTogRXh0ZW5zaW9uIHtcblx0XHRcdHJldHVybiBFZGl0b3JWaWV3LmRlY29yYXRpb25zLmZyb20oZmllbGQpO1xuXHRcdH1cblx0fSlcblxuXHRjbGFzcyBMaW5lTnVtYmVyV2lkZ2V0IGV4dGVuZHMgV2lkZ2V0VHlwZSB7XG5cdFx0bGluZU51bWJlcjogbnVtYmVyO1xuXHRcdGNvZGVibG9ja1BhcmFtZXRlcnM6IENvZGVibG9ja1BhcmFtZXRlcnM7XG5cdFx0bWF4TGluZU51bTogbnVtYmVyXG5cdFx0ZW1wdHk6IGJvb2xlYW47XG5cdFxuXHRcdGNvbnN0cnVjdG9yKGxpbmVOdW1iZXI6IG51bWJlciwgY29kZWJsb2NrUGFyYW1ldGVyczogQ29kZWJsb2NrUGFyYW1ldGVycywgbWF4TGluZU51bTogbnVtYmVyLCBlbXB0eTogYm9vbGVhbikge1xuXHRcdFx0c3VwZXIoKTtcblx0XHRcdHRoaXMubGluZU51bWJlciA9IGxpbmVOdW1iZXI7XG5cdFx0XHR0aGlzLmNvZGVibG9ja1BhcmFtZXRlcnMgPSBjb2RlYmxvY2tQYXJhbWV0ZXJzO1xuXHRcdFx0dGhpcy5tYXhMaW5lTnVtID0gbWF4TGluZU51bVxuXHRcdFx0dGhpcy5lbXB0eSA9IGVtcHR5O1xuXHRcdH1cblx0XG5cdFx0ZXEob3RoZXI6IExpbmVOdW1iZXJXaWRnZXQpIHtcblx0XHRcdHJldHVybiB0aGlzLmxpbmVOdW1iZXIgPT09IG90aGVyLmxpbmVOdW1iZXIgJiYgdGhpcy5jb2RlYmxvY2tQYXJhbWV0ZXJzID09PSBvdGhlci5jb2RlYmxvY2tQYXJhbWV0ZXJzICYmIHRoaXMubWF4TGluZU51bSA9PT0gb3RoZXIubWF4TGluZU51bTtcblx0XHR9XG5cdFxuXHRcdHRvRE9NKHZpZXc6IEVkaXRvclZpZXcpOiBIVE1MRWxlbWVudCB7XG5cdFx0XHRsZXQgbGluZU51bWJlckRpc3BsYXkgPSAnJztcblx0XHRcdGlmICghdGhpcy5jb2RlYmxvY2tQYXJhbWV0ZXJzLmxpbmVOdW1iZXJzLmFsd2F5c0VuYWJsZWQgJiYgdGhpcy5jb2RlYmxvY2tQYXJhbWV0ZXJzLmxpbmVOdW1iZXJzLmFsd2F5c0Rpc2FibGVkKVxuXHRcdFx0XHRsaW5lTnVtYmVyRGlzcGxheSA9ICctaGlkZSdcblx0XHRcdGVsc2UgaWYgKHRoaXMuY29kZWJsb2NrUGFyYW1ldGVycy5saW5lTnVtYmVycy5hbHdheXNFbmFibGVkICYmICF0aGlzLmNvZGVibG9ja1BhcmFtZXRlcnMubGluZU51bWJlcnMuYWx3YXlzRGlzYWJsZWQpXG5cdFx0XHRcdGxpbmVOdW1iZXJEaXNwbGF5ID0gJy1zcGVjaWZpYydcblx0XHRcdHJldHVybiBjcmVhdGVTcGFuKHthdHRyOiB7c3R5bGU6IHRoaXMubWF4TGluZU51bS50b1N0cmluZygpLmxlbmd0aCA+ICh0aGlzLmxpbmVOdW1iZXIgKyB0aGlzLmNvZGVibG9ja1BhcmFtZXRlcnMubGluZU51bWJlcnMub2Zmc2V0KS50b1N0cmluZygpLmxlbmd0aD8nd2lkdGg6IHZhcigtLWxpbmUtbnVtYmVyLWd1dHRlci13aWR0aCk7JzonJ30sIGNsczogYGNvZGVibG9jay1zdHlsZXItbGluZS1udW1iZXIke2xpbmVOdW1iZXJEaXNwbGF5fWAsIHRleHQ6IHRoaXMuZW1wdHk/Jyc6KHRoaXMubGluZU51bWJlciArIHRoaXMuY29kZWJsb2NrUGFyYW1ldGVycy5saW5lTnVtYmVycy5vZmZzZXQpLnRvU3RyaW5nKCl9KTtcblx0XHR9XG5cdH1cblx0Y2xhc3MgSGVhZGVyV2lkZ2V0IGV4dGVuZHMgV2lkZ2V0VHlwZSB7XG5cdFx0Y29kZWJsb2NrUGFyYW1ldGVyczogQ29kZWJsb2NrUGFyYW1ldGVycztcblx0XHR0aGVtZVNldHRpbmdzOiBDb2RlYmxvY2tTdHlsZXJUaGVtZVNldHRpbmdzO1xuXHRcdGxhbmd1YWdlSWNvbnM6IFJlY29yZDxzdHJpbmcsc3RyaW5nPjtcblx0XHR2aWV3OiBFZGl0b3JWaWV3O1xuXHRcdG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cdFxuXHRcdGNvbnN0cnVjdG9yKGNvZGVibG9ja1BhcmFtZXRlcnM6IENvZGVibG9ja1BhcmFtZXRlcnMsIHRoZW1lU2V0dGluZ3M6IENvZGVibG9ja1N0eWxlclRoZW1lU2V0dGluZ3MsIGxhbmd1YWdlSWNvbnM6IFJlY29yZDxzdHJpbmcsc3RyaW5nPikge1xuXHRcdFx0c3VwZXIoKTtcblx0XHRcdHRoaXMuY29kZWJsb2NrUGFyYW1ldGVycyA9IGNvZGVibG9ja1BhcmFtZXRlcnM7XG5cdFx0XHR0aGlzLnRoZW1lU2V0dGluZ3MgPSB0aGVtZVNldHRpbmdzO1xuXHRcdFx0dGhpcy5sYW5ndWFnZUljb25zID0gbGFuZ3VhZ2VJY29ucztcblx0XHRcdHRoaXMubXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcblx0XHRcdFx0bXV0YXRpb25zLmZvckVhY2gobXV0YXRpb24gPT4ge1xuXHRcdFx0XHRcdGlmICgobXV0YXRpb24udGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5oYXNBdHRyaWJ1dGUoJ2RhdGEtY2xpY2tlZCcpKVxuXHRcdFx0XHRcdFx0Y29sbGFwc2VPbkNsaWNrKHRoaXMudmlldywobXV0YXRpb24udGFyZ2V0IGFzIEhUTUxFbGVtZW50KSlcblx0XHRcdFx0fSlcblx0XHRcdH0pOyAgICBcblx0XHR9XG5cdFx0XHRcblx0XHRlcShvdGhlcjogSGVhZGVyV2lkZ2V0KSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5jb2RlYmxvY2tQYXJhbWV0ZXJzID09IG90aGVyLmNvZGVibG9ja1BhcmFtZXRlcnNcblx0XHR9XG5cdFx0XHRcblx0XHR0b0RPTSh2aWV3OiBFZGl0b3JWaWV3KTogSFRNTEVsZW1lbnQge1xuXHRcdFx0dGhpcy52aWV3ID0gdmlldztcblx0XHRcdGNvbnN0IGhlYWRlckNvbnRhaW5lciA9IGNyZWF0ZUhlYWRlcih0aGlzLmNvZGVibG9ja1BhcmFtZXRlcnMsIHRoaXMudGhlbWVTZXR0aW5ncywgdGhpcy5sYW5ndWFnZUljb25zKTtcblx0XHRcdGlmICh0aGlzLmNvZGVibG9ja1BhcmFtZXRlcnMubGFuZ3VhZ2UhPT0nJylcblx0XHRcdFx0aGVhZGVyQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoYGxhbmd1YWdlLSR7dGhpcy5jb2RlYmxvY2tQYXJhbWV0ZXJzLmxhbmd1YWdlfWApXG5cdFx0XHRoZWFkZXJDb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLGhhbmRsZU1vdXNlRG93bik7XG5cdFxuXHRcdFx0dGhpcy5tdXRhdGlvbk9ic2VydmVyLm9ic2VydmUoaGVhZGVyQ29udGFpbmVyLHtcblx0XHRcdFx0YXR0cmlidXRlczogdHJ1ZSxcblx0XHRcdH0pO1xuXHRcdFx0cmV0dXJuIGhlYWRlckNvbnRhaW5lcjtcblx0XHR9XG5cdFx0XHRcdFxuXHRcdGRlc3Ryb3koZG9tOiBIVE1MRWxlbWVudCkge1xuXHRcdFx0ZG9tLnJlbW92ZUF0dHJpYnV0ZShcImRhdGEtY2xpY2tlZFwiKTtcblx0XHRcdGRvbS5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsaGFuZGxlTW91c2VEb3duKTtcblx0XHRcdHRoaXMubXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG5cdFx0fVxuXHRcblx0XHRpZ25vcmVFdmVudCgpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdH1cblx0XG5cdGZ1bmN0aW9uIGNvbGxhcHNlT25DbGljayh2aWV3OiBFZGl0b3JWaWV3LCB0YXJnZXQ6IEhUTUxFbGVtZW50KSB7XG5cdFx0Y29uc3QgcG9zaXRpb24gPSB2aWV3LnBvc0F0RE9NKHRhcmdldCk7XG5cdFx0bGV0IGZvbGRlZCA9IGZhbHNlO1xuXHRcdHZpZXcuc3RhdGUuZmllbGQoY29kZWJsb2NrQ29sbGFwc2UsZmFsc2UpPy5iZXR3ZWVuKHBvc2l0aW9uLHBvc2l0aW9uLCgpPT57XG5cdFx0XHRmb2xkZWQgPSB0cnVlO1xuXHRcdH0pXG5cblx0XHRsZXQgY29sbGFwc2VTdGFydDogTGluZSB8IG51bGwgPSBudWxsO1xuXHRcdGxldCBjb2xsYXBzZUVuZDogTGluZSB8IG51bGwgPSBudWxsO1xuXHRcdGxldCBzdGFydExpbmU6IGJvb2xlYW4gPSB0cnVlO1xuXHRcdGxldCBzdGFydERlbGltaXRlckxlbmd0aDogbnVtYmVyID0gMztcblx0XHRmb3IgKGxldCBpID0gMTsgaSA8IHZpZXcuc3RhdGUuZG9jLmxpbmVzOyBpKyspIHtcblx0XHRcdGNvbnN0IGxpbmUgPSB2aWV3LnN0YXRlLmRvYy5saW5lKGkpO1xuXHRcdFx0Y29uc3QgbGluZVRleHQgPSBsaW5lLnRleHQudG9TdHJpbmcoKTtcblx0XHRcdGxldCBjdXJyZW50RGVsaW1pdGVyTGVuZ3RoID0gdGVzdE9wZW5pbmdMaW5lKGxpbmVUZXh0KTtcblx0XHRcdGlmIChjdXJyZW50RGVsaW1pdGVyTGVuZ3RoKSB7XG5cdFx0XHRcdGlmIChzdGFydExpbmUpIHtcblx0XHRcdFx0XHRzdGFydERlbGltaXRlckxlbmd0aCA9IGN1cnJlbnREZWxpbWl0ZXJMZW5ndGg7XG5cdFx0XHRcdFx0c3RhcnRMaW5lID0gZmFsc2U7XG5cdFx0XHRcdFx0aWYgKHBvc2l0aW9uID09PSBsaW5lLmZyb20pXG5cdFx0XHRcdFx0XHRjb2xsYXBzZVN0YXJ0ID0gbGluZTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRpZiAoY3VycmVudERlbGltaXRlckxlbmd0aCA9PT0gc3RhcnREZWxpbWl0ZXJMZW5ndGgpIHtcblx0XHRcdFx0XHRcdHN0YXJ0TGluZSA9IHRydWU7XG5cdFx0XHRcdFx0XHRpZiAoY29sbGFwc2VTdGFydClcblx0XHRcdFx0XHRcdFx0Y29sbGFwc2VFbmQgPSBsaW5lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKGNvbGxhcHNlU3RhcnQgJiYgY29sbGFwc2VFbmQpIHtcblx0XHRcdFx0aWYgKGZvbGRlZClcblx0XHRcdFx0XHR2aWV3LmRpc3BhdGNoKHtlZmZlY3RzOiB1bmNvbGxhcHNlLm9mKChmcm9tLHRvKSA9PiB7cmV0dXJuICh0byA8PSAoY29sbGFwc2VTdGFydCBhcyBMaW5lKS5mcm9tIHx8IGZyb20gPj0gKGNvbGxhcHNlRW5kIGFzIExpbmUpLnRvKX0pfSk7XG5cdFx0XHRcdGVsc2Vcblx0XHRcdFx0XHR2aWV3LmRpc3BhdGNoKHtlZmZlY3RzOiBjb2xsYXBzZS5vZihbRGVjb3JhdGlvbi5yZXBsYWNlKHtibG9jazogdHJ1ZX0pLnJhbmdlKGNvbGxhcHNlU3RhcnQuZnJvbSxjb2xsYXBzZUVuZC50byldKX0pXG5cdFx0XHRcdHZpZXcucmVxdWVzdE1lYXN1cmUoKTtcblx0XHRcdFx0Y29sbGFwc2VTdGFydCA9IG51bGw7XG5cdFx0XHRcdGNvbGxhcHNlRW5kID0gbnVsbDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRjb25zdCBjb2xsYXBzZTogU3RhdGVFZmZlY3RUeXBlPEFycmF5PFJhbmdlPERlY29yYXRpb24+Pj4gPSBTdGF0ZUVmZmVjdC5kZWZpbmUoKTtcblx0Y29uc3QgdW5jb2xsYXBzZTogU3RhdGVFZmZlY3RUeXBlPChmcm9tOiBhbnksIHRvOiBhbnkpID0+IGJvb2xlYW4+ID0gU3RhdGVFZmZlY3QuZGVmaW5lKCk7XG5cblx0ZnVuY3Rpb24gaGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy5zZXRBdHRyaWJ1dGUoXCJkYXRhLWNsaWNrZWRcIixcInRydWVcIilcblx0fVxuXG5cdHJldHVybiBbY29kZWJsb2NrTGluZU51bWJlckNoYXJXaWR0aCxjb2RlYmxvY2tMaW5lcyxjb2RlYmxvY2tIZWFkZXIsY29kZWJsb2NrQ29sbGFwc2VdXG59XG5cbmZ1bmN0aW9uIGZpbmRVbmR1cGxpY2F0ZWRDb2RlYmxvY2tzKHZpZXc6IEVkaXRvclZpZXcpOiBBcnJheTxTeW50YXhOb2RlUmVmPiB7XG5cdGNvbnN0IGNvZGVibG9ja3MgPSBmaW5kVmlzaWJsZUNvZGVibG9ja3Modmlldyk7XG5cdGNvbnN0IHVuZHVwbGljYXRlZENvZGVibG9ja3M6IEFycmF5PFN5bnRheE5vZGVSZWY+ID0gW107XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgY29kZWJsb2Nrcy5sZW5ndGg7IGkrKylcblx0XHRpZiAoaSA9PT0gMCB8fCBjb2RlYmxvY2tzW2ldLmZyb20gIT09IGNvZGVibG9ja3NbaSAtIDFdLmZyb20pXG5cdFx0XHR1bmR1cGxpY2F0ZWRDb2RlYmxvY2tzLnB1c2goY29kZWJsb2Nrc1tpXSk7XG5cdHJldHVybiB1bmR1cGxpY2F0ZWRDb2RlYmxvY2tzO1xufVxuZnVuY3Rpb24gZmluZFZpc2libGVDb2RlYmxvY2tzKHZpZXc6IEVkaXRvclZpZXcpOiBBcnJheTxTeW50YXhOb2RlUmVmPiB7XG5cdHJldHVybiBmaW5kQ29kZWJsb2Nrcyh2aWV3KS5maWx0ZXIoKGNvZGVibG9jaykgPT4ge1xuXHRcdHJldHVybiB2aWV3LnZpc2libGVSYW5nZXMuc29tZSgodmlzaWJsZVJhbmdlKSA9PiBjb2RlYmxvY2suZnJvbSA8IHZpc2libGVSYW5nZS50byAmJiBjb2RlYmxvY2sudG8gPiB2aXNpYmxlUmFuZ2UuZnJvbSlcblx0fSlcbn1cbmZ1bmN0aW9uIGZpbmRDb2RlYmxvY2tzKHZpZXc6IEVkaXRvclZpZXcpOiBBcnJheTxTeW50YXhOb2RlUmVmPiB7XG5cdGNvbnN0IGNvZGVibG9ja3M6IEFycmF5PFN5bnRheE5vZGVSZWY+ID0gW107XG5cdHN5bnRheFRyZWUodmlldy5zdGF0ZSkuaXRlcmF0ZSh7XG5cdFx0ZW50ZXI6IChzeW50YXhOb2RlKSA9PiB7XG5cdFx0XHRpZiAoc3ludGF4Tm9kZS50eXBlLm5hbWUuaW5jbHVkZXMoXCJIeXBlck1ELWNvZGVibG9jay1iZWdpblwiKSB8fCBzeW50YXhOb2RlLnR5cGUubmFtZSA9PT0gXCJIeXBlck1ELWNvZGVibG9ja19IeXBlck1ELWNvZGVibG9jay1iZ1wiIHx8IHN5bnRheE5vZGUudHlwZS5uYW1lLmluY2x1ZGVzKFwiSHlwZXJNRC1jb2RlYmxvY2stZW5kXCIpKVxuXHRcdFx0XHRjb2RlYmxvY2tzLnB1c2goc3ludGF4Tm9kZSk7XG5cdFx0fVxuXHR9KVxuXHRyZXR1cm4gY29kZWJsb2Nrcztcbn1cblxuZnVuY3Rpb24gZ2V0Q2hhcldpZHRoKHN0YXRlOiBFZGl0b3JTdGF0ZSwgZGVmYXVsdF92YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcblx0bGV0IGNoYXJXaWR0aHMgPSBBcnJheS5mcm9tKHN0YXRlLmZpZWxkKGVkaXRvckVkaXRvckZpZWxkKS5jb250ZW50RE9NLnF1ZXJ5U2VsZWN0b3JBbGwoXCIuSHlwZXJNRC1jb2RlYmxvY2stZW5kXCIpKS5yZWR1Y2UoKHJlc3VsdDogQXJyYXk8bnVtYmVyPixiZWdpbm5pbmdFbGVtZW50OiBIVE1MRWxlbWVudCk6IEFycmF5PG51bWJlcj4gPT4ge1xuXHRcdGxldCBuZXh0RWxlbWVudCA9IGJlZ2lubmluZ0VsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZyBhcyBIVE1MRWxlbWVudDtcblx0XHRpZiAoIW5leHRFbGVtZW50KVxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRsZXQgbGluZU51bWJlckVsZW1lbnQgPSBuZXh0RWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiW2NsYXNzXj0nY29kZWJsb2NrLXN0eWxlci1saW5lLW51bWJlciddXCIpIGFzIEhUTUxFbGVtZW50O1xuXHRcdGlmICghbGluZU51bWJlckVsZW1lbnQgfHwgbGluZU51bWJlckVsZW1lbnQuaW5uZXJUZXh0Lmxlbmd0aCA8PSAyKVxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRsZXQgY29tcHV0ZWRTdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShsaW5lTnVtYmVyRWxlbWVudCwgbnVsbCk7XG5cdFx0cmVzdWx0LnB1c2goKGxpbmVOdW1iZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlcy5wYWRkaW5nTGVmdCkgLSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGVzLnBhZGRpbmdSaWdodCkpIC8gbGluZU51bWJlckVsZW1lbnQuaW5uZXJUZXh0Lmxlbmd0aClcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9LFtdKVxuXHRpZiAoY2hhcldpZHRocy5sZW5ndGggPT09IDApXG5cdFx0cmV0dXJuIGRlZmF1bHRfdmFsdWU7XG5cdGNvbnNvbGUubG9nKCdyZXN1bHQnKVxuXHRyZXR1cm4gY2hhcldpZHRocy5yZWR1Y2UoKHJlc3VsdCx2YWx1ZSk9PnJlc3VsdCt2YWx1ZSwwKSAvIGNoYXJXaWR0aHMubGVuZ3RoO1xufVxuXG5mdW5jdGlvbiBpZ25vcmUoc3RhdGU6IEVkaXRvclN0YXRlKTogYm9vbGVhbiB7XG5cdGlmICghc3RhdGUuZmllbGQoZWRpdG9yTGl2ZVByZXZpZXdGaWVsZCkpXG5cdFx0cmV0dXJuIHRydWU7XG5cdGNvbnN0IGZpbGVQYXRoID0gc3RhdGUuZmllbGQoZWRpdG9ySW5mb0ZpZWxkKT8uZmlsZT8ucGF0aDtcblx0aWYgKHR5cGVvZiBmaWxlUGF0aCAhPT0gJ3VuZGVmaW5lZCcpXG5cdFx0cmV0dXJuIHRoaXMuYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0Q2FjaGUoZmlsZVBhdGgpPy5mcm9udG1hdHRlcj8uWydjb2RlYmxvY2stc3R5bGVyLWlnbm9yZSddID09PSB0cnVlO1xuXHRyZXR1cm4gZmFsc2U7XG59XG4iLCAiaW1wb3J0IHsgVEZpbGUgfSBmcm9tIFwib2JzaWRpYW5cIjtcblxuaW1wb3J0IENvZGVibG9ja1N0eWxlclBsdWdpbiBmcm9tIFwiLi9tYWluXCI7XG5pbXBvcnQgeyBDb2RlYmxvY2tTdHlsZXJUaGVtZSB9IGZyb20gXCIuL1NldHRpbmdzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZWJsb2NrUGFyYW1ldGVycyB7XG5cdGxhbmd1YWdlOiBzdHJpbmc7XG5cdHRpdGxlOiBzdHJpbmc7XG5cdGZvbGQ6IHtcblx0XHRlbmFibGVkOiBib29sZWFuO1xuXHRcdHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cdH1cblx0bGluZU51bWJlcnM6IHtcblx0XHRhbHdheXNFbmFibGVkOiBib29sZWFuO1xuXHRcdGFsd2F5c0Rpc2FibGVkOiBib29sZWFuO1xuXHRcdG9mZnNldDogbnVtYmVyO1xuXHR9LFxuXHRsaW5lVW53cmFwOiB7XG5cdFx0YWx3YXlzRW5hYmxlZDogYm9vbGVhbjtcblx0XHRhbHdheXNEaXNhYmxlZDogYm9vbGVhbjtcblx0XHRhY3RpdmVXcmFwOiBib29sZWFuO1xuXHR9LFxuXHRoaWdobGlnaHRzOiB7XG5cdFx0ZGVmYXVsdDogSGlnaGxpZ2h0cztcblx0XHRhbHRlcm5hdGl2ZTogUmVjb3JkPHN0cmluZyxIaWdobGlnaHRzPlxuXHR9LFxuXHRpZ25vcmU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGlnaGxpZ2h0cyB7XG5cdGxpbmVOdW1iZXJzOiBBcnJheTxudW1iZXI+O1xuXHRwbGFpblRleHQ6IEFycmF5PHN0cmluZz47XG5cdHJlZ3VsYXJFeHByZXNzaW9uczogQXJyYXk8UmVnRXhwPjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBhcnNlQ29kZWJsb2NrU291cmNlKGNvZGVTZWN0aW9uOiBBcnJheTxzdHJpbmc+LCBzb3VyY2VQYXRoOiBzdHJpbmcsIHBsdWdpbjogQ29kZWJsb2NrU3R5bGVyUGx1Z2luKTogUHJvbWlzZTx7Y29kZWJsb2Nrc1BhcmFtZXRlcnM6IEFycmF5PENvZGVibG9ja1BhcmFtZXRlcnM+LCBuZXN0ZWQ6IGJvb2xlYW59PiB7XG5cdC8vQHRzLWV4cGVjdC1lcnJvciBVbmRvY3VtZW50ZWQgT2JzaWRpYW4gQVBJXG5cdGNvbnN0IHBsdWdpbnM6IFJlY29yZDxzdHJpbmcsYW55PiA9IHBsdWdpbi5hcHAucGx1Z2lucy5wbHVnaW5zO1xuXHRjb25zdCBhZG1vbml0aW9uczogYm9vbGVhbiA9ICdvYnNpZGlhbi1hZG1vbml0aW9uJyBpbiBwbHVnaW5zO1xuXHRsZXQgY29kZWJsb2NrczogQXJyYXk8QXJyYXk8c3RyaW5nPj4gPSBbXTtcblx0bGV0IGNvZGVibG9ja3NQYXJhbWV0ZXJzOiBBcnJheTxDb2RlYmxvY2tQYXJhbWV0ZXJzPiA9IFtdO1xuXHRmdW5jdGlvbiBwYXJzZUNvZGVibG9ja1NlY3Rpb24oY29kZVNlY3Rpb246IEFycmF5PHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGNvZGVTZWN0aW9uLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgbGV0IG9wZW5pbmdDb2RlYmxvY2tMaW5lID0gZ2V0T3BlbmluZ0xpbmUoY29kZVNlY3Rpb24pO1xuXHRcdGlmICghb3BlbmluZ0NvZGVibG9ja0xpbmUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGxldCBvcGVuRGVsaW1pdGVyID0gL15cXHMqKD86PlxccyopKihgYGArKS4qJC8uZXhlYyhvcGVuaW5nQ29kZWJsb2NrTGluZSk/LlsxXTtcblx0XHRpZiAoIW9wZW5EZWxpbWl0ZXIpXG4gICAgICAgICAgICByZXR1cm47XG5cdFx0bGV0IG9wZW5EZWxpbWl0ZXJJbmRleCA9IGNvZGVTZWN0aW9uLmluZGV4T2Yob3BlbmluZ0NvZGVibG9ja0xpbmUpO1xuXHRcdGxldCBjbG9zZURlbGltaXRlckluZGV4ID0gY29kZVNlY3Rpb24uc2xpY2Uob3BlbkRlbGltaXRlckluZGV4KzEpLmZpbmRJbmRleCgobGluZSk9PmxpbmUuaW5kZXhPZihvcGVuRGVsaW1pdGVyIGFzIHN0cmluZykhPT0tMSk7XG5cdFx0aWYgKCFhZG1vbml0aW9ucyB8fCAhL15cXHMqKD86PlxccyopKmBgYCthZC0uKiQvLnRlc3Qob3BlbmluZ0NvZGVibG9ja0xpbmUpKVxuICAgICAgICAgICAgY29kZWJsb2Nrcy5wdXNoKGNvZGVTZWN0aW9uLnNsaWNlKDAsb3BlbkRlbGltaXRlckluZGV4KzIrY2xvc2VEZWxpbWl0ZXJJbmRleCkpXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHBhcnNlQ29kZWJsb2NrU2VjdGlvbihjb2RlU2VjdGlvbi5zbGljZShvcGVuRGVsaW1pdGVySW5kZXgrMSxvcGVuRGVsaW1pdGVySW5kZXgrMStjbG9zZURlbGltaXRlckluZGV4KSk7XG4gICAgICAgIFxuXHRcdHBhcnNlQ29kZWJsb2NrU2VjdGlvbihjb2RlU2VjdGlvbi5zbGljZShvcGVuRGVsaW1pdGVySW5kZXgrMStjbG9zZURlbGltaXRlckluZGV4KzEpKTtcblx0fVxuXHRwYXJzZUNvZGVibG9ja1NlY3Rpb24oY29kZVNlY3Rpb24pO1xuXHRmb3IgKGxldCBjb2RlYmxvY2tMaW5lcyBvZiBjb2RlYmxvY2tzKSB7XG5cdFx0bGV0IHBhcmFtZXRlckxpbmUgPSBnZXRQYXJhbWV0ZXJMaW5lKGNvZGVibG9ja0xpbmVzKTtcblx0XHRpZiAoIXBhcmFtZXRlckxpbmUpXG5cdFx0XHRjb250aW51ZTtcblx0XHRsZXQgY29kZWJsb2NrUGFyYW1ldGVycyA9IHBhcnNlQ29kZWJsb2NrUGFyYW1ldGVycyhwYXJhbWV0ZXJMaW5lLHBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUpO1xuXHRcdFx0XG5cdFx0aWYgKGlzRXhjbHVkZWQoY29kZWJsb2NrUGFyYW1ldGVycy5sYW5ndWFnZSxwbHVnaW4uc2V0dGluZ3MuZXhjbHVkZWRDb2RlYmxvY2tzKSlcblx0XHRcdGNvbnRpbnVlO1xuXHRcdFxuXHRcdGNvZGVibG9ja1BhcmFtZXRlcnMgPSBhd2FpdCBwbHVnaW5BZGp1c3RQYXJhbWV0ZXJzKGNvZGVibG9ja1BhcmFtZXRlcnMscGx1Z2lucyxjb2RlYmxvY2tMaW5lcyxzb3VyY2VQYXRoKTtcblx0XHRjb2RlYmxvY2tzUGFyYW1ldGVycy5wdXNoKGNvZGVibG9ja1BhcmFtZXRlcnMpO1xuXHR9XG5cdHJldHVybiB7Y29kZWJsb2Nrc1BhcmFtZXRlcnM6IGNvZGVibG9ja3NQYXJhbWV0ZXJzLCBuZXN0ZWQ6IGNvZGVibG9ja3NbMF0/IWFycmF5c0VxdWFsKGNvZGVTZWN0aW9uLGNvZGVibG9ja3NbMF0pOnRydWV9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNvZGVibG9ja1BhcmFtZXRlcnMocGFyYW1ldGVyTGluZTogc3RyaW5nLCB0aGVtZTogQ29kZWJsb2NrU3R5bGVyVGhlbWUpOiBDb2RlYmxvY2tQYXJhbWV0ZXJzIHtcblx0bGV0IGNvZGVibG9ja1BhcmFtZXRlcnM6IENvZGVibG9ja1BhcmFtZXRlcnMgPSB7XG5cdFx0bGFuZ3VhZ2U6ICcnLFxuXHRcdHRpdGxlOiAnJyxcblx0XHRmb2xkOiB7XG5cdFx0XHRlbmFibGVkOiBmYWxzZSxcblx0XHRcdHBsYWNlaG9sZGVyOiAnJyxcblx0XHR9LFxuXHRcdGxpbmVOdW1iZXJzOiB7XG5cdFx0XHRhbHdheXNFbmFibGVkOiBmYWxzZSxcblx0XHRcdGFsd2F5c0Rpc2FibGVkOiBmYWxzZSxcblx0XHRcdG9mZnNldDogMCxcblx0XHR9LFxuXHRcdGxpbmVVbndyYXA6IHtcblx0XHRcdGFsd2F5c0VuYWJsZWQ6IGZhbHNlLFxuXHRcdFx0YWx3YXlzRGlzYWJsZWQ6IGZhbHNlLFxuXHRcdFx0YWN0aXZlV3JhcDogZmFsc2UsXG5cdFx0fSxcblx0XHRoaWdobGlnaHRzOiB7XG5cdFx0XHRkZWZhdWx0OiB7XG5cdFx0XHRcdGxpbmVOdW1iZXJzOiBbXSxcblx0XHRcdFx0cGxhaW5UZXh0OiBbXSxcblx0XHRcdFx0cmVndWxhckV4cHJlc3Npb25zOiBbXSxcblx0XHRcdH0sXG5cdFx0XHRhbHRlcm5hdGl2ZToge30sXG5cdFx0fSxcblx0XHRpZ25vcmU6IGZhbHNlLFxuXHR9XG5cdGlmIChwYXJhbWV0ZXJMaW5lLnN0YXJ0c1dpdGgoJ2BgYCcpKSB7XG5cdFx0cGFyYW1ldGVyTGluZSA9IHBhcmFtZXRlckxpbmUucmVwbGFjZSgvXmBgYCsoPz1bXmBdfCQpLywnJyk7XG5cdFx0bGV0IGxhbmd1YWdlQnJlYWsgPSBwYXJhbWV0ZXJMaW5lLmluZGV4T2YoJyAnKTtcblx0XHRjb2RlYmxvY2tQYXJhbWV0ZXJzLmxhbmd1YWdlID0gcGFyYW1ldGVyTGluZS5zbGljZSgwLGxhbmd1YWdlQnJlYWsgIT09IC0xP2xhbmd1YWdlQnJlYWs6cGFyYW1ldGVyTGluZS5sZW5ndGgpLnRvTG93ZXJDYXNlKCk7XG5cdFx0aWYgKGxhbmd1YWdlQnJlYWsgPT09IC0xKVxuXHRcdFx0cmV0dXJuIGNvZGVibG9ja1BhcmFtZXRlcnM7XG5cdFx0Y29uc3QgcGFyYW1ldGVyU3RyaW5ncyA9IHBhcmFtZXRlckxpbmUuc2xpY2UobGFuZ3VhZ2VCcmVhaysxKS5tYXRjaCgvKD86W15cXHNcIiddK3xcIlteXCJdKlwifCdbXiddKicpKy9nKTtcblx0XHRpZiAoIXBhcmFtZXRlclN0cmluZ3MpXG5cdFx0XHRyZXR1cm4gY29kZWJsb2NrUGFyYW1ldGVycztcblx0XHRwYXJhbWV0ZXJTdHJpbmdzLmZvckVhY2goKHBhcmFtZXRlclN0cmluZykgPT4gcGFyc2VQYXJhbWV0ZXJTdHJpbmcocGFyYW1ldGVyU3RyaW5nLGNvZGVibG9ja1BhcmFtZXRlcnMsdGhlbWUpKVxuXHR9XG5cdHJldHVybiBjb2RlYmxvY2tQYXJhbWV0ZXJzO1xufVxuZnVuY3Rpb24gcGFyc2VQYXJhbWV0ZXJTdHJpbmcocGFyYW1ldGVyU3RyaW5nOiBzdHJpbmcsIGNvZGVibG9ja1BhcmFtZXRlcnM6IENvZGVibG9ja1BhcmFtZXRlcnMsIHRoZW1lOiBDb2RlYmxvY2tTdHlsZXJUaGVtZSk6IHZvaWQge1xuXHRpZiAocGFyYW1ldGVyU3RyaW5nLnN0YXJ0c1dpdGgoJ3RpdGxlOicpKSB7XG5cdFx0bGV0IHRpdGxlTWF0Y2ggPSAvKFtcIiddPykoW15cXDFdKylcXDEvLmV4ZWMocGFyYW1ldGVyU3RyaW5nLnNsaWNlKCd0aXRsZTonLmxlbmd0aCkpO1xuXHRcdGlmICh0aXRsZU1hdGNoKVxuXHRcdFx0Y29kZWJsb2NrUGFyYW1ldGVycy50aXRsZSA9IHRpdGxlTWF0Y2hbMl0udHJpbSgpO1xuXHR9IGVsc2UgaWYgKHBhcmFtZXRlclN0cmluZy5zdGFydHNXaXRoKCdmb2xkOicpKSB7XG5cdFx0bGV0IGZvbGRQbGFjZWhvbGRlck1hdGNoID0gLyhbXCInXT8pKFteXFwxXSspXFwxLy5leGVjKHBhcmFtZXRlclN0cmluZy5zbGljZSgnZm9sZDonLmxlbmd0aCkpO1xuXHRcdGlmIChmb2xkUGxhY2Vob2xkZXJNYXRjaCkge1xuXHRcdFx0Y29kZWJsb2NrUGFyYW1ldGVycy5mb2xkLmVuYWJsZWQgPSB0cnVlO1xuXHRcdFx0Y29kZWJsb2NrUGFyYW1ldGVycy5mb2xkLnBsYWNlaG9sZGVyID0gZm9sZFBsYWNlaG9sZGVyTWF0Y2hbMl0udHJpbSgpO1xuXHRcdH1cblx0fSBlbHNlIGlmIChwYXJhbWV0ZXJTdHJpbmcgPT09ICdmb2xkJykge1xuXHRcdGNvZGVibG9ja1BhcmFtZXRlcnMuZm9sZC5lbmFibGVkID0gdHJ1ZTtcblx0XHRjb2RlYmxvY2tQYXJhbWV0ZXJzLmZvbGQucGxhY2Vob2xkZXIgPSAnJztcblx0fSBlbHNlIGlmIChwYXJhbWV0ZXJTdHJpbmcgPT09ICdpZ25vcmUnKSB7XG5cdFx0Y29kZWJsb2NrUGFyYW1ldGVycy5pZ25vcmUgPSB0cnVlO1xuXHR9IGVsc2UgaWYgKHBhcmFtZXRlclN0cmluZy5zdGFydHNXaXRoKCdsbjonKSkge1xuXHRcdHBhcmFtZXRlclN0cmluZyA9IHBhcmFtZXRlclN0cmluZy5zbGljZSgnbG46Jy5sZW5ndGgpXG5cdFx0aWYgKC9eXFxkKyQvLnRlc3QocGFyYW1ldGVyU3RyaW5nKSkge1xuXHRcdFx0Y29kZWJsb2NrUGFyYW1ldGVycy5saW5lTnVtYmVycy5hbHdheXNFbmFibGVkID0gdHJ1ZTtcblx0XHRcdGNvZGVibG9ja1BhcmFtZXRlcnMubGluZU51bWJlcnMuYWx3YXlzRGlzYWJsZWQgPSBmYWxzZTtcblx0XHRcdGNvZGVibG9ja1BhcmFtZXRlcnMubGluZU51bWJlcnMub2Zmc2V0ID0gcGFyc2VJbnQocGFyYW1ldGVyU3RyaW5nKS0xO1xuXHRcdH0gZWxzZSBpZiAocGFyYW1ldGVyU3RyaW5nLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJykge1xuXHRcdFx0Y29kZWJsb2NrUGFyYW1ldGVycy5saW5lTnVtYmVycy5hbHdheXNFbmFibGVkID0gdHJ1ZTtcblx0XHRcdGNvZGVibG9ja1BhcmFtZXRlcnMubGluZU51bWJlcnMuYWx3YXlzRGlzYWJsZWQgPSBmYWxzZTtcblx0XHRcdGNvZGVibG9ja1BhcmFtZXRlcnMubGluZU51bWJlcnMub2Zmc2V0ID0gMDtcblx0XHR9IGVsc2UgaWYgKHBhcmFtZXRlclN0cmluZy50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnKSB7XG5cdFx0XHRjb2RlYmxvY2tQYXJhbWV0ZXJzLmxpbmVOdW1iZXJzLmFsd2F5c0VuYWJsZWQgPSBmYWxzZTtcblx0XHRcdGNvZGVibG9ja1BhcmFtZXRlcnMubGluZU51bWJlcnMuYWx3YXlzRGlzYWJsZWQgPSB0cnVlO1xuXHRcdFx0Y29kZWJsb2NrUGFyYW1ldGVycy5saW5lTnVtYmVycy5vZmZzZXQgPSAwO1xuXHRcdH1cblx0fSBlbHNlIGlmIChwYXJhbWV0ZXJTdHJpbmcuc3RhcnRzV2l0aCgndW53cmFwOicpKSB7XG5cdFx0cGFyYW1ldGVyU3RyaW5nID0gcGFyYW1ldGVyU3RyaW5nLnNsaWNlKCd1bndyYXA6Jy5sZW5ndGgpXG5cdFx0aWYgKHBhcmFtZXRlclN0cmluZy50b0xvd2VyQ2FzZSgpID09PSAnaW5hY3RpdmUnKSB7XG5cdFx0XHRjb2RlYmxvY2tQYXJhbWV0ZXJzLmxpbmVVbndyYXAuYWx3YXlzRW5hYmxlZCA9IHRydWU7XG5cdFx0XHRjb2RlYmxvY2tQYXJhbWV0ZXJzLmxpbmVVbndyYXAuYWx3YXlzRGlzYWJsZWQgPSBmYWxzZTtcblx0XHRcdGNvZGVibG9ja1BhcmFtZXRlcnMubGluZVVud3JhcC5hY3RpdmVXcmFwID0gdHJ1ZTtcblx0XHR9IGVsc2UgaWYgKHBhcmFtZXRlclN0cmluZy50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScpIHtcblx0XHRcdGNvZGVibG9ja1BhcmFtZXRlcnMubGluZVVud3JhcC5hbHdheXNFbmFibGVkID0gdHJ1ZTtcblx0XHRcdGNvZGVibG9ja1BhcmFtZXRlcnMubGluZVVud3JhcC5hbHdheXNEaXNhYmxlZCA9IGZhbHNlO1xuXHRcdFx0Y29kZWJsb2NrUGFyYW1ldGVycy5saW5lVW53cmFwLmFjdGl2ZVdyYXAgPSBmYWxzZTtcblx0XHR9IGVsc2UgaWYgKHBhcmFtZXRlclN0cmluZy50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnKSB7XG5cdFx0XHRjb2RlYmxvY2tQYXJhbWV0ZXJzLmxpbmVVbndyYXAuYWx3YXlzRW5hYmxlZCA9IGZhbHNlO1xuXHRcdFx0Y29kZWJsb2NrUGFyYW1ldGVycy5saW5lVW53cmFwLmFsd2F5c0Rpc2FibGVkID0gdHJ1ZTtcblx0XHRcdGNvZGVibG9ja1BhcmFtZXRlcnMubGluZVVud3JhcC5hY3RpdmVXcmFwID0gZmFsc2U7XG5cdFx0fVxuXHR9IGVsc2Uge1xuXHRcdGxldCBoaWdobGlnaHRNYXRjaCA9IC9eKFxcdyspOiguKykkLy5leGVjKHBhcmFtZXRlclN0cmluZyk7XG5cdFx0aWYgKGhpZ2hsaWdodE1hdGNoKSB7XG5cdFx0XHRsZXQgaGlnaGxpZ2h0cyA9IHBhcnNlSGlnaGxpZ2h0ZWRMaW5lcyhoaWdobGlnaHRNYXRjaFsyXSk7XG5cdFx0XHRpZiAoaGlnaGxpZ2h0TWF0Y2hbMV0gPT09ICdobCcpXG5cdFx0XHRcdGNvZGVibG9ja1BhcmFtZXRlcnMuaGlnaGxpZ2h0cy5kZWZhdWx0ID0gaGlnaGxpZ2h0cztcblx0XHRcdGVsc2Vcblx0XHRcdFx0aWYgKGhpZ2hsaWdodE1hdGNoWzFdIGluIHRoZW1lLmNvbG9ycy5saWdodC5oaWdobGlnaHRzLmFsdGVybmF0aXZlSGlnaGxpZ2h0cylcblx0XHRcdFx0XHRjb2RlYmxvY2tQYXJhbWV0ZXJzLmhpZ2hsaWdodHMuYWx0ZXJuYXRpdmVbaGlnaGxpZ2h0TWF0Y2hbMV1dID0gaGlnaGxpZ2h0cztcblx0XHR9XG5cdH1cbn1cbmZ1bmN0aW9uIHBhcnNlSGlnaGxpZ2h0ZWRMaW5lcyhoaWdobGlnaHRlZExpbmVzU3RyaW5nOiBzdHJpbmcpOiBIaWdobGlnaHRzIHtcblx0Y29uc3QgaGlnaGxpZ2h0UnVsZXMgPSBoaWdobGlnaHRlZExpbmVzU3RyaW5nLnNwbGl0KCcsJyk7XG5cdGxldCBsaW5lTnVtYmVyczogU2V0PG51bWJlcj4gPSBuZXcgU2V0KCk7XG5cdGxldCBwbGFpblRleHQ6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpO1xuXHRsZXQgcmVndWxhckV4cHJlc3Npb25zOiBTZXQ8UmVnRXhwPiA9IG5ldyBTZXQoKTtcblx0aGlnaGxpZ2h0UnVsZXMuZm9yRWFjaChoaWdobGlnaHRSdWxlID0+IHtcblx0XHRpZiAoL1xcZCstXFxkKy8udGVzdChoaWdobGlnaHRSdWxlKSkgeyAvLyBOdW1iZXIgUmFuZ2Vcblx0XHRcdGNvbnN0IFtzdGFydCxlbmRdID0gaGlnaGxpZ2h0UnVsZS5zcGxpdCgnLScpLm1hcChudW0gPT4gcGFyc2VJbnQobnVtKSk7XG5cdFx0XHRpZiAoc3RhcnQgJiYgZW5kICYmIHN0YXJ0IDw9IGVuZClcblx0XHRcdFx0QXJyYXkuZnJvbSh7bGVuZ3RoOmVuZC1zdGFydCsxfSwgKF8sbnVtKSA9PiBudW0gKyBzdGFydCkuZm9yRWFjaChsaW5lTnVtYmVyID0+IGxpbmVOdW1iZXJzLmFkZChsaW5lTnVtYmVyKSk7XG5cdFx0fSBlbHNlIGlmICgvXlxcLyguKilcXC8kLy50ZXN0KGhpZ2hsaWdodFJ1bGUpKSB7IC8vIFJlZ2V4XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRyZWd1bGFyRXhwcmVzc2lvbnMuYWRkKG5ldyBSZWdFeHAoaGlnaGxpZ2h0UnVsZS5yZXBsYWNlKC9eXFwvKC4qKVxcLyQvLFwiJDFcIikpKTtcblx0XHRcdH0gY2F0Y2ggeyB9XG5cdFx0fSBlbHNlIGlmICgvXCIuKlwiLy50ZXN0KGhpZ2hsaWdodFJ1bGUpKSB7IC8vIFBsYWluIFRleHRcblx0XHRcdHBsYWluVGV4dC5hZGQoaGlnaGxpZ2h0UnVsZS5zdWJzdHJpbmcoMSxoaWdobGlnaHRSdWxlLmxlbmd0aC0xKSk7XG5cdFx0fSBlbHNlIGlmICgvJy4qJy8udGVzdChoaWdobGlnaHRSdWxlKSkgeyAvLyBQbGFpbiBUZXh0XG5cdFx0XHRwbGFpblRleHQuYWRkKGhpZ2hsaWdodFJ1bGUuc3Vic3RyaW5nKDEsaGlnaGxpZ2h0UnVsZS5sZW5ndGgtMSkpO1xuXHRcdH0gZWxzZSBpZiAoL1xcRC8udGVzdChoaWdobGlnaHRSdWxlKSkgeyAvLyBQbGFpbiBUZXh0XG5cdFx0XHRwbGFpblRleHQuYWRkKGhpZ2hsaWdodFJ1bGUpO1xuXHRcdH0gZWxzZSBpZiAoL1xcZCsvLnRlc3QoaGlnaGxpZ2h0UnVsZSkpIHsgLy8gUGxhaW4gTnVtYmVyXG5cdFx0XHRsaW5lTnVtYmVycy5hZGQocGFyc2VJbnQoaGlnaGxpZ2h0UnVsZSkpO1xuXHRcdH1cblx0fSk7XG5cdHJldHVybiB7XG5cdFx0bGluZU51bWJlcnM6IFsuLi5saW5lTnVtYmVyc10sXG5cdFx0cGxhaW5UZXh0OiBbLi4ucGxhaW5UZXh0XSxcblx0XHRyZWd1bGFyRXhwcmVzc2lvbnM6IFsuLi5yZWd1bGFyRXhwcmVzc2lvbnNdLFxuXHR9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGx1Z2luQWRqdXN0UGFyYW1ldGVycyhjb2RlYmxvY2tQYXJhbWV0ZXJzOiBDb2RlYmxvY2tQYXJhbWV0ZXJzLCBwbHVnaW5zOiBSZWNvcmQ8c3RyaW5nLGFueT4sIGNvZGVibG9ja0xpbmVzOiBBcnJheTxzdHJpbmc+LCBzb3VyY2VQYXRoOiBzdHJpbmcpOiBQcm9taXNlPENvZGVibG9ja1BhcmFtZXRlcnM+IHtcblx0aWYgKGNvZGVibG9ja1BhcmFtZXRlcnMubGFuZ3VhZ2UgPT09ICdwcmV2aWV3Jykge1xuXHRcdGlmICgnb2JzaWRpYW4tY29kZS1wcmV2aWV3JyBpbiBwbHVnaW5zKSB7XG5cdFx0XHRsZXQgY29kZVByZXZpZXdQYXJhbXMgPSBhd2FpdCBwbHVnaW5zWydvYnNpZGlhbi1jb2RlLXByZXZpZXcnXS5jb2RlKGNvZGVibG9ja0xpbmVzLnNsaWNlKDEsLTEpLmpvaW4oJ1xcbicpLHNvdXJjZVBhdGgpO1xuXHRcdFx0aWYgKCFjb2RlYmxvY2tQYXJhbWV0ZXJzLmxpbmVOdW1iZXJzLmFsd2F5c0Rpc2FibGVkICYmICFjb2RlYmxvY2tQYXJhbWV0ZXJzLmxpbmVOdW1iZXJzLmFsd2F5c0VuYWJsZWQpIHtcblx0XHRcdFx0aWYgKHR5cGVvZiBjb2RlUHJldmlld1BhcmFtcy5zdGFydCA9PT0gJ251bWJlcicpXG5cdFx0XHRcdFx0Y29kZWJsb2NrUGFyYW1ldGVycy5saW5lTnVtYmVycy5vZmZzZXQgPSBjb2RlUHJldmlld1BhcmFtcy5zdGFydCAtIDE7XG5cdFx0XHRcdGNvZGVibG9ja1BhcmFtZXRlcnMubGluZU51bWJlcnMuYWx3YXlzRW5hYmxlZCA9IGNvZGVQcmV2aWV3UGFyYW1zLmxpbmVOdW1iZXI7XG5cdFx0XHR9XG5cdFx0XHRjb2RlYmxvY2tQYXJhbWV0ZXJzLmhpZ2hsaWdodHMuZGVmYXVsdC5saW5lTnVtYmVycyA9IFsuLi5uZXcgU2V0KGNvZGVibG9ja1BhcmFtZXRlcnMuaGlnaGxpZ2h0cy5kZWZhdWx0LmxpbmVOdW1iZXJzLmNvbmNhdChBcnJheS5mcm9tKHBsdWdpbnNbJ29ic2lkaWFuLWNvZGUtcHJldmlldyddLmFuYWx5emVIaWdoTGlnaHRMaW5lcyhjb2RlUHJldmlld1BhcmFtcy5saW5lcyxjb2RlUHJldmlld1BhcmFtcy5oaWdobGlnaHQpLChbbnVtLF9dKT0+KG51bSkpKSldO1xuXHRcdFx0aWYgKGNvZGVibG9ja1BhcmFtZXRlcnMudGl0bGUgPT09ICcnKVxuXHRcdFx0XHRjb2RlYmxvY2tQYXJhbWV0ZXJzLnRpdGxlID0gY29kZVByZXZpZXdQYXJhbXMuZmlsZVBhdGguc3BsaXQoJ1xcXFwnKS5wb3AoKS5zcGxpdCgnLycpLnBvcCgpO1xuXHRcdFx0Y29kZWJsb2NrUGFyYW1ldGVycy5sYW5ndWFnZSA9IGNvZGVQcmV2aWV3UGFyYW1zLmxhbmd1YWdlO1xuXHRcdH1cblx0fSBlbHNlIGlmIChjb2RlYmxvY2tQYXJhbWV0ZXJzLmxhbmd1YWdlID09PSAnaW5jbHVkZScpIHtcblx0XHRpZiAoJ2ZpbGUtaW5jbHVkZScgaW4gcGx1Z2lucykge1xuXHRcdFx0Y29uc3QgZmlsZUluY2x1ZGVMYW5ndWFnZSA9IGNvZGVibG9ja0xpbmVzWzBdLm1hdGNoKC9pbmNsdWRlKD86WzpcXHNdKyg/PGxhbmc+XFx3KykpPy8pPy5ncm91cHM/Lmxhbmc7XG5cdFx0XHRpZiAodHlwZW9mIGZpbGVJbmNsdWRlTGFuZ3VhZ2UgIT09ICd1bmRlZmluZWQnKVxuXHRcdFx0XHRjb2RlYmxvY2tQYXJhbWV0ZXJzLmxhbmd1YWdlID0gZmlsZUluY2x1ZGVMYW5ndWFnZTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIGNvZGVibG9ja1BhcmFtZXRlcnNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhcmFtZXRlckxpbmUoY29kZWJsb2NrTGluZXM6IEFycmF5PHN0cmluZz4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRsZXQgb3BlbmluZ0NvZGVibG9ja0xpbmUgPSBnZXRPcGVuaW5nTGluZShjb2RlYmxvY2tMaW5lcyk7XG5cdGlmIChvcGVuaW5nQ29kZWJsb2NrTGluZSAmJiAob3BlbmluZ0NvZGVibG9ja0xpbmUgIT09IGNvZGVibG9ja0xpbmVzWzBdIHx8IC8+XFxzKmAvLnRlc3Qob3BlbmluZ0NvZGVibG9ja0xpbmUpKSlcblx0XHRvcGVuaW5nQ29kZWJsb2NrTGluZSA9IGNsZWFuUGFyYW1ldGVyTGluZShvcGVuaW5nQ29kZWJsb2NrTGluZSk7XG5cdHJldHVybiBvcGVuaW5nQ29kZWJsb2NrTGluZVxufVxuZnVuY3Rpb24gZ2V0T3BlbmluZ0xpbmUoY29kZWJsb2NrTGluZXM6IEFycmF5PHN0cmluZz4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gY29kZWJsb2NrTGluZXMuZmluZCgobGluZTogc3RyaW5nKT0+Qm9vbGVhbih0ZXN0T3BlbmluZ0xpbmUobGluZSkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0T3BlbmluZ0xpbmUoY29kZWJsb2NrTGluZTogc3RyaW5nKTogbnVtYmVyIHtcblx0bGV0IGxpbmVNYXRjaCA9IC9eKFxccyooPzo+XFxzKikqKShgYGArKS8uZXhlYyhjb2RlYmxvY2tMaW5lKTtcblx0aWYgKCFsaW5lTWF0Y2gpXG5cdFx0cmV0dXJuIDA7XG5cdGlmIChjb2RlYmxvY2tMaW5lLmluZGV4T2YoJ2AnLnJlcGVhdChsaW5lTWF0Y2hbMl0ubGVuZ3RoKSxsaW5lTWF0Y2hbMV0ubGVuZ3RoK2xpbmVNYXRjaFsyXS5sZW5ndGgrMSk9PT0tMSlcblx0XHRyZXR1cm4gbGluZU1hdGNoWzJdLmxlbmd0aDtcblx0cmV0dXJuIDA7XG59XG5mdW5jdGlvbiBjbGVhblBhcmFtZXRlckxpbmUocGFyYW1ldGVyTGluZTogc3RyaW5nKTogc3RyaW5nIHtcblx0cmV0dXJuIHRyaW1QYXJhbWV0ZXJMaW5lKHBhcmFtZXRlckxpbmUpLnJlcGxhY2UoL14oPzo+XFxzKikqYGBgLywnYGBgJyk7XG59XG5leHBvcnQgZnVuY3Rpb24gdHJpbVBhcmFtZXRlckxpbmUocGFyYW1ldGVyTGluZTogc3RyaW5nKTogc3RyaW5nIHtcblx0cmV0dXJuIHBhcmFtZXRlckxpbmUudHJpbSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFeGNsdWRlZChsYW5ndWFnZTogc3RyaW5nLCBleGNsdWRlZExhbmd1YWdlc1N0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XG5cdHJldHVybiBwYXJzZVJlZ2V4RXhjbHVkZWRMYW5ndWFnZXMoZXhjbHVkZWRMYW5ndWFnZXNTdHJpbmcpLnNvbWUocmVnZXhFeGNsdWRlZExhbmd1YWdlID0+IHtcblx0XHRpZiAocmVnZXhFeGNsdWRlZExhbmd1YWdlLnRlc3QobGFuZ3VhZ2UpKVxuXHRcdFx0cmV0dXJuIHRydWU7XG5cdH0pO1xufVxuZnVuY3Rpb24gcGFyc2VSZWdleEV4Y2x1ZGVkTGFuZ3VhZ2VzKGV4Y2x1ZGVkTGFuZ3VhZ2VzU3RyaW5nOiBzdHJpbmcpOiBBcnJheTxSZWdFeHA+IHtcblx0cmV0dXJuIGV4Y2x1ZGVkTGFuZ3VhZ2VzU3RyaW5nLnNwbGl0KFwiLFwiKS5tYXAocmVnZXhMYW5ndWFnZSA9PiBuZXcgUmVnRXhwKGBeJHtyZWdleExhbmd1YWdlLnRyaW0oKS5yZXBsYWNlKC9cXCovZywnLisnKX0kYCwnaScpKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RmlsZUNvbnRlbnRMaW5lcyhzb3VyY2VQYXRoOiBzdHJpbmcsIHBsdWdpbjogQ29kZWJsb2NrU3R5bGVyUGx1Z2luKTogUHJvbWlzZTxBcnJheTxzdHJpbmc+IHwgdW5kZWZpbmVkPiB7XG5cdGNvbnN0IGZpbGUgPSBwbHVnaW4uYXBwLnZhdWx0LmdldEFic3RyYWN0RmlsZUJ5UGF0aChzb3VyY2VQYXRoKTtcblx0aWYgKCFmaWxlKSB7XG5cdFx0Y29uc29sZS5lcnJvcihgRmlsZSBub3QgZm91bmQ6ICR7c291cmNlUGF0aH1gKTtcblx0XHRyZXR1cm47XG5cdH1cblx0Y29uc3QgZmlsZUNvbnRlbnQgPSBhd2FpdCBwbHVnaW4uYXBwLnZhdWx0LmNhY2hlZFJlYWQoPFRGaWxlPiBmaWxlKS5jYXRjaCgoZXJyb3IpID0+IHtcblx0XHRjb25zb2xlLmVycm9yKGBFcnJvciByZWFkaW5nIGZpbGU6ICR7ZXJyb3IubWVzc2FnZX1gKTtcblx0XHRyZXR1cm4gJyc7XG5cdH0pO1xuXHRpZiAoIWZpbGVDb250ZW50KVxuXHRcdHJldHVybjtcblx0cmV0dXJuIGZpbGVDb250ZW50LnNwbGl0KC9cXG4vZyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcnJheXNFcXVhbChhcnJheTE6IEFycmF5PGFueT4sYXJyYXkyOiBBcnJheTxhbnk+KTogYm9vbGVhbiB7XG5cdHJldHVybiBhcnJheTEubGVuZ3RoID09PSBhcnJheTIubGVuZ3RoICYmIGFycmF5MS5ldmVyeSgoZWwpID0+IGFycmF5Mi5pbmNsdWRlcyhlbCkpO1xufVxuIiwgImltcG9ydCB7IExBTkdVQUdFX05BTUVTLCBDb2RlYmxvY2tTdHlsZXJUaGVtZVNldHRpbmdzIH0gZnJvbSBcIi4vU2V0dGluZ3NcIjtcbmltcG9ydCB7IENvZGVibG9ja1BhcmFtZXRlcnMsIEhpZ2hsaWdodHMgfSBmcm9tIFwiLi9Db2RlYmxvY2tQYXJzaW5nXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVIZWFkZXIoY29kZWJsb2NrUGFyYW1ldGVyczogQ29kZWJsb2NrUGFyYW1ldGVycywgdGhlbWVTZXR0aW5nczogQ29kZWJsb2NrU3R5bGVyVGhlbWVTZXR0aW5ncywgbGFuZ3VhZ2VJY29uczogUmVjb3JkPHN0cmluZyxzdHJpbmc+KTogSFRNTEVsZW1lbnQge1xuXHRjb25zdCBoZWFkZXJDb250YWluZXIgPSBjcmVhdGVEaXYoe2NsczogYGNvZGVibG9jay1zdHlsZXItaGVhZGVyLWNvbnRhaW5lciR7KGNvZGVibG9ja1BhcmFtZXRlcnMuZm9sZC5lbmFibGVkIHx8IGNvZGVibG9ja1BhcmFtZXRlcnMudGl0bGUgIT09ICcnKT8nLXNwZWNpZmljJzonJ31gfSk7XG5cdGlmIChjb2RlYmxvY2tQYXJhbWV0ZXJzLmxhbmd1YWdlICE9PSAnJyl7XG5cdFx0Y29uc3QgSWNvblVSTCA9IGdldExhbmd1YWdlSWNvbihjb2RlYmxvY2tQYXJhbWV0ZXJzLmxhbmd1YWdlLGxhbmd1YWdlSWNvbnMpXG5cdFx0aWYgKEljb25VUkwgIT09IG51bGwpIHtcblx0XHRcdGNvbnN0IGltYWdlV3JhcHBlciA9IGNyZWF0ZURpdigpO1xuXHRcdFx0Y29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImltZ1wiKTtcblx0XHRcdGltZy5jbGFzc0xpc3QuYWRkKFwiY29kZWJsb2NrLXN0eWxlci1pY29uXCIpO1xuXHRcdFx0aW1nLnNyYyA9IEljb25VUkw7XG5cdFx0XHRpbWFnZVdyYXBwZXIuYXBwZW5kQ2hpbGQoaW1nKTtcblx0XHRcdGhlYWRlckNvbnRhaW5lci5hcHBlbmRDaGlsZChpbWFnZVdyYXBwZXIpO1xuXHRcdH1cblx0XHRoZWFkZXJDb250YWluZXIuYXBwZW5kQ2hpbGQoY3JlYXRlRGl2KHtjbHM6IGBjb2RlYmxvY2stc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWctJHtjb2RlYmxvY2tQYXJhbWV0ZXJzLmxhbmd1YWdlfWAsIHRleHQ6IGdldExhbmd1YWdlVGFnKGNvZGVibG9ja1BhcmFtZXRlcnMubGFuZ3VhZ2UpfSkpO1xuXHR9XG5cdFxuXHRsZXQgaGVhZGVyVGV4dCA9ICcnO1xuXHRpZiAoY29kZWJsb2NrUGFyYW1ldGVycy50aXRsZSAhPT0gJycpXG5cdFx0aGVhZGVyVGV4dCA9IGNvZGVibG9ja1BhcmFtZXRlcnMudGl0bGU7XG5cdGVsc2UgaWYgKGNvZGVibG9ja1BhcmFtZXRlcnMuZm9sZC5lbmFibGVkKVxuXHRcdGlmIChjb2RlYmxvY2tQYXJhbWV0ZXJzLmZvbGQucGxhY2Vob2xkZXIhPT0nJylcblx0XHRcdGhlYWRlclRleHQgPSBjb2RlYmxvY2tQYXJhbWV0ZXJzLmZvbGQucGxhY2Vob2xkZXI7XG5cdFx0ZWxzZVxuXHRcdFx0aGVhZGVyVGV4dCA9IHRoZW1lU2V0dGluZ3MuaGVhZGVyLmNvbGxhcHNlUGxhY2Vob2xkZXIhPT0nJz90aGVtZVNldHRpbmdzLmhlYWRlci5jb2xsYXBzZVBsYWNlaG9sZGVyOidDb2xsYXBzZWQgQ29kZSc7XG5cdGhlYWRlckNvbnRhaW5lci5hcHBlbmRDaGlsZChjcmVhdGVEaXYoe2NsczogXCJjb2RlYmxvY2stc3R5bGVyLWhlYWRlci10ZXh0XCIsIHRleHQ6IGhlYWRlclRleHR9KSk7ICAgXG5cblx0cmV0dXJuIGhlYWRlckNvbnRhaW5lcjtcbn1cblxuZnVuY3Rpb24gZ2V0TGFuZ3VhZ2VUYWcobGFuZ3VhZ2U6IHN0cmluZykge1xuXHRpZiAobGFuZ3VhZ2UgaW4gTEFOR1VBR0VfTkFNRVMpXG5cdFx0cmV0dXJuIExBTkdVQUdFX05BTUVTW2xhbmd1YWdlXTtcblx0ZWxzZSBpZiAobGFuZ3VhZ2UgIT09ICcnKVxuXHRcdHJldHVybiBsYW5ndWFnZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGxhbmd1YWdlLnNsaWNlKDEpO1xuXHRyZXR1cm4gXCJcIjtcbn1cbmZ1bmN0aW9uIGdldExhbmd1YWdlSWNvbihsYW5ndWFnZTogc3RyaW5nLCBsYW5ndWFnZUljb25zOiBSZWNvcmQ8c3RyaW5nLHN0cmluZz4pIHtcblx0bGFuZ3VhZ2UgPSBnZXRMYW5ndWFnZVRhZyhsYW5ndWFnZSk7XG5cdGlmIChsYW5ndWFnZSBpbiBsYW5ndWFnZUljb25zKVxuXHRcdHJldHVybiBsYW5ndWFnZUljb25zW2xhbmd1YWdlXTtcblx0cmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5lQ2xhc3MoY29kZWJsb2NrUGFyYW1ldGVyczogQ29kZWJsb2NrUGFyYW1ldGVycywgbGluZU51bWJlcjogbnVtYmVyLCBsaW5lOiBzdHJpbmcpOiBBcnJheTxzdHJpbmc+IHtcblx0bGV0IGNsYXNzTGlzdDogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXHRpZiAoY29kZWJsb2NrUGFyYW1ldGVycy5oaWdobGlnaHRzLmRlZmF1bHQubGluZU51bWJlcnMuaW5jbHVkZXMobGluZU51bWJlcikgfHwgY29kZWJsb2NrUGFyYW1ldGVycy5oaWdobGlnaHRzLmRlZmF1bHQucGxhaW5UZXh0LnNvbWUodGV4dCA9PiBsaW5lLmluZGV4T2YodGV4dCkgPiAtMSkgfHwgY29kZWJsb2NrUGFyYW1ldGVycy5oaWdobGlnaHRzLmRlZmF1bHQucmVndWxhckV4cHJlc3Npb25zLnNvbWUocmVnRXhwID0+IHJlZ0V4cC50ZXN0KGxpbmUpKSlcblx0XHRjbGFzc0xpc3QucHVzaCgnY29kZWJsb2NrLXN0eWxlci1saW5lLWhpZ2hsaWdodGVkJyk7XG5cdE9iamVjdC5lbnRyaWVzKGNvZGVibG9ja1BhcmFtZXRlcnMuaGlnaGxpZ2h0cy5hbHRlcm5hdGl2ZSkuZm9yRWFjaCgoW2FsdGVybmF0aXZlSGlnaGxpZ2h0LGhpZ2hsaWdodGVkTGluZXNdOiBbc3RyaW5nLEhpZ2hsaWdodHNdKSA9PiB7XG5cdFx0aWYgKGhpZ2hsaWdodGVkTGluZXMubGluZU51bWJlcnMuaW5jbHVkZXMobGluZU51bWJlcikgfHwgaGlnaGxpZ2h0ZWRMaW5lcy5wbGFpblRleHQuc29tZSh0ZXh0ID0+IGxpbmUuaW5kZXhPZih0ZXh0KSA+IC0xKSB8fCBoaWdobGlnaHRlZExpbmVzLnJlZ3VsYXJFeHByZXNzaW9ucy5zb21lKHJlZ0V4cCA9PiByZWdFeHAudGVzdChsaW5lKSkpXG5cdFx0XHRjbGFzc0xpc3QucHVzaChgY29kZWJsb2NrLXN0eWxlci1saW5lLWhpZ2hsaWdodGVkLSR7YWx0ZXJuYXRpdmVIaWdobGlnaHQucmVwbGFjZSgvXFxzKy9nLCAnLScpLnRvTG93ZXJDYXNlKCl9YCk7XG5cdH0pXG5cdGlmIChjbGFzc0xpc3QubGVuZ3RoID09PSAwKVxuXHRcdGNsYXNzTGlzdCA9IFsnY29kZWJsb2NrLXN0eWxlci1saW5lJ11cblx0cmV0dXJuIGNsYXNzTGlzdDtcbn1cbiIsICJpbXBvcnQgeyBNYXJrZG93blNlY3Rpb25JbmZvcm1hdGlvbiwgQ2FjaGVkTWV0YWRhdGEsIHNhbml0aXplSFRNTFRvRG9tLCBGcm9udE1hdHRlckNhY2hlIH0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbmltcG9ydCBDb2RlYmxvY2tTdHlsZXJQbHVnaW4gZnJvbSBcIi4vbWFpblwiO1xuaW1wb3J0IHsgUFJJTUFSWV9ERUxBWSwgU0VDT05EQVJZX0RFTEFZIH0gZnJvbSBcIi4vU2V0dGluZ3NcIjtcbmltcG9ydCB7IENvZGVibG9ja1BhcmFtZXRlcnMsIGdldEZpbGVDb250ZW50TGluZXMsIGlzRXhjbHVkZWQsIHBhcnNlQ29kZWJsb2NrU291cmNlIH0gZnJvbSBcIi4vQ29kZWJsb2NrUGFyc2luZ1wiO1xuaW1wb3J0IHsgY3JlYXRlSGVhZGVyLCBnZXRMaW5lQ2xhc3MgfSBmcm9tIFwiLi9Db2RlYmxvY2tEZWNvcmF0aW5nXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkaW5nVmlld1Bvc3RQcm9jZXNzb3IoZWxlbWVudDogSFRNTEVsZW1lbnQsIHtzb3VyY2VQYXRoLGdldFNlY3Rpb25JbmZvLGZyb250bWF0dGVyfToge3NvdXJjZVBhdGg6IHN0cmluZywgZ2V0U2VjdGlvbkluZm86IChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4gTWFya2Rvd25TZWN0aW9uSW5mb3JtYXRpb24gfCBudWxsLCBmcm9udG1hdHRlcjogRnJvbnRNYXR0ZXJDYWNoZSB8IHVuZGVmaW5lZH0sIHBsdWdpbjogQ29kZWJsb2NrU3R5bGVyUGx1Z2luLCBlZGl0aW5nRW1iZWRzOiBib29sZWFuID0gZmFsc2UpIHtcblx0Y29uc3QgY2FjaGU6IENhY2hlZE1ldGFkYXRhIHwgbnVsbCA9IHBsdWdpbi5hcHAubWV0YWRhdGFDYWNoZS5nZXRDYWNoZShzb3VyY2VQYXRoKTtcblx0aWYgKHNvdXJjZVBhdGggPT09ICcnIHx8IChmcm9udG1hdHRlciA/PyBjYWNoZT8uZnJvbnRtYXR0ZXIpPy5bJ2NvZGVibG9jay1zdHlsZXItaWdub3JlJ10gPT09IHRydWUpXG5cdFx0cmV0dXJuO1xuXHRcblx0YXdhaXQgc2xlZXAoNTApO1xuXHQvLyBjb25zdCB2aWV3OiBNYXJrZG93blZpZXcgfCBudWxsID0gcGx1Z2luLmFwcC53b3Jrc3BhY2UuZ2V0QWN0aXZlVmlld09mVHlwZShNYXJrZG93blZpZXcpOyAvL3RvZG9cblx0Ly8gaWYgKCFlbGVtZW50ICYmIHZpZXcpIC8vdG9kb1xuXHRpZiAoIWVsZW1lbnQpIC8vdG9kb1xuXHRcdGNvbnNvbGUubG9nKCdvaCBubyEnLGVsZW1lbnQpIC8vdG9kb1xuXHRcdC8vIGVsZW1lbnQgPSB2aWV3LmNvbnRlbnRFbDsgLy90b2RvXG5cdGxldCBjb2RlYmxvY2tQcmVFbGVtZW50czogQXJyYXk8SFRNTEVsZW1lbnQ+O1xuXHRlZGl0aW5nRW1iZWRzID0gZWRpdGluZ0VtYmVkcyB8fCBCb29sZWFuKGVsZW1lbnQubWF0Y2hQYXJlbnQoXCIuY20tZW1iZWQtYmxvY2tcIikpO1xuXHRjb25zdCBzcGVjaWZpYyA9ICFlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudmlldy1jb250ZW50ID4gKlwiKTtcblxuXHRpZiAoIWVkaXRpbmdFbWJlZHMgJiYgIXNwZWNpZmljKVxuXHRcdGNvZGVibG9ja1ByZUVsZW1lbnRzID0gQXJyYXkuZnJvbShlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tYXJrZG93bi1yZWFkaW5nLXZpZXcgcHJlOm5vdCguZnJvbnRtYXR0ZXIpJykpO1xuXHRlbHNlIGlmICghZWRpdGluZ0VtYmVkcyAmJiBzcGVjaWZpYylcblx0XHRjb2RlYmxvY2tQcmVFbGVtZW50cyA9IEFycmF5LmZyb20oZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdwcmU6bm90KC5mcm9udG1hdHRlciknKSk7XG5cdGVsc2UgaWYgKGVkaXRpbmdFbWJlZHMgJiYgIXNwZWNpZmljKVxuXHRcdGNvZGVibG9ja1ByZUVsZW1lbnRzID0gQXJyYXkuZnJvbShlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tYXJrZG93bi1zb3VyY2UtdmlldyAuY20tZW1iZWQtYmxvY2sgcHJlOm5vdCguZnJvbnRtYXR0ZXIpJykpO1xuXHRlbHNlXG5cdFx0Y29kZWJsb2NrUHJlRWxlbWVudHMgPSBbXTtcblx0aWYgKGNvZGVibG9ja1ByZUVsZW1lbnRzLmxlbmd0aCA9PT0gMCAmJiAhKGVkaXRpbmdFbWJlZHMgJiYgc3BlY2lmaWMpKVxuXHRcdHJldHVybjtcblxuXHRpZiAoIWVkaXRpbmdFbWJlZHMpIHtcblx0XHRjb25zdCByZWFkaW5nVmlld1BhcmVudCA9IGVsZW1lbnQubWF0Y2hQYXJlbnQoJy52aWV3LWNvbnRlbnQgPiAubWFya2Rvd24tcmVhZGluZy12aWV3ID4gLm1hcmtkb3duLXByZXZpZXctdmlldyA+IC5tYXJrZG93bi1wcmV2aWV3LXNlY3Rpb24nKTtcblx0XHRpZiAocmVhZGluZ1ZpZXdQYXJlbnQpXG5cdFx0XHRwbHVnaW4ucmVhZGluZ1N0eWxpbmdNdXRhdGlvbk9ic2VydmVyLm9ic2VydmUocmVhZGluZ1ZpZXdQYXJlbnQse1xuXHRcdFx0XHRjaGlsZExpc3Q6IHRydWUsXG5cdFx0XHRcdGF0dHJpYnV0ZXM6IGZhbHNlLFxuXHRcdFx0XHRjaGFyYWN0ZXJEYXRhOiBmYWxzZSxcblx0XHRcdFx0c3VidHJlZTogZmFsc2UsXG5cdFx0XHR9KVxuXHR9XG5cblx0Y29uc3QgY29kZWJsb2NrU2VjdGlvbkluZm86IE1hcmtkb3duU2VjdGlvbkluZm9ybWF0aW9uIHwgbnVsbD0gZ2V0U2VjdGlvbkluZm8oY29kZWJsb2NrUHJlRWxlbWVudHNbMF0pO1xuXHRpZiAoY29kZWJsb2NrU2VjdGlvbkluZm8gJiYgc3BlY2lmaWMgJiYgIWVkaXRpbmdFbWJlZHMpXG5cdFx0cmVuZGVyU3BlY2lmaWNSZWFkaW5nU2VjdGlvbihjb2RlYmxvY2tQcmVFbGVtZW50cyxzb3VyY2VQYXRoLGNvZGVibG9ja1NlY3Rpb25JbmZvLHBsdWdpbik7XG5cdGVsc2UgaWYgKHNwZWNpZmljKSB7XG5cdFx0aWYgKCEoIWVkaXRpbmdFbWJlZHMgJiYgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCJhZG1vbml0aW9uLWNvbnRlbnRcIikpKVxuXHRcdFx0YXdhaXQgcmVhZGluZ1ZpZXdQb3N0UHJvY2Vzc29yKGVsZW1lbnQubWF0Y2hQYXJlbnQoJy52aWV3LWNvbnRlbnQnKSBhcyBIVE1MRWxlbWVudCx7c291cmNlUGF0aCxnZXRTZWN0aW9uSW5mbyxmcm9udG1hdHRlcn0scGx1Z2luLGVkaXRpbmdFbWJlZHMpOyAvLyBSZS1yZW5kZXIgd2hvbGUgZG9jdW1lbnRcblx0fVxuXHRlbHNlXG5cdFx0cmVuZGVyRG9jdW1lbnQoY29kZWJsb2NrUHJlRWxlbWVudHMsc291cmNlUGF0aCxjYWNoZSxlZGl0aW5nRW1iZWRzLHBsdWdpbik7XG59XG5hc3luYyBmdW5jdGlvbiByZW5kZXJTcGVjaWZpY1JlYWRpbmdTZWN0aW9uKGNvZGVibG9ja1ByZUVsZW1lbnRzOiBBcnJheTxIVE1MRWxlbWVudD4sIHNvdXJjZVBhdGg6IHN0cmluZywgY29kZWJsb2NrU2VjdGlvbkluZm86IE1hcmtkb3duU2VjdGlvbkluZm9ybWF0aW9uLCBwbHVnaW46IENvZGVibG9ja1N0eWxlclBsdWdpbik6IFByb21pc2U8dm9pZD4ge1xuXHRjb25zdCBjb2RlYmxvY2tzUGFyYW1ldGVycyA9IChhd2FpdCBwYXJzZUNvZGVibG9ja1NvdXJjZShBcnJheS5mcm9tKHtsZW5ndGg6IGNvZGVibG9ja1NlY3Rpb25JbmZvLmxpbmVFbmQtY29kZWJsb2NrU2VjdGlvbkluZm8ubGluZVN0YXJ0KzF9LCAoXyxudW0pID0+IG51bSArIGNvZGVibG9ja1NlY3Rpb25JbmZvLmxpbmVTdGFydCkubWFwKChsaW5lTnVtYmVyKT0+Y29kZWJsb2NrU2VjdGlvbkluZm8udGV4dC5zcGxpdCgnXFxuJylbbGluZU51bWJlcl0pLHNvdXJjZVBhdGgscGx1Z2luKSkuY29kZWJsb2Nrc1BhcmFtZXRlcnM7XG5cdGlmIChjb2RlYmxvY2tQcmVFbGVtZW50cy5sZW5ndGggIT09IGNvZGVibG9ja3NQYXJhbWV0ZXJzLmxlbmd0aClcblx0XHRyZXR1cm47XG5cdGZvciAobGV0IFtrZXksY29kZWJsb2NrUHJlRWxlbWVudF0gb2YgY29kZWJsb2NrUHJlRWxlbWVudHMuZW50cmllcygpKSB7XG5cdFx0bGV0IGNvZGVibG9ja1BhcmFtZXRlcnMgPSBjb2RlYmxvY2tzUGFyYW1ldGVyc1trZXldO1xuXHRcdGxldCBjb2RlYmxvY2tDb2RlRWxlbWVudCA9IGNvZGVibG9ja1ByZUVsZW1lbnQucXVlcnlTZWxlY3RvcigncHJlID4gY29kZScpO1xuXHRcdGlmICghY29kZWJsb2NrQ29kZUVsZW1lbnQpXG5cdFx0XHRyZXR1cm47XG5cdFx0aWYgKEFycmF5LmZyb20oY29kZWJsb2NrQ29kZUVsZW1lbnQuY2xhc3NMaXN0KS5zb21lKGNsYXNzTmFtZSA9PiAvXmxhbmd1YWdlLVxcUysvLnRlc3QoY2xhc3NOYW1lKSkpXG5cdFx0XHR3aGlsZSghY29kZWJsb2NrQ29kZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwiaXMtbG9hZGVkXCIpKVxuXHRcdFx0XHRhd2FpdCBzbGVlcCgyKTtcblx0XHRpZiAoaXNFeGNsdWRlZChjb2RlYmxvY2tQYXJhbWV0ZXJzLmxhbmd1YWdlLHBsdWdpbi5zZXR0aW5ncy5leGNsdWRlZExhbmd1YWdlcykgfHwgY29kZWJsb2NrUGFyYW1ldGVycy5pZ25vcmUpXG5cdFx0XHRjb250aW51ZTtcblx0XHRhd2FpdCByZW1ha2VDb2RlYmxvY2soY29kZWJsb2NrQ29kZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQsY29kZWJsb2NrUHJlRWxlbWVudCxjb2RlYmxvY2tQYXJhbWV0ZXJzLHBsdWdpbik7XG5cdH1cbn1cbmFzeW5jIGZ1bmN0aW9uIHJlbmRlckRvY3VtZW50KGNvZGVibG9ja1ByZUVsZW1lbnRzOiBBcnJheTxIVE1MRWxlbWVudD4sIHNvdXJjZVBhdGg6IHN0cmluZywgY2FjaGU6IENhY2hlZE1ldGFkYXRhIHwgbnVsbCwgZWRpdGluZ0VtYmVkczogYm9vbGVhbiwgcGx1Z2luOiBDb2RlYmxvY2tTdHlsZXJQbHVnaW4pIHtcblx0Y29uc3QgZmlsZUNvbnRlbnRMaW5lcyA9IGF3YWl0IGdldEZpbGVDb250ZW50TGluZXMoc291cmNlUGF0aCxwbHVnaW4pO1xuXHRpZiAoIWZpbGVDb250ZW50TGluZXMpXG5cdFx0cmV0dXJuO1xuXHRsZXQgY29kZWJsb2Nrc1BhcmFtZXRlcnM6IEFycmF5PENvZGVibG9ja1BhcmFtZXRlcnM+ID0gW107XG5cblx0aWYgKHR5cGVvZiBjYWNoZT8uc2VjdGlvbnMgIT09ICd1bmRlZmluZWQnKSB7XG5cdFx0Zm9yIChjb25zdCBzZWN0aW9uIG9mIGNhY2hlLnNlY3Rpb25zKSB7XG5cdFx0XHRpZiAoIWVkaXRpbmdFbWJlZHMgfHwgc2VjdGlvbi50eXBlID09PSAnY29kZScgfHwgc2VjdGlvbi50eXBlID09PSAnY2FsbG91dCcpIHtcblx0XHRcdFx0Y29uc3QgcGFyc2VkQ29kZWJsb2Nrc1BhcmFtZXRlcnMgPSBhd2FpdCBwYXJzZUNvZGVibG9ja1NvdXJjZShmaWxlQ29udGVudExpbmVzLnNsaWNlKHNlY3Rpb24ucG9zaXRpb24uc3RhcnQubGluZSxzZWN0aW9uLnBvc2l0aW9uLmVuZC5saW5lKzEpLHNvdXJjZVBhdGgscGx1Z2luKTtcblx0XHRcdFx0aWYgKCFlZGl0aW5nRW1iZWRzIHx8IHBhcnNlZENvZGVibG9ja3NQYXJhbWV0ZXJzLm5lc3RlZClcblx0XHRcdFx0XHRjb2RlYmxvY2tzUGFyYW1ldGVycyA9IGNvZGVibG9ja3NQYXJhbWV0ZXJzLmNvbmNhdChwYXJzZWRDb2RlYmxvY2tzUGFyYW1ldGVycy5jb2RlYmxvY2tzUGFyYW1ldGVycyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IGVsc2Uge1xuXHRcdGNvbnNvbGUuZXJyb3IoYE1ldGFkYXRhIGNhY2hlIG5vdCBmb3VuZCBmb3IgZmlsZTogJHtzb3VyY2VQYXRofWApO1xuXHRcdHJldHVybjtcblx0fVxuXHRpZiAoY29kZWJsb2NrUHJlRWxlbWVudHMubGVuZ3RoICE9PSBjb2RlYmxvY2tzUGFyYW1ldGVycy5sZW5ndGgpXG5cdFx0cmV0dXJuO1xuXHR0cnkge1xuXHRcdGZvciAobGV0IFtrZXksY29kZWJsb2NrUHJlRWxlbWVudF0gb2YgQXJyYXkuZnJvbShjb2RlYmxvY2tQcmVFbGVtZW50cykuZW50cmllcygpKSB7XG5cdFx0XHRsZXQgY29kZWJsb2NrUGFyYW1ldGVycyA9IGNvZGVibG9ja3NQYXJhbWV0ZXJzW2tleV07XG5cdFx0XHRsZXQgY29kZWJsb2NrQ29kZUVsZW1lbnQ6IEhUTUxQcmVFbGVtZW50IHwgbnVsbCA9IGNvZGVibG9ja1ByZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcInByZSA+IGNvZGVcIik7XG5cdFx0XHRpZiAoIWNvZGVibG9ja0NvZGVFbGVtZW50KVxuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHRpZiAoQXJyYXkuZnJvbShjb2RlYmxvY2tDb2RlRWxlbWVudC5jbGFzc0xpc3QpLnNvbWUoY2xhc3NOYW1lID0+IC9ebGFuZ3VhZ2UtXFxTKy8udGVzdChjbGFzc05hbWUpKSlcblx0XHRcdFx0d2hpbGUoIWNvZGVibG9ja0NvZGVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhcImlzLWxvYWRlZFwiKSlcblx0XHRcdFx0XHRhd2FpdCBzbGVlcCgyKTtcblx0XHRcdGlmIChjb2RlYmxvY2tDb2RlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiY29kZSBbY2xhc3MqPSdjb2RlYmxvY2stc3R5bGVyLWxpbmUnXVwiKSlcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHRpZiAoaXNFeGNsdWRlZChjb2RlYmxvY2tQYXJhbWV0ZXJzLmxhbmd1YWdlLHBsdWdpbi5zZXR0aW5ncy5leGNsdWRlZExhbmd1YWdlcykgfHwgY29kZWJsb2NrUGFyYW1ldGVycy5pZ25vcmUpXG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0YXdhaXQgcmVtYWtlQ29kZWJsb2NrKGNvZGVibG9ja0NvZGVFbGVtZW50LGNvZGVibG9ja1ByZUVsZW1lbnQsY29kZWJsb2NrUGFyYW1ldGVycyxwbHVnaW4pO1xuXHRcdH1cblx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRjb25zb2xlLmVycm9yKGBFcnJvciByZW5kZXJpbmcgZG9jdW1lbnQ6ICR7ZXJyb3IubWVzc2FnZX1gKTtcblx0XHRyZXR1cm47XG5cdH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVtYWtlQ29kZWJsb2NrKGNvZGVibG9ja0NvZGVFbGVtZW50OiBIVE1MRWxlbWVudCwgY29kZWJsb2NrUHJlRWxlbWVudDogSFRNTEVsZW1lbnQsIGNvZGVibG9ja1BhcmFtZXRlcnM6IENvZGVibG9ja1BhcmFtZXRlcnMsIHBsdWdpbjogQ29kZWJsb2NrU3R5bGVyUGx1Z2luKSB7XG5cdC8vIEFkZCBFeGVjdXRlIENvZGUgT2JzZXJ2ZXJcblx0cGx1Z2luLmV4ZWN1dGVDb2RlTXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKGNvZGVibG9ja1ByZUVsZW1lbnQse1xuXHRcdGNoaWxkTGlzdDogdHJ1ZSxcblx0XHRzdWJ0cmVlOiB0cnVlLFxuXHRcdGF0dHJpYnV0ZXM6IHRydWUsXG5cdFx0Y2hhcmFjdGVyRGF0YTogdHJ1ZSxcblx0fSk7XG5cblx0Ly8gQWRkIFBhcmVudCBDbGFzc2VzXG5cdGNvZGVibG9ja1ByZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgY29kZWJsb2NrLXN0eWxlci1wcmVgKTtcblx0aWYgKGNvZGVibG9ja1BhcmFtZXRlcnMubGFuZ3VhZ2UpXG5cdFx0Y29kZWJsb2NrUHJlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBsYW5ndWFnZS0ke2NvZGVibG9ja1BhcmFtZXRlcnMubGFuZ3VhZ2V9YCk7XG5cdGlmIChjb2RlYmxvY2tQcmVFbGVtZW50LnBhcmVudEVsZW1lbnQpXG5cdFx0Y29kZWJsb2NrUHJlRWxlbWVudC5wYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoYGNvZGVibG9jay1zdHlsZXItcHJlLXBhcmVudGApO1xuXG5cdC8vIENyZWF0ZSBIZWFkZXJcblx0Y29uc3QgaGVhZGVyQ29udGFpbmVyID0gY3JlYXRlSGVhZGVyKGNvZGVibG9ja1BhcmFtZXRlcnMsIHBsdWdpbi5zZXR0aW5ncy5jdXJyZW50VGhlbWUuc2V0dGluZ3MscGx1Z2luLmxhbmd1YWdlSWNvbnMpO1xuXHRjb2RlYmxvY2tQcmVFbGVtZW50Lmluc2VydEJlZm9yZShoZWFkZXJDb250YWluZXIsIGNvZGVibG9ja1ByZUVsZW1lbnQuY2hpbGROb2Rlc1swXSk7XG5cdFxuXHQvLyBBZGQgbGlzdGVuZXIgZm9yIGhlYWRlciBjb2xsYXBzaW5nIG9uIGNsaWNrXG5cdGhlYWRlckNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCk9Pntcblx0XHRjb2RlYmxvY2tQcmVFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoXCJjb2RlYmxvY2stc3R5bGVyLWNvZGVibG9jay1jb2xsYXBzZWRcIilcblx0XHRpZiAoY29kZWJsb2NrQ29kZUVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0KVxuXHRcdFx0Y29kZWJsb2NrQ29kZUVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0ID0gJyc7XG5cdFx0ZWxzZVxuXHRcdFx0Y29kZWJsb2NrQ29kZUVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0ID0gJ3ZhcigtLXRydWUtaGVpZ2h0KSc7XG5cdFx0Y29uc3QgZXhlY3V0ZUNvZGVPdXRwdXQgPSAoY29kZWJsb2NrUHJlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdwcmUgPiBjb2RlIH4gY29kZS5sYW5ndWFnZS1vdXRwdXQnKSBhcyBIVE1MRWxlbWVudCk7XG5cdFx0aWYgKGV4ZWN1dGVDb2RlT3V0cHV0ICYmIGV4ZWN1dGVDb2RlT3V0cHV0LnN0eWxlLmRpc3BsYXkgIT09ICdub25lJykge1xuXHRcdFx0aWYgKGV4ZWN1dGVDb2RlT3V0cHV0LnN0eWxlLm1heEhlaWdodClcblx0XHRcdFx0ZXhlY3V0ZUNvZGVPdXRwdXQuc3R5bGUubWF4SGVpZ2h0ID0gJyc7XG5cdFx0XHRlbHNlXG5cdFx0XHRcdGV4ZWN1dGVDb2RlT3V0cHV0LnN0eWxlLm1heEhlaWdodCA9ICd2YXIoLS10cnVlLWhlaWdodCknO1xuXHRcdH1cblx0fSk7XG5cblx0Ly8gTGluZSBXcmFwcGluZyBDbGFzc2VzXG5cdGlmIChjb2RlYmxvY2tQYXJhbWV0ZXJzLmxpbmVVbndyYXAuYWx3YXlzRW5hYmxlZCkge1xuXHRcdGNvZGVibG9ja0NvZGVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWxpbmUtd3JhcHBpbmcnLCdwcmUnKTtcblx0XHRpZiAoY29kZWJsb2NrUGFyYW1ldGVycy5saW5lVW53cmFwLmFjdGl2ZVdyYXApXG5cdFx0XHRjb2RlYmxvY2tDb2RlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1saW5lLWFjdGl2ZS13cmFwcGluZycsJ3ByZS13cmFwJyk7XG5cdFx0ZWxzZVxuXHRcdFx0Y29kZWJsb2NrQ29kZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tbGluZS1hY3RpdmUtd3JhcHBpbmcnLCdwcmUnKTtcblx0fSBlbHNlIGlmIChjb2RlYmxvY2tQYXJhbWV0ZXJzLmxpbmVVbndyYXAuYWx3YXlzRGlzYWJsZWQpXG5cdFx0Y29kZWJsb2NrQ29kZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tbGluZS13cmFwcGluZycsJ3ByZS13cmFwJyk7XG5cblx0Ly8gSGVpZ2h0IFNldHRpbmcgKGZvciBjb2xsYXBzZSBhbmltYXRpb24pIC0gRGVsYXkgdG8gcmV0dXJuIGNvcnJlY3QgaGVpZ2h0XG5cdHNldFRpbWVvdXQoKCk9PntzZXRDb2xsYXBzZVN0eWxpbmcoY29kZWJsb2NrUHJlRWxlbWVudCxjb2RlYmxvY2tDb2RlRWxlbWVudCxjb2RlYmxvY2tQYXJhbWV0ZXJzLmZvbGQuZW5hYmxlZCl9LFBSSU1BUllfREVMQVkpO1xuXG5cdC8vdG9kbyAoQG1heXVyYW5rdikgTmFtZSBzZWN0aW9uXG5cdGlmIChjb2RlYmxvY2tDb2RlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiY29kZSBbY2xhc3MqPSdjb2RlYmxvY2stc3R5bGVyLWxpbmUnXVwiKSlcblx0XHRyZXR1cm47XG5cblx0Ly90b2RvIChAbWF5dXJhbmt2KSBOYW1lIHNlY3Rpb25cblx0bGV0IGNvZGVibG9ja0xpbmVzID0gY29kZWJsb2NrQ29kZUVsZW1lbnQuaW5uZXJIVE1MLnNwbGl0KFwiXFxuXCIpO1xuXHRpZiAoY29kZWJsb2NrTGluZXMubGVuZ3RoID09IDEpXG5cdFx0Y29kZWJsb2NrTGluZXMgPSBbJycsJyddO1xuXHRjb2RlYmxvY2tDb2RlRWxlbWVudC5pbm5lckhUTUwgPSBcIlwiO1xuXHRjb2RlYmxvY2tMaW5lcy5mb3JFYWNoKChsaW5lLGluZGV4KSA9PiB7XG5cdFx0aWYgKGluZGV4ID09PSBjb2RlYmxvY2tMaW5lcy5sZW5ndGgtMSlcblx0XHRcdHJldHVybjtcblx0XHRjb25zdCBsaW5lTnVtYmVyID0gaW5kZXggKyAxO1xuXHRcdGNvbnN0IGxpbmVXcmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcblx0XHRnZXRMaW5lQ2xhc3MoY29kZWJsb2NrUGFyYW1ldGVycyxsaW5lTnVtYmVyLGxpbmUpLmZvckVhY2goKGxpbmVDbGFzcykgPT4ge1xuXHRcdFx0bGluZVdyYXBwZXIuY2xhc3NMaXN0LmFkZChsaW5lQ2xhc3MpO1xuXHRcdH0pO1xuXHRcdGNvZGVibG9ja0NvZGVFbGVtZW50LmFwcGVuZENoaWxkKGxpbmVXcmFwcGVyKTtcblx0XHRsZXQgbGluZU51bWJlckRpc3BsYXkgPSAnJztcblx0XHRpZiAoIWNvZGVibG9ja1BhcmFtZXRlcnMubGluZU51bWJlcnMuYWx3YXlzRW5hYmxlZCAmJiBjb2RlYmxvY2tQYXJhbWV0ZXJzLmxpbmVOdW1iZXJzLmFsd2F5c0Rpc2FibGVkKVxuXHRcdFx0bGluZU51bWJlckRpc3BsYXkgPSAnLWhpZGUnXG5cdFx0ZWxzZSBpZiAoY29kZWJsb2NrUGFyYW1ldGVycy5saW5lTnVtYmVycy5hbHdheXNFbmFibGVkICYmICFjb2RlYmxvY2tQYXJhbWV0ZXJzLmxpbmVOdW1iZXJzLmFsd2F5c0Rpc2FibGVkKVxuXHRcdFx0bGluZU51bWJlckRpc3BsYXkgPSAnLXNwZWNpZmljJ1xuXHRcdGxpbmVXcmFwcGVyLmFwcGVuZENoaWxkKGNyZWF0ZURpdih7Y2xzOiBgY29kZWJsb2NrLXN0eWxlci1saW5lLW51bWJlciR7bGluZU51bWJlckRpc3BsYXl9YCwgdGV4dDogKGxpbmVOdW1iZXIrY29kZWJsb2NrUGFyYW1ldGVycy5saW5lTnVtYmVycy5vZmZzZXQpLnRvU3RyaW5nKCl9KSk7XG5cdFx0bGluZVdyYXBwZXIuYXBwZW5kQ2hpbGQoY3JlYXRlRGl2KHtjbHM6IGBjb2RlYmxvY2stc3R5bGVyLWxpbmUtdGV4dGAsIHRleHQ6IHNhbml0aXplSFRNTFRvRG9tKGxpbmUgIT09IFwiXCIgPyBsaW5lIDogXCI8YnI+XCIpfSkpO1xuXHR9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiByZW1lYXN1cmVSZWFkaW5nVmlldyhlbGVtZW50OiBIVE1MRWxlbWVudCwgcHJpbWFyeV9kZWxheTogbnVtYmVyID0gUFJJTUFSWV9ERUxBWSk6IHZvaWQge1xuXHRjb25zdCBjb2RlYmxvY2tQcmVFbGVtZW50cyA9IGVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgncHJlOm5vdCguZnJvbnRtYXR0ZXIpJyk7XG5cdGNvZGVibG9ja1ByZUVsZW1lbnRzLmZvckVhY2goKGNvZGVibG9ja1ByZUVsZW1lbnQ6IEhUTUxFbGVtZW50KT0+e1xuXHRcdGxldCBjb2RlYmxvY2tDb2RlRWxlbWVudCA9IGNvZGVibG9ja1ByZUVsZW1lbnQucXVlcnlTZWxlY3RvcigncHJlID4gY29kZScpIGFzIEhUTUxFbGVtZW50O1xuXHRcdGlmICghY29kZWJsb2NrQ29kZUVsZW1lbnQpXG5cdFx0XHRyZXR1cm47XG5cdFx0c2V0VGltZW91dCgoKT0+e3NldENvbGxhcHNlU3R5bGluZyhjb2RlYmxvY2tQcmVFbGVtZW50LGNvZGVibG9ja0NvZGVFbGVtZW50LGNvZGVibG9ja1ByZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdjb2RlYmxvY2stc3R5bGVyLWNvZGVibG9jay1jb2xsYXBzZWQnKSl9LHByaW1hcnlfZGVsYXkpO1xuXHR9KVxufVxuZnVuY3Rpb24gc2V0Q29sbGFwc2VTdHlsaW5nKGNvZGVibG9ja1ByZUVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjb2RlYmxvY2tDb2RlRWxlbWVudDogSFRNTEVsZW1lbnQsIGZvbGQ6IGJvb2xlYW4pOiB2b2lkIHtcblx0Y29kZWJsb2NrQ29kZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tdHJ1ZS1oZWlnaHQnLGBjYWxjKCR7Y29kZWJsb2NrQ29kZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0fXB4ICsgMiAqIHZhcigtLWNvZGUtcGFkZGluZylgKTtcblx0Y29kZWJsb2NrQ29kZUVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0ID0gJ3ZhcigtLXRydWUtaGVpZ2h0KSc7XG5cdGNvZGVibG9ja0NvZGVFbGVtZW50LnN0eWxlLndoaXRlU3BhY2UgPSAndmFyKC0tbGluZS13cmFwcGluZyknO1xuXHRpZiAoZm9sZCkge1xuXHRcdGNvZGVibG9ja1ByZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImNvZGVibG9jay1zdHlsZXItY29kZWJsb2NrLWNvbGxhcHNlZFwiKTtcblx0XHRjb2RlYmxvY2tDb2RlRWxlbWVudC5zdHlsZS5tYXhIZWlnaHQgPSAnJztcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVzdHJveVJlYWRpbmdNb2RlRWxlbWVudHMoKTogdm9pZCB7XG5cdGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIuY29kZWJsb2NrLXN0eWxlci1wcmUtcGFyZW50XCIpLmZvckVhY2goY29kZWJsb2NrUHJlUGFyZW50ID0+IHtcblx0XHRjb2RlYmxvY2tQcmVQYXJlbnQuY2xhc3NMaXN0LnJlbW92ZSgnY29kZWJsb2NrLXN0eWxlci1wcmUtcGFyZW50Jyk7XG5cdH0pO1xuXHRbXG5cdFx0Li4uQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwicHJlLmNvZGVibG9jay1zdHlsZXItcHJlIGRpdltjbGFzc149J2NvZGVibG9jay1zdHlsZXItaGVhZGVyLWNvbnRhaW5lciddXCIpKSxcblx0XHQuLi5BcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJwcmUuY29kZWJsb2NrLXN0eWxlci1wcmUgZGl2W2NsYXNzXj0nY29kZWJsb2NrLXN0eWxlci1saW5lLW51bWJlciddXCIpKSxcblx0XS5mb3JFYWNoKGVsZW1lbnQgPT4gZWxlbWVudC5yZW1vdmUoKSk7XG5cdGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJwcmUuY29kZWJsb2NrLXN0eWxlci1wcmVcIikuZm9yRWFjaChjb2RlYmxvY2tQcmVFbGVtZW50ID0+IHtcblx0XHRjb2RlYmxvY2tQcmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2NvZGVibG9jay1zdHlsZXItcHJlJyk7XG5cdFx0Y29kZWJsb2NrUHJlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdjb2RlYmxvY2stc3R5bGVyLWNvZGVibG9jay1jb2xsYXBzZWQnKTtcblx0XHQoY29kZWJsb2NrUHJlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tdHJ1ZS1oZWlnaHQnKTtcblx0XHQoY29kZWJsb2NrUHJlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tbGluZS1udW1iZXItbWFyZ2luJyk7XG5cdFx0KGNvZGVibG9ja1ByZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnJlbW92ZVByb3BlcnR5KCdtYXgtaGVpZ2h0Jyk7XG5cdFx0KGNvZGVibG9ja1ByZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnJlbW92ZVByb3BlcnR5KCd3aGl0ZS1zcGFjZScpO1xuXHR9KTtcblx0ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgncHJlID4gY29kZSB+IGNvZGUubGFuZ3VhZ2Utb3V0cHV0JykuZm9yRWFjaChleGVjdXRlQ29kZU91dHB1dCA9PiB7XG5cdFx0ZXhlY3V0ZUNvZGVPdXRwdXQuY2xhc3NMaXN0LnJlbW92ZSgnZXhlY3V0ZS1jb2RlLW91dHB1dCcpO1xuXHRcdChleGVjdXRlQ29kZU91dHB1dCBhcyBIVE1MRWxlbWVudCkuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tdHJ1ZS1oZWlnaHQnKTtcblx0XHQoZXhlY3V0ZUNvZGVPdXRwdXQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnJlbW92ZVByb3BlcnR5KCdtYXgtaGVpZ2h0Jyk7XG5cdH0pXG5cdGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3ByZSA+IGNvZGU6bnRoLW9mLXR5cGUoMSknKS5mb3JFYWNoKGNvZGVibG9ja0NvZGVFbGVtZW50ID0+IHtcblx0XHQoY29kZWJsb2NrQ29kZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXRydWUtaGVpZ2h0Jyk7XG5cdFx0KGNvZGVibG9ja0NvZGVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1saW5lLXdyYXBwaW5nJyk7XG5cdFx0KGNvZGVibG9ja0NvZGVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1saW5lLWFjdGl2ZS13cmFwcGluZycpO1xuXHRcdChjb2RlYmxvY2tDb2RlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ21heC1oZWlnaHQnKTtcblx0XHQoY29kZWJsb2NrQ29kZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLnJlbW92ZVByb3BlcnR5KCd3aGl0ZS1zcGFjZScpO1xuXHRcdChjb2RlYmxvY2tDb2RlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuaW5uZXJIVE1MID0gQXJyYXkuZnJvbShjb2RlYmxvY2tDb2RlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdjb2RlID4gW2NsYXNzKj1cImNvZGVibG9jay1zdHlsZXItbGluZVwiXScpKS5yZWR1Y2UoKHJlY29uc3RydWN0ZWRDb2RlYmxvY2tMaW5lczogQXJyYXk8c3RyaW5nPiwgY29kZWJsb2NrTGluZTogSFRNTEVsZW1lbnQpOiBBcnJheTxzdHJpbmc+ID0+IHtcblx0XHRcdGNvbnN0IGNvZGVibG9ja0xpbmVUZXh0ID0gKGNvZGVibG9ja0xpbmUuZmlyc3RDaGlsZCBhcyBIVE1MRWxlbWVudCk7XG5cdFx0XHRpZiAoY29kZWJsb2NrTGluZVRleHQpXG5cdFx0XHRcdHJlY29uc3RydWN0ZWRDb2RlYmxvY2tMaW5lcy5wdXNoKGNvZGVibG9ja0xpbmVUZXh0LmlubmVySFRNTCk7XG5cdFx0XHRyZXR1cm4gcmVjb25zdHJ1Y3RlZENvZGVibG9ja0xpbmVzXG5cdFx0fSxbXSkuam9pbignXFxuJykrJ1xcbic7XG5cdH0pXG59XG5cbmV4cG9ydCBjb25zdCByZWFkaW5nU3R5bGluZ011dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zKSA9PiB7XG5cdG11dGF0aW9ucy5mb3JFYWNoKChtdXRhdGlvbjogTXV0YXRpb25SZWNvcmQpID0+IHtcblx0XHRpZiAobXV0YXRpb24uYWRkZWROb2Rlcy5sZW5ndGggIT09IDApXG5cdFx0XHRtdXRhdGlvbi5hZGRlZE5vZGVzLmZvckVhY2goKGFkZGVkTm9kZTogSFRNTEVsZW1lbnQpPT5yZW1lYXN1cmVSZWFkaW5nVmlldyhhZGRlZE5vZGUpKVxuXHR9KTtcbn0pO1xuZXhwb3J0IGNvbnN0IGV4ZWN1dGVDb2RlTXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcblx0bXV0YXRpb25zLmZvckVhY2goKG11dGF0aW9uOiBNdXRhdGlvblJlY29yZCkgPT4ge1xuXHRcdGlmIChtdXRhdGlvbi50eXBlID09PSBcImF0dHJpYnV0ZXNcIiAmJiBtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSBcInN0eWxlXCIgJiYgKG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudCkudGFnTmFtZSA9PT0gJ0NPREUnICYmIChtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC5jb250YWlucygnZXhlY3V0ZS1jb2RlLW91dHB1dCcpKSB7IC8vIENoYW5nZSBzdHlsZSBvZiBleGVjdXRlIGNvZGUgb3V0cHV0XG5cdFx0XHRjb25zdCBleGVjdXRlQ29kZU91dHB1dCA9IG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblx0XHRcdGlmIChleGVjdXRlQ29kZU91dHB1dC5wYXJlbnRFbGVtZW50Py5jbGFzc0xpc3QuY29udGFpbnMoJ2NvZGVibG9jay1zdHlsZXItY29kZWJsb2NrLWNvbGxhcHNlZCcpKVxuXHRcdFx0XHRleGVjdXRlQ29kZU91dHB1dC5zdHlsZS5tYXhIZWlnaHQgPSAnJztcblx0XHR9IGVsc2UgaWYgKG11dGF0aW9uLnR5cGUgPT09IFwiY2hpbGRMaXN0XCIgJiYgKG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudCkudGFnTmFtZSA9PT0gJ0NPREUnICYmIChtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC5jb250YWlucygnZXhlY3V0ZS1jb2RlLW91dHB1dCcpKSB7IC8vIENoYW5nZSBjaGlsZHJlbiBvZiBleGVjdXRlIGNvZGUgb3V0cHV0XG5cdFx0XHRjb25zdCBleGVjdXRlQ29kZU91dHB1dCA9IG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblx0XHRcdHNldFRpbWVvdXQoKCk9Pntcblx0XHRcdFx0ZXhlY3V0ZUNvZGVPdXRwdXQuc3R5bGUuc2V0UHJvcGVydHkoJy0tdHJ1ZS1oZWlnaHQnLGBjYWxjKCR7ZXhlY3V0ZUNvZGVPdXRwdXQuc2Nyb2xsSGVpZ2h0fXB4ICsgMy41ICogdmFyKC0tY29kZS1wYWRkaW5nKSArIHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpYCk7XG5cdFx0XHR9LFBSSU1BUllfREVMQVkpXG5cdFx0fSBlbHNlIGlmIChtdXRhdGlvbi50eXBlID09PSBcImF0dHJpYnV0ZXNcIiAmJiBtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSBcInN0eWxlXCIgJiYgKG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudCkudGFnTmFtZSA9PT0gJ0lOUFVUJyAmJiAobXV0YXRpb24udGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50Py50YWdOYW1lID09PSAnQ09ERScpIHsgLy8gQ2hhbmdlIHN0eWxlIG9mIGV4ZWN1dGUgY29kZSBvdXRwdXQgaW5wdXQgYm94XG5cdFx0XHRjb25zdCBleGVjdXRlQ29kZU91dHB1dCA9IG11dGF0aW9uLnRhcmdldC5wYXJlbnRFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXHRcdFx0aWYgKGV4ZWN1dGVDb2RlT3V0cHV0KSB7XG5cdFx0XHRcdHNldFRpbWVvdXQoKCk9Pntcblx0XHRcdFx0XHRleGVjdXRlQ29kZU91dHB1dC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10cnVlLWhlaWdodCcsYGNhbGMoJHtleGVjdXRlQ29kZU91dHB1dC5zY3JvbGxIZWlnaHR9cHggKyAzLjUgKiB2YXIoLS1jb2RlLXBhZGRpbmcpICsgdmFyKC0taGVhZGVyLXNlcGFyYXRvci13aWR0aClgKTtcblx0XHRcdFx0fSxTRUNPTkRBUllfREVMQVkpXG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmIChtdXRhdGlvbi50eXBlID09PSBcImNoaWxkTGlzdFwiICYmIChtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnRhZ05hbWUgPT09ICdQUkUnKSB7IC8vIEFkZCBleGVjdXRlIGNvZGUgb3V0cHV0XG5cdFx0XHRjb25zdCBleGVjdXRlQ29kZU91dHB1dCA9IChtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnF1ZXJ5U2VsZWN0b3IoJ3ByZSA+IGNvZGUgfiBjb2RlLmxhbmd1YWdlLW91dHB1dCcpIGFzIEhUTUxFbGVtZW50O1xuXHRcdFx0aWYgKGV4ZWN1dGVDb2RlT3V0cHV0KSB7XG5cdFx0XHRcdGV4ZWN1dGVDb2RlT3V0cHV0LmNsYXNzTGlzdC5hZGQoJ2V4ZWN1dGUtY29kZS1vdXRwdXQnKTtcblx0XHRcdFx0aWYgKCFleGVjdXRlQ29kZU91dHB1dC5zdHlsZS5tYXhIZWlnaHQpIHtcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpPT57XG5cdFx0XHRcdFx0XHRleGVjdXRlQ29kZU91dHB1dC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10cnVlLWhlaWdodCcsYGNhbGMoJHtleGVjdXRlQ29kZU91dHB1dC5zY3JvbGxIZWlnaHR9cHggKyAzLjUgKiB2YXIoLS1jb2RlLXBhZGRpbmcpICsgdmFyKC0taGVhZGVyLXNlcGFyYXRvci13aWR0aClgKTtcblx0XHRcdFx0XHRcdGV4ZWN1dGVDb2RlT3V0cHV0LnN0eWxlLm1heEhlaWdodCA9ICd2YXIoLS10cnVlLWhlaWdodCknO1xuXHRcdFx0XHRcdFx0ZXhlY3V0ZUNvZGVPdXRwdXQuc3R5bGUud2hpdGVTcGFjZSA9ICd2YXIoLS1saW5lLXdyYXBwaW5nKSc7XG5cdFx0XHRcdFx0fSxQUklNQVJZX0RFTEFZKVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9KTtcbn0pO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBQUEsU0FBMkNBLElBQU1DLElBQUFBO0FBQzFCLGtCQUFBLE9BQVpDLFdBQTBDLFlBQUEsT0FBWEMsVUFDeENBLFFBQU9ELFVBQVVELEdBQUFBLElBQ1EsY0FBQSxPQUFYRyxVQUF5QkEsT0FBT0MsTUFDOUNELE9BQU8sQ0FBQSxHQUFJSCxFQUFBQSxJQUNlLFlBQUEsT0FBWkMsVUFDZEEsUUFBZSxRQUFJRCxHQUFBQSxJQUVuQkQsR0FBWSxRQUFJQyxHQUFBQTtJQUFBQSxFQUNmSyxNQUFNLFdBQUE7QUFDVCxjQUFBLE1BQUE7QUFBQTtBQ1RBLFlBQUlDLEtBQXNCLEVDQTFCLEdBQXdCLENBQUNMLElBQVNNLE9BQUFBO0FBQ2pDLG1CQUFRQyxNQUFPRDtBQUNYRCxZQUFBQSxHQUFvQkcsRUFBRUYsSUFBWUMsRUFBQUEsS0FBQUEsQ0FBU0YsR0FBb0JHLEVBQUVSLElBQVNPLEVBQUFBLEtBQzVFRSxPQUFPQyxlQUFlVixJQUFTTyxJQUFLLEVBQUVJLFlBQUFB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LEVBQ1IsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUFBLEVBQ1QsVUFBVTtBQUFBLEVBQ1YsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsUUFBUTtBQUFBLEVBQ1IsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsV0FBVztBQUFBLEVBQ1gsVUFBVTtBQUFBLEVBQ1YsTUFBTTtBQUFBLEVBQ04sVUFBVTtBQUFBLEVBQ1YsT0FBTztBQUFBLEVBQ1AsWUFBWTtBQUFBLEVBQ1osT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsU0FBUztBQUFBLEVBQ1QsVUFBVTtBQUFBLEVBQ1YsV0FBVztBQUFBLEVBQ1gsWUFBWTtBQUFBLEVBQ1osUUFBUTtBQUFBLEVBQ1IsU0FBUztBQUFBLEVBQ1QsU0FBUztBQUFBLEVBQ1QsVUFBVTtBQUFBLEVBQ1YsUUFBUTtBQUFBLEVBQ1IsT0FBTztBQUFBLEVBQ1AsY0FBYztBQUFBLEVBQ2QsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsYUFBYTtBQUFBLEVBQ2IsT0FBTztBQUFBLEVBQ1AsVUFBVTtBQUFBLEVBQ1YsVUFBVTtBQUFBLEVBQ1YsaUJBQWlCO0FBQUEsRUFDakIsWUFBWTtBQUFBLEVBQ1osY0FBYztBQUFBLEVBQ2QsT0FBTztBQUFBLEVBQ1AsTUFBTTtBQUFBLEVBQ04sUUFBUTtBQUFBLEVBQ1IsZ0JBQWdCO0FBQUEsRUFDaEIsT0FBTztBQUFBLEVBQ1AsU0FBUztBQUFBLEVBQ1QsT0FBTztBQUFBLEVBQ1AsaUJBQWlCO0FBQUEsRUFDakIsUUFBUTtBQUFBLEVBQ1IsT0FBTztBQUFBLEVBQ1AsVUFBVTtBQUFBLEVBQ1YsNEJBQTRCO0FBQUEsRUFDNUIsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AscUJBQXFCO0FBQUEsRUFDckIsT0FBTztBQUFBLEVBQ1AsU0FBUztBQUFBLEVBQ1QsWUFBWTtBQUFBLEVBQ1osVUFBVTtBQUFBLEVBQ1YsV0FBVztBQUFBLEVBQ1gsTUFBTTtBQUFBLEVBQ04sUUFBUTtBQUFBLEVBQ1IsTUFBTTtBQUFBLEVBQ04sT0FBTztBQUFBLEVBQ1AsaUJBQWlCO0FBQUEsRUFDakIsTUFBTTtBQUFBLEVBQ04sYUFBYTtBQUFBLEVBQ2IsVUFBVTtBQUFBLEVBQ1YsV0FBVztBQUFBLEVBQ1gsT0FBTztBQUFBLEVBQ1AsTUFBTTtBQUFBLEVBQ04sT0FBTztBQUFBLEVBQ1AsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsYUFBYTtBQUFBLEVBQ2Isc0JBQXNCO0FBQUEsRUFDdEIsT0FBTztBQUFBLEVBQ1AsVUFBVTtBQUFBLEVBQ1YsYUFBYTtBQUFBLEVBQ2IsWUFBWTtBQUFBLEVBQ1osYUFBYTtBQUFBLEVBQ2IsV0FBVztBQUFBLEVBQ1gsV0FBVztBQUFBLEVBQ1gsZUFBZTtBQUFBLEVBQ2Ysa0JBQWtCO0FBQUEsRUFDbEIsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUFBLEVBQ1QsYUFBYTtBQUFBLEVBQ2IsUUFBUTtBQUFBLEVBQ1IsZUFBZTtBQUFBLEVBQ2YsU0FBUztBQUFBLEVBQ1QsU0FBUztBQUFBLEVBQ1QsZ0JBQWdCO0FBQUEsRUFDaEIsZ0JBQWdCO0FBQUEsRUFDaEIsY0FBYztBQUFBLEVBQ2QsT0FBTztBQUFBLEVBQ1AsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUFBLEVBQ1QsT0FBTztBQUFBLEVBQ1AsU0FBUztBQUFBLEVBQ1QsT0FBTztBQUFBLEVBQ1AsV0FBVztBQUFBLEVBQ1gsWUFBWTtBQUFBLEVBQ1osTUFBTTtBQUFBLEVBQ04sU0FBUztBQUFBLEVBQ1QsU0FBUztBQUFBLEVBQ1QsY0FBYztBQUFBLEVBQ2QsUUFBUTtBQUFBLEVBQ1IsT0FBTztBQUFBLEVBQ1AsV0FBVztBQUFBLEVBQ1gsU0FBUztBQUFBLEVBQ1QsTUFBTTtBQUFBLEVBQ04scUJBQXFCO0FBQUEsRUFDckIsVUFBVTtBQUFBLEVBQ1YsYUFBYTtBQUFBLEVBQ2IsT0FBTztBQUFBLEVBQ1AsWUFBWTtBQUFBLEVBQ1osV0FBVztBQUFBLEVBQ1gsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsU0FBUztBQUFBLEVBQ1QsbUJBQW1CO0FBQUEsRUFDbkIsY0FBYztBQUFBLEVBQ2QsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsU0FBUztBQUFBLEVBQ1QsUUFBUTtBQUFBLEVBQ1IsY0FBYztBQUFBLEVBQ2QsUUFBUTtBQUFBLEVBQ1IsU0FBUztBQUFBLEVBQ1QsVUFBVTtBQUFBLEVBQ1YsWUFBWTtBQUFBLEVBQ1osUUFBUTtBQUFBLEVBQ1IsVUFBVTtBQUFBLEVBQ1YsZ0JBQWdCO0FBQUEsRUFDaEIsT0FBTztBQUFBLEVBQ1AsVUFBVTtBQUFBLEVBQ1YsTUFBTTtBQUFBLEVBQ04sY0FBYztBQUFBLEVBQ2QsU0FBUztBQUFBLEVBQ1QsT0FBTztBQUFBLEVBQ1AsVUFBVTtBQUFBLEVBQ1YsY0FBYztBQUFBLEVBQ2QsYUFBYTtBQUFBLEVBQ2IsWUFBWTtBQUFBLEVBQ1osU0FBUztBQUFBLEVBQ1QsY0FBYztBQUFBLEVBQ2QsTUFBTTtBQUFBLEVBQ04sV0FBVztBQUFBLEVBQ1gsY0FBYztBQUFBLEVBQ2QsVUFBVTtBQUFBLEVBQ1YsY0FBYztBQUFBLEVBQ2QsWUFBWTtBQUFBLEVBQ1osYUFBYTtBQUFBLEVBQ2IsVUFBVTtBQUFBLEVBQ1YsUUFBUTtBQUFBLEVBQ1IsTUFBTTtBQUFBLEVBQ04sVUFBVTtBQUFBLEVBQ1YsTUFBTTtBQUFBLEVBQ04sS0FBSztBQUFBLEVBQ0wsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsVUFBVTtBQUFBLEVBQ1YsU0FBUztBQUFBLEVBQ1QsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsU0FBUztBQUFBLEVBQ1QsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsUUFBUTtBQUFBLEVBQ1Isa0JBQWtCO0FBQUEsRUFDbEIsU0FBUztBQUFBLEVBQ1QsTUFBTTtBQUFBLEVBQ04sT0FBTztBQUFBLEVBQ1AsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsaUJBQWlCO0FBQUEsRUFDakIsY0FBYztBQUFBLEVBQ2QsZ0JBQWdCO0FBQUEsRUFDaEIsT0FBTztBQUFBLEVBQ1AsU0FBUztBQUFBLEVBQ1QsWUFBWTtBQUFBLEVBQ1osT0FBTztBQUFBLEVBQ1AsaUJBQWlCO0FBQUEsRUFDakIsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsVUFBVTtBQUFBLEVBQ1YsTUFBTTtBQUFBLEVBQ04sY0FBYztBQUFBLEVBQ2QsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsU0FBUztBQUFBLEVBQ1QsU0FBUztBQUFBLEVBQ1QsaUJBQWlCO0FBQUEsRUFDakIsVUFBVTtBQUFBLEVBQ1YsV0FBVztBQUFBLEVBQ1gsaUJBQWlCO0FBQUEsRUFDakIsU0FBUztBQUFBLEVBQ1QsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUFBLEVBQ1QsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsUUFBUTtBQUFBLEVBQ1IsV0FBVztBQUFBLEVBQ1gsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsTUFBTTtBQUFBLEVBQ04sWUFBWTtBQUFBLEVBQ1osV0FBVztBQUFBLEVBQ1gsTUFBTTtBQUFBLEVBQ04sV0FBVztBQUFBLEVBQ1gsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsU0FBUztBQUFBLEVBQ1QsUUFBUTtBQUFBLEVBQ1IsT0FBTztBQUFBLEVBQ1AsZ0JBQWdCO0FBQUEsRUFDaEIsT0FBTztBQUFBLEVBQ1AsTUFBTTtBQUFBLEVBQ04sUUFBUTtBQUFBLEVBQ1IsV0FBVztBQUFBLEVBQ1gsVUFBVTtBQUFBLEVBQ1YsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsV0FBVztBQUFBLEVBQ1gsTUFBTTtBQUFBLEVBQ04sTUFBTTtBQUFBLEVBQ04sYUFBYTtBQUFBLEVBQ2IsV0FBVztBQUFBLEVBQ1gsUUFBUTtBQUFBLEVBQ1IsVUFBVTtBQUFBLEVBQ1YsUUFBUTtBQUFBLEVBQ1IsT0FBTztBQUFBLEVBQ1AsUUFBUTtBQUNUO0FBQ0EsSUFBTSxtQkFBNEM7QUFBQTtBQUFBLEVB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LFVBQVM7QUFBQSxFQUNULFVBQVM7QUFBQSxFQUNULE1BQUs7QUFBQSxFQUNMLE9BQU07QUFBQSxFQUNOLFNBQVE7QUFBQSxFQUNSLE9BQU07QUFBQSxFQUNOLFNBQVE7QUFBQSxFQUNSLFNBQVE7QUFBQSxFQUNSLE9BQU07QUFBQSxFQUNOLFdBQVU7QUFBQSxFQUNWLFNBQVE7QUFBQSxFQUNSLFFBQU87QUFBQSxFQUNQLFlBQVc7QUFBQSxFQUNYLE1BQUs7QUFBQSxFQUNMLFVBQVM7QUFBQSxFQUNULFFBQU87QUFBQSxFQUNQLFNBQVE7QUFBQSxFQUNSLFNBQVE7QUFBQSxFQUNSLGNBQWE7QUFBQSxFQUNiLGNBQWE7QUFBQSxFQUNiLFFBQU87QUFBQSxFQUNQLE9BQU07QUFBQSxFQUNOLFdBQVU7QUFBQSxFQUNWLE9BQU07QUFBQSxFQUNOLFNBQVE7QUFBQSxFQUNSLFlBQVc7QUFBQSxFQUNYLFlBQVc7QUFBQSxFQUNYLE1BQUs7QUFBQSxFQUNMLHFCQUFvQjtBQUFBLEVBQ3BCLFFBQU87QUFBQSxFQUNQLFVBQVM7QUFBQSxFQUNULGFBQVk7QUFBQSxFQUNaLE9BQU07QUFBQSxFQUNOLFdBQVU7QUFBQSxFQUNWLFlBQVc7QUFBQSxFQUNYLFNBQVE7QUFBQSxFQUNSLFdBQVU7QUFBQSxFQUNWLFVBQVM7QUFBQSxFQUNULGNBQWE7QUFBQSxFQUNiLFFBQU87QUFBQSxFQUNQLFFBQU87QUFBQSxFQUNQLFFBQU87QUFBQSxFQUNQLFNBQVE7QUFBQSxFQUNSLG1CQUFrQjtBQUFBLEVBQ2xCLGNBQWE7QUFBQSxFQUNiLFFBQU87QUFBQSxFQUNQLFFBQU87QUFBQSxFQUNQLFFBQU87QUFBQSxFQUNQLFNBQVE7QUFBQSxFQUNSLFNBQVE7QUFBQSxFQUNSLE9BQU07QUFBQSxFQUNOLE9BQU07QUFBQSxFQUNOLFFBQU87QUFBQSxFQUNQLGNBQWE7QUFBQSxFQUNiLFFBQU87QUFBQSxFQUNQLFNBQVE7QUFBQSxFQUNSLFFBQU87QUFBQSxFQUNQLFVBQVM7QUFBQSxFQUNULFlBQVc7QUFBQSxFQUNYLFFBQU87QUFBQSxFQUNQLE1BQUs7QUFBQSxFQUNMLFVBQVM7QUFBQSxFQUNULFVBQVM7QUFBQSxFQUNULFVBQVM7QUFBQSxFQUNULGFBQVk7QUFBQSxFQUNaLE9BQU07QUFBQSxFQUNOLFVBQVM7QUFBQSxFQUNULE1BQUs7QUFBQSxFQUNMLGNBQWE7QUFBQSxFQUNiLFNBQVE7QUFBQSxFQUNSLFFBQU87QUFBQSxFQUNQLE9BQU07QUFBQSxFQUNOLFVBQVM7QUFBQSxFQUNULGNBQWE7QUFBQSxFQUNiLGFBQVk7QUFBQSxFQUNaLFlBQVc7QUFBQSxFQUNYLFNBQVE7QUFBQSxFQUNSLGNBQWE7QUFBQSxFQUNiLE1BQUs7QUFBQSxFQUNMLFdBQVU7QUFBQSxFQUNWLGNBQWE7QUFBQSxFQUNiLGNBQWE7QUFBQSxFQUNiLFVBQVM7QUFBQSxFQUNULFVBQVM7QUFBQSxFQUNULGNBQWE7QUFBQSxFQUNiLFlBQVc7QUFBQSxFQUNYLE9BQU07QUFBQSxFQUNOLFVBQVM7QUFBQSxFQUNULFFBQU87QUFBQSxFQUNQLGFBQVk7QUFBQSxFQUNaLFVBQVM7QUFBQSxFQUNULGNBQWE7QUFBQSxFQUNiLFFBQU87QUFBQSxFQUNQLFVBQVM7QUFBQSxFQUNULE1BQUs7QUFBQSxFQUNMLFVBQVM7QUFBQSxFQUNULE1BQUs7QUFBQSxFQUNMLEtBQUk7QUFBQSxFQUNKLE9BQU07QUFBQSxFQUNOLFFBQU87QUFBQSxFQUNQLEtBQUk7QUFBQSxFQUNKLFVBQVM7QUFBQSxFQUNULE9BQU07QUFBQSxFQUNOLFVBQVM7QUFBQSxFQUNULE9BQU07QUFBQSxFQUNOLE9BQU07QUFBQSxFQUNOLFVBQVM7QUFBQSxFQUNULFNBQVE7QUFBQSxFQUNSLFFBQU87QUFBQSxFQUNQLFNBQVE7QUFBQSxFQUNSLE9BQU07QUFBQSxFQUNOLFlBQVc7QUFBQSxFQUNYLE9BQU07QUFBQSxFQUNOLFFBQU87QUFBQSxFQUNQLE9BQU07QUFBQSxFQUNOLFlBQVc7QUFBQSxFQUNYLGtCQUFpQjtBQUFBLEVBQ2pCLFNBQVE7QUFBQSxFQUNSLFFBQU87QUFBQSxFQUNQLE1BQUs7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TTtBQUFBLEVBQ04sS0FBSztBQUFBLEVBQ0wsT0FBTztBQUFBLEVBQ1AsV0FBVztBQUFBLEVBQ1gsU0FBUztBQUFBLEVBQ1QsU0FBUztBQUFBLEVBQ1QsZ0JBQWdCO0FBQUEsRUFDaEIsV0FBVztBQUFBLEVBQ1gsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsS0FBSztBQUFBLEVBQ0wsUUFBUTtBQUFBLEVBQ1IsU0FBUztBQUFBLEVBQ1QsUUFBUTtBQUFBLEVBQ1IsaUJBQWlCO0FBQUEsRUFDakIsVUFBVTtBQUFBLEVBQ1Ysa0JBQWtCO0FBQUEsRUFDbEIsZ0JBQWdCO0FBQUEsRUFDaEIsT0FBTztBQUFBLEVBQ1AsVUFBVTtBQUFBLEVBQ1YsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsVUFBVTtBQUFBLEVBQ1YsTUFBTTtBQUFBLEVBQ04sNEJBQTRCO0FBQUEsRUFDNUIsUUFBUTtBQUFBLEVBQ1IsV0FBVztBQUFBLEVBQ1gsZ0NBQWdDO0FBQUEsRUFDaEMsc0JBQXNCO0FBQUEsRUFDdEIsVUFBVTtBQUFBLEVBQ1YsWUFBWTtBQUFBLEVBQ1osT0FBTztBQUFBLEVBQ1AsUUFBUTtBQUFBLEVBQ1IsYUFBYTtBQUFBLEVBQ2IsTUFBTTtBQUFBLEVBQ04sVUFBVTtBQUFBLEVBQ1YsV0FBVztBQUFBLEVBQ1gsVUFBVTtBQUFBLEVBQ1YsUUFBUTtBQUFBLEVBQ1IsY0FBYztBQUFBLEVBQ2QsV0FBVztBQUFBLEVBQ1gsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsU0FBUztBQUFBLEVBQ1QsT0FBTztBQUFBLEVBQ1AsTUFBTTtBQUFBLEVBQ04sUUFBUTtBQUFBLEVBQ1IsY0FBYztBQUFBLEVBQ2QsUUFBUTtBQUFBLEVBQ1IsU0FBUztBQUFBLEVBQ1QsU0FBUztBQUFBLEVBQ1QsVUFBVTtBQUFBLEVBQ1YsU0FBUztBQUFBLEVBQ1QsU0FBUztBQUFBLEVBQ1QsUUFBUTtBQUFBLEVBQ1IsVUFBVTtBQUFBLEVBQ1YsUUFBUTtBQUFBLEVBQ1IsY0FBYztBQUFBLEVBQ2QsWUFBWTtBQUFBLEVBQ1osV0FBVztBQUFBLEVBQ1gsT0FBTztBQUFBLEVBQ1AsWUFBWTtBQUFBLEVBQ1osVUFBVTtBQUFBLEVBQ1YsYUFBYTtBQUFBLEVBQ2IsT0FBTztBQUFBLEVBQ1AsV0FBVztBQUFBLEVBQ1gsU0FBUztBQUFBLEVBQ1QsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsUUFBUTtBQUFBLEVBQ1IsaUJBQWlCO0FBQUEsRUFDakIsZUFBZTtBQUFBLEVBQ2YsU0FBUztBQUFBLEVBQ1QsVUFBVTtBQUFBLEVBQ1YsVUFBVTtBQUFBLEVBQ1YsUUFBUTtBQUFBLEVBQ1IsT0FBTztBQUFBLEVBQ1AsVUFBVTtBQUFBLEVBQ1YsY0FBYztBQUFBLEVBQ2QsWUFBWTtBQUFBLEVBQ1osY0FBYztBQUFBLEVBQ2QsY0FBYztBQUFBLEVBQ2QsY0FBYztBQUFBLEVBQ2QsVUFBVTtBQUFBLEVBQ1Ysb0JBQW9CO0FBQUEsRUFDcEIsT0FBTztBQUFBLEVBQ1AsVUFBVTtBQUFBLEVBQ1YsY0FBYztBQUFBLEVBQ2QsVUFBVTtBQUFBLEVBQ1YscUJBQXFCO0FBQUEsRUFDckIsTUFBTTtBQUFBLEVBQ04sT0FBTztBQUFBLEVBQ1AsS0FBSztBQUFBLEVBQ0wsVUFBVTtBQUFBLEVBQ1YsWUFBWTtBQUFBLEVBQ1osYUFBYTtBQUFBLEVBQ2IsYUFBYTtBQUFBLEVBQ2IsVUFBVTtBQUFBLEVBQ1YsUUFBUTtBQUFBLEVBQ1IsWUFBWTtBQUFBLEVBQ1osMkJBQTJCO0FBQUEsRUFDM0IsbUJBQW1CO0FBQUEsRUFDbkIsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsT0FBTztBQUFBLEVBQ1AsZUFBZTtBQUFBLEVBQ2YsZUFBZTtBQUFBLEVBQ2YsU0FBUztBQUFBLEVBQ1QsaUJBQWlCO0FBQUEsRUFDakIsU0FBUztBQUFBLEVBQ1QsVUFBVTtBQUFBLEVBQ1YsdUJBQXVCO0FBQUEsRUFDdkIsaUJBQWlCO0FBQUEsRUFDakIsVUFBVTtBQUFBLEVBQ1YsT0FBTztBQUFBLEVBQ1AscUNB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SyxXQUFVQSxHQUFFLE9BQUssV0FBVUEsR0FBRSxPQUFLLFdBQVVBLEdBQUUsU0FBTyxXQUFVQSxHQUFFLFlBQVUsV0FBVUEsR0FBRSxlQUFhLFdBQVVBLEdBQUUsYUFBVyxXQUFVQSxHQUFFLFFBQU0sV0FBVUEsR0FBRSxRQUFNLFdBQVVBLEdBQUUsU0FBTyxXQUFVQSxHQUFFLGlCQUFlLFdBQVVBLEdBQUUsYUFBVyxXQUFVQSxHQUFFLFFBQU0sV0FBVUEsR0FBRSxZQUFVLFdBQVVBLEdBQUUsWUFBVSxXQUFVQSxHQUFFLGFBQVcsV0FBVUEsR0FBRSxZQUFVLFdBQVVBLEdBQUUsUUFBTSxXQUFVQSxHQUFFLGlCQUFlLFdBQVVBLEdBQUUsV0FBUyxXQUFVQSxHQUFFLFVBQVEsV0FBVUEsR0FBRSxPQUFLLFdBQVVBLEdBQUUsV0FBUyxXQUFVQSxHQUFFLFdBQVMsV0FBVUEsR0FBRSxnQkFBYyxXQUFVQSxHQUFFLFdBQVMsV0FBVUEsR0FBRSxZQUFVLFdBQVVBLEdBQUUsV0FBUyxXQUFVQSxHQUFFLFlBQVUsV0FBVUEsR0FBRSxjQUFZLFdBQVVBLEdBQUUsaUJBQWUsV0FBVUEsR0FBRSxhQUFXLFdBQVVBLEdBQUUsYUFBVyxXQUFVQSxHQUFFLFVBQVEsV0FBVUEsR0FBRSxhQUFXLFdBQVVBLEdBQUUsZUFBYSxXQUFVQSxHQUFFLGdCQUFjLFdBQVVBLEdBQUUsZ0JBQWMsV0FBVUEsR0FBRSxnQkFBYyxXQUFVQSxHQUFFLGdCQUFjLFdBQVVBLEdBQUUsYUFBVyxXQUFVQSxHQUFFLFdBQVMsV0FBVUEsR0FBRSxjQUFZLFdBQVVBLEdBQUUsVUFBUSxXQUFVQSxHQUFFLFVBQVEsV0FBVUEsR0FBRSxhQUFXLFdBQVVBLEdBQUUsWUFBVSxXQUFVQSxHQUFFLGNBQVksV0FBVUEsR0FBRSxjQUFZLFdBQVVBLEdBQUUsWUFBVSxXQUFVQSxHQUFFLGFBQVcsV0FBVUEsR0FBRSxPQUFLLFdBQVVBLEdBQUUsWUFBVSxXQUFVQSxHQUFFLGNBQVksV0FBVUEsR0FBRSxPQUFLLFdBQVVBLEdBQUUsV0FBUyxXQUFVQSxHQUFF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T0FBSUgsS0FBRSxPQUFJRSxPQUFJSixLQUFFLEVBQUU7QUFBQSxJQUFJO0FBQUMsUUFBRyxDQUFDQSxNQUFHRTtBQUFFLFlBQU0sSUFBSSxNQUFNLENBQUM7QUFBRSxXQUFPRjtBQUFBLEVBQUMsRUFBRUQsRUFBQztBQUFDO0FBQXppSyxJQUEyaUssTUFBSSxJQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBRSxTQUFTQSxJQUFFO0FBQUMsTUFBSUMsTUFBRyxDQUFDLEVBQUUsUUFBUUQsRUFBQyxJQUFFLEVBQUVBLEVBQUMsSUFBRUEsSUFBRyxNQUFNLEVBQUUsR0FBRyxHQUFFRSxLQUFFLEVBQUMsR0FBRSxFQUFFRCxHQUFFLENBQUMsS0FBR0EsR0FBRSxDQUFDLENBQUMsR0FBRSxHQUFFLEVBQUVBLEdBQUUsQ0FBQyxLQUFHQSxHQUFFLENBQUMsQ0FBQyxHQUFFLEdBQUUsRUFBRUEsR0FBRSxDQUFDLEtBQUdBLEdBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRUUsS0FBRUYsR0FBRSxDQUFDLEtBQUdBLEdBQUUsQ0FBQztBQUFFLFNBQU8sV0FBU0UsT0FBSUQsR0FBRSxJQUFFLEVBQUVDLEVBQUMsSUFBRSxNQUFLRDtBQUFDLEdBQUUsRUFBRSxFQUFFLEdBQUcsSUFBRSxTQUFTRixJQUFFO0FBQUMsTUFBSUMsS0FBRUQsR0FBRSxNQUFNLEVBQUUsR0FBRyxHQUFFRSxLQUFFLEVBQUVELEdBQUUsQ0FBQyxLQUFHQSxHQUFFLENBQUMsQ0FBQyxHQUFFRSxLQUFFLEVBQUVGLEdBQUUsQ0FBQyxLQUFHQSxHQUFFLENBQUMsQ0FBQyxHQUFFRyxLQUFFLEVBQUVILEdBQUUsQ0FBQyxLQUFHQSxHQUFFLENBQUMsQ0FBQyxHQUFFSSxLQUFFSixHQUFFLENBQUMsS0FBR0EsR0FBRSxDQUFDLEdBQUVLLEtBQUUsRUFBQyxHQUFFLEtBQUssSUFBSUosSUFBRSxHQUFHLEdBQUUsR0FBRSxLQUFLLElBQUlDLElBQUUsR0FBRyxHQUFFLEdBQUUsS0FBSyxJQUFJQyxJQUFFLEdBQUcsRUFBQztBQUFFLFNBQU8sV0FBU0MsT0FBSUMsR0FBRSxJQUFFLEVBQUVELEVBQUMsSUFBR0M7QUFBQyxHQUFFLEVBQUUsRUFBRSxHQUFHLElBQUUsU0FBU04sSUFBRTtBQUFDLE1BQUlDLEtBQUVELEdBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRUUsS0FBRSxFQUFFRCxHQUFFLENBQUMsS0FBR0EsR0FBRSxDQUFDLENBQUMsR0FBRUUsS0FBRSxFQUFFRixHQUFFLENBQUMsS0FBR0EsR0FBRSxDQUFDLENBQUMsR0FBRUcsS0FBRSxFQUFFSCxHQUFFLENBQUMsS0FBR0EsR0FBRSxDQUFDLENBQUMsR0FBRUksS0FBRUosR0FBRSxDQUFDLEtBQUdBLEdBQUUsQ0FBQyxHQUFFSyxLQUFFLEVBQUVKLElBQUVDLElBQUVDLEVBQUM7QUFBRSxTQUFPLFdBQVNDLE9BQUlDLEdBQUUsSUFBRSxFQUFFRCxFQUFDLElBQUdDO0FBQUMsR0FBRSxFQUFFLEVBQUUsSUFBSSxJQUFFLFNBQVNOLElBQUU7QUFBQyxNQUFJQyxLQUFFRCxHQUFFLE1BQU0sRUFBRSxJQUFJLEdBQUVFLEtBQUUsRUFBRUQsR0FBRSxDQUFDLEtBQUdBLEdBQUUsQ0FBQyxDQUFDLEdBQUVFLEtBQUUsRUFBRUYsR0FBRSxDQUFDLEtBQUdBLEdBQUUsQ0FBQyxDQUFDLEdBQUVHLEtBQUUsRUFBRUgsR0FBRSxDQUFDLEtBQUdBLEdBQUUsQ0FBQyxDQUFDLEdBQUVJLEtBQUUsRUFBRUosR0FBRSxDQUFDLEtBQUdBLEdBQUUsQ0FBQyxDQUFDLEdBQUVLLEtBQUVMLEdBQUUsQ0FBQyxLQUFHQSxHQUFFLEVBQUUsR0FBRU0sS0FBRSxFQUFFTCxJQUFFQyxJQUFFQyxJQUFFQyxFQUFDO0FBQUUsU0FBTyxXQUFTQyxPQUFJQyxHQUFFLElBQUUsRUFBRUQsRUFBQyxJQUFHQztBQUFDLEdBQUU7QUFBcnRMLElBQXd0TCxNQUFJLElBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFFLFNBQVNQLElBQUU7QUFBQyxNQUFJQyxLQUFFLEVBQUMsR0FBRSxFQUFFLEdBQUcsT0FBT0QsR0FBRSxDQUFDLENBQUMsR0FBRSxHQUFFLEVBQUUsR0FBRyxPQUFPQSxHQUFFLENBQUMsQ0FBQyxHQUFFLEdBQUUsRUFBRSxHQUFHLE9BQU9BLEdBQUUsQ0FBQyxDQUFDLEVBQUM7QUFBRSxTQUFPLEVBQUVBLElBQUUsR0FBRyxNQUFJQyxHQUFFLElBQUUsS0FBSyxJQUFJLEVBQUUsR0FBRyxPQUFPRCxHQUFFLENBQUMsR0FBRSxJQUFFLEdBQUUsQ0FBQyxJQUFHQztBQUFDLEdBQUUsRUFBRSxFQUFFLEdBQUcsSUFBRSxTQUFTRCxJQUFFO0FBQUMsU0FBTyxLQUFLLElBQUlBLEVBQUM7QUFBQyxHQUFFLEVBQUUsRUFBRSxHQUFHLElBQUUsU0FBU0EsSUFBRTtBQUFDLE1BQUlDLEtBQUUsRUFBRSxHQUFHLE9BQU9ELEdBQUUsQ0FBQyxDQUFDLEdBQUVFLEtBQUUsRUFBRSxHQUFHLE9BQU9GLEdBQUUsQ0FBQyxDQUFDLEdBQUVHLEtBQUUsRUFBRSxFQUFFSCxHQUFFLENBQUMsR0FBRUMsSUFBRUMsRUFBQztBQUFFLFNBQU8sRUFBRUYsSUFBRSxHQUFHLE1BQUlHLEdBQUUsSUFBRSxFQUFFSCxHQUFFLENBQUMsSUFBR0c7QUFBQyxHQUFFLEVBQUUsRUFBRSxJQUFJLElBQUUsU0FBU0gsSUFBRTtBQUFDLE1BQUlDLEtBQUUsRUFBRSxHQUFHLE9BQU9ELEdBQUUsQ0FBQyxDQUFDLEdBQUVFLEtBQUUsRUFBRSxHQUFHLE9BQU9GLEdBQUUsQ0FBQyxDQUFDLEdBQUVHLEtBQUUsRUFBRSxHQUFHLE9BQU9ILEdBQUUsQ0FBQyxDQUFDLEdBQUVJLEtBQUUsRUFBRSxHQUFHLE9BQU9KLEdBQUUsQ0FBQyxDQUFDLEdBQUVLLEtBQUUsRUFBRUosSUFBRUMsSUFBRUMsSUFBRUMsRUFBQztBQUFFLFNBQU8sRUFBRUosSUFBRSxHQUFHLE1BQUlLLEdBQUUsSUFBRSxFQUFFTCxHQUFFLENBQUMsSUFBR0s7QUFBQyxHQUFFO0FBQXZxTSxJQUEwcU0sS0FBRyxTQUFTTCxJQUFFQyxJQUFFO0FBQUMsU0FBTyxXQUFTQSxPQUFJQSxLQUFFLEVBQUVELEVBQUMsSUFBRyxZQUFVLE9BQU9BLEtBQUUsRUFBRUMsRUFBQyxFQUFFRCxFQUFDLElBQUUsRUFBRUMsRUFBQyxFQUFFRCxFQUFDO0FBQUM7QUFBenZNLElBQTJ2TSxPQUFLLElBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFFLFNBQVNBLElBQUU7QUFBQyxTQUFNLEVBQUMsR0FBRSxFQUFFQSxHQUFFLENBQUMsR0FBRSxHQUFFLEVBQUVBLEdBQUUsQ0FBQyxHQUFFLEdBQUUsRUFBRUEsR0FBRSxDQUFDLEVBQUM7QUFBQyxHQUFFLEVBQUUsT0FBSyxTQUFTQSxJQUFFO0FBQUMsTUFBSUMsS0FBRSxHQUFHLElBQUlELEVBQUM7QUFBRSxTQUFPQyxHQUFFLElBQUUsRUFBRUQsSUFBRSxHQUFHLElBQUUsRUFBRSxNQUFJQSxHQUFFLENBQUMsSUFBRSxRQUFPQztBQUFDLEdBQUUsRUFBRSxFQUFFLEdBQUcsSUFBRSxTQUFTRCxJQUFFQyxJQUFFO0FBQUMsU0FBTyxFQUFFRCxJQUFFLEdBQUcsS0FBRyxPQUFPQSxHQUFFLEdBQUUsR0FBR0EsSUFBRUMsRUFBQztBQUFDLEdBQUUsRUFBRSxPQUFLLFNBQVNELElBQUVDLElBQUU7QUFBQyxTQUFPRCxHQUFFLElBQUUsRUFBRUEsSUFBRSxHQUFHLElBQUUsRUFBRUEsR0FBRSxDQUFDLElBQUUsR0FBRSxHQUFHQSxJQUFFQyxFQUFDO0FBQUMsR0FBRSxFQUFFLEVBQUUsR0FBRyxJQUFFLFNBQVNELElBQUVDLElBQUU7QUFBQyxNQUFJQyxLQUFFLEVBQUVGLEdBQUUsR0FBRUEsR0FBRSxHQUFFQSxHQUFFLENBQUM7QUFBRSxTQUFPLE9BQU9FLEdBQUUsR0FBRSxHQUFHQSxJQUFFRCxFQUFDO0FBQUMsR0FBRSxFQUFFLE9BQUssU0FBU0QsSUFBRUMsSUFBRTtBQUFDLE1BQUlDLEtBQUUsR0FBRyxJQUFJRixJQUFFQyxFQUFDO0FBQUUsU0FBT0MsR0FBRSxJQUFFLEVBQUVGLElBQUUsR0FBRyxJQUFFLEVBQUVBLEdBQUUsR0FBRUMsRUFBQyxJQUFFLEdBQUVDO0FBQUMs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QztBQUFBLEVBQUMsQ0FBRTtBQUFDLEdBQUUsRUFBRSxPQUFLLFNBQVNDLElBQUVDLElBQUVDLElBQUVDLElBQUU7QUFBQyxTQUFPRixHQUFFRCxJQUFFRSxFQUFDLEVBQUUsSUFBSyxTQUFTRixJQUFFO0FBQUMsV0FBT0csS0FBRSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRSxFQUFFSCxHQUFFLEdBQUVBLEdBQUUsR0FBRUEsR0FBRSxDQUFDLENBQUMsR0FBRSxFQUFDLEdBQUUsTUFBSSxFQUFFQSxHQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBRSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRSxFQUFFQSxHQUFFLEdBQUVBLEdBQUUsR0FBRUEsR0FBRSxDQUFDLENBQUMsR0FBRSxFQUFDLEdBQUUsRUFBRUEsR0FBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0FBQUEsRUFBQyxDQUFFO0FBQUMsR0FBRSxFQUFFLEVBQUUsR0FBRyxJQUFFLFNBQVNELElBQUVDLElBQUVDLElBQUVDLElBQUVDLElBQUU7QUFBQyxTQUFPSCxHQUFFRCxJQUFFRSxFQUFDLEVBQUUsSUFBSyxTQUFTRixJQUFFO0FBQUMsV0FBT0csS0FBRSxFQUFFLElBQUksR0FBRyxFQUFFSCxHQUFFLEdBQUVBLEdBQUUsR0FBRUEsR0FBRSxDQUFDLEdBQUVJLEVBQUMsQ0FBQyxJQUFFLEdBQUcsSUFBSSxFQUFFSixHQUFFLEdBQUVBLEdBQUUsR0FBRUEsR0FBRSxDQUFDLEdBQUVJLEVBQUM7QUFBQSxFQUFDLENBQUU7QUFBQyxHQUFFLEVBQUUsT0FBSyxTQUFTSCxJQUFFQyxJQUFFQyxJQUFFQyxJQUFFQyxJQUFFO0FBQUMsU0FBT0gsR0FBRUQsSUFBRUUsRUFBQyxFQUFFLElBQUssU0FBU0YsSUFBRTtBQUFDLFdBQU9HLEtBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRSxFQUFFSCxHQUFFLEdBQUVBLEdBQUUsR0FBRUEsR0FBRSxDQUFDLENBQUMsR0FBRSxFQUFDLEdBQUUsRUFBRUEsR0FBRSxDQUFDLEVBQUMsQ0FBQyxHQUFFSSxFQUFDLENBQUMsSUFBRSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRSxFQUFFSixHQUFFLEdBQUVBLEdBQUUsR0FBRUEsR0FBRSxDQUFDLENBQUMsR0FBRSxFQUFDLEdBQUUsRUFBRUEsR0FBRSxDQUFDLEVBQUMsQ0FBQyxHQUFFSSxFQUFDO0FBQUEsRUFBQyxDQUFFO0FBQUMsR0FBRSxFQUFFLEVBQUUsR0FBRyxJQUFFLFNBQVNMLElBQUVDLElBQUVDLElBQUVDLElBQUVDLElBQUU7QUFBQyxTQUFPSCxHQUFFRCxJQUFFRSxFQUFDLEVBQUUsSUFBSyxTQUFTRixJQUFFO0FBQUMsV0FBT0csS0FBRSxFQUFFLElBQUksR0FBRyxFQUFDLEdBQUVILEdBQUUsR0FBRSxHQUFFQSxHQUFFLEdBQUUsR0FBRUEsR0FBRSxFQUFDLEdBQUVJLEVBQUMsQ0FBQyxJQUFFLEdBQUcsSUFBSSxFQUFFSixHQUFFLEdBQUVBLEdBQUUsR0FBRUEsR0FBRSxDQUFDLEdBQUVJLEVBQUM7QUFBQSxFQUFDLENBQUU7QUFBQyxHQUFFLEVBQUUsT0FBSyxTQUFTSCxJQUFFQyxJQUFFQyxJQUFFQyxJQUFFQyxJQUFFO0FBQUMsU0FBT0gsR0FBRUQsSUFBRUUsRUFBQyxFQUFFLElBQUssU0FBU0YsSUFBRTtBQUFDLFdBQU9HLEtBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRUgsRUFBQyxHQUFFLEVBQUMsR0FBRSxFQUFFQSxHQUFFLENBQUMsRUFBQyxDQUFDLEdBQUVJLEVBQUMsQ0FBQyxJQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFFLEVBQUVKLEdBQUUsR0FBRUEsR0FBRSxHQUFFQSxHQUFFLENBQUMsQ0FBQyxHQUFFLEVBQUMsR0FBRSxFQUFFQSxHQUFFLENBQUMsRUFBQyxDQUFDLEdBQUVJLEVBQUM7QUFBQSxFQUFDLENBQUU7QUFBQyxHQUFFO0FBQTNxUixJQUE4cVIsT0FBSyxJQUFFLEVBQUMsS0FBSSxTQUFTSixJQUFFQyxJQUFFO0FBQUMsTUFBSUMs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S0FBS0EsRUFBQztBQUFDLEdBQUUsRUFBRSxFQUFFLEdBQUcsSUFBRSxTQUFTSCxJQUFFQyxJQUFFQyxJQUFFQyxJQUFFO0FBQUMsTUFBSUMsS0FBRSxLQUFLLElBQUlKLElBQUVDLEVBQUM7QUFBRSxTQUFPLE9BQU9HLEdBQUUsR0FBRUYsS0FBRSxFQUFFLElBQUlFLEVBQUMsSUFBRSxHQUFHLElBQUlBLElBQUVELEVBQUM7QUFBQyxHQUFFLEVBQUUsT0FBSyxTQUFTSCxJQUFFQyxJQUFFQyxJQUFFQyxJQUFFO0FBQUMsTUFBSUMsS0FBRSxLQUFLLElBQUlKLElBQUVDLEVBQUM7QUFBRSxTQUFPQyxLQUFFLEVBQUUsSUFBSUUsRUFBQyxJQUFFLEdBQUcsS0FBS0EsSUFBRUQsRUFBQztBQUFDLEdBQUUsRUFBRSxFQUFFLEdBQUcsSUFBRSxTQUFTSCxJQUFFQyxJQUFFQyxJQUFFQyxJQUFFO0FBQUMsTUFBSUMsS0FBRSxLQUFLLElBQUlKLElBQUVDLEVBQUMsR0FBRUksS0FBRSxFQUFFRCxHQUFFLEdBQUVBLEdBQUUsR0FBRUEsR0FBRSxDQUFDO0FBQUUsU0FBTyxPQUFPQSxHQUFFLEdBQUUsT0FBT0MsR0FBRSxHQUFFSCxLQUFFLEVBQUUsSUFBSUcsRUFBQyxJQUFFLEdBQUcsSUFBSUQsSUFBRUQsRUFBQztBQUFDLEdBQUUsRUFBRSxPQUFLLFNBQVNILElBQUVDLElBQUVDLElBQUVDLElBQUU7QUFBQyxNQUFJQyxLQUFFLEtBQUssSUFBSUosSUFBRUMsRUFBQyxHQUFFSSxLQUFFLEVBQUVELEdBQUUsR0FBRUEsR0FBRSxHQUFFQSxHQUFFLEdBQUVBLEdBQUUsQ0FBQztBQUFFLFNBQU9GLEtBQUUsRUFBRSxJQUFJRyxFQUFDLElBQUUsR0FBRyxLQUFLRCxJQUFFRCxFQUFDO0FBQUMsR0FBRTtBQUFseFUsSUFBcXhVLEtBQUcsU0FBU0YsSUFBRUMsSUFBRTtBQUFDLFNBQU8sRUFBRSxFQUFDLEdBQUUsRUFBRUQsR0FBRSxHQUFFQyxFQUFDLEdBQUUsR0FBRSxFQUFFRCxHQUFFLEdBQUVDLEVBQUMsR0FB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U0QsSUFBRTtBQUFDLFdBQU8sS0FBSyxJQUFJLElBQUUsRUFBRUEsSUFBRSxHQUFFLEdBQUcsR0FBRSxLQUFLLGlCQUFpQjtBQUFBLEVBQUMsR0FBRUMsR0FBRSxVQUFVLE9BQUssU0FBU0QsSUFBRTtBQUFDLFdBQU8sS0FBSyxJQUFJLElBQUUsRUFBRUEsSUFBRSxHQUFFLEdBQUcsR0FBRSxLQUFLLGlCQUFpQjtBQUFBLEVBQUMsR0FBRUMsR0FBRSxVQUFVLE9BQUssU0FBU0QsSUFBRTtBQUFDLFdBQU8sS0FBSyxJQUFJLElBQUUsRUFBRUEsSUFBRSxHQUFFLEdBQUcsR0FBRSxLQUFLLGlCQUFpQjtBQUFBLEVBQUMsR0FBRUMsR0FBRSxVQUFVLE9BQUssU0FBU0QsSUFBRTtBQUFDLFdBQU8sS0FBSyxJQUFJLElBQUUsRUFBRUEsSUFBRSxHQUFFLEdBQUcsR0FBRSxLQUFLLGlCQUFpQjtBQUFBLEVBQUMsR0FBRUMsR0FBRSxVQUFVLE9BQUssU0FBU0QsSUFBRTtBQUFDLFdBQU8sS0FBSyxJQUFJLElBQUUsS0FBSyxJQUFJLElBQUUsRUFBRUEsSUFBRSxHQUFFLENBQUMsR0FBRTtBQUFBLEVBQUksR0FBRUMsR0FBRSxVQUFVLE9BQUssU0FBU0QsSUFBRTtBQUFDLFdBQU8sS0FBSyxLQUFLLElBQUUsRUFBRUEsSUFBRSxHQUFFLEdBQUcsR0FBRSxLQUFLLGdCQUFnQjtBQUFBLEVBQUMsR0FBRUMsR0FBRSxVQUFVLE9BQUssU0FBU0QsSUFBRTtBQUFDLFdBQU8sS0FBSyxLQUFLLElBQUUsRUFBRUEsSUFBRSxHQUFFLEdBQUcsR0FBRSxLQUFLLGdCQUFnQjtBQUFBLEVBQUMsR0FBRUMsR0FBRSxVQUFVLE9BQUssU0FBU0QsSUFBRTtBQUFDLFdBQU8sS0FBSyxLQUFLLElBQUUsRUFBRUEsSUFBRSxHQUFFLEdBQUcsR0FBRSxLQUFLLGdCQUFnQjtBQUFBLEVBQUMsR0FBRUMsR0FBRSxVQUFVLE9BQUssU0FBU0QsSUFBRTtBQUFDLFdBQU8sS0FBSyxLQUFLLElBQUUsRUFBRUEsSUFBRSxHQUFFLEdBQUcsR0FBRSxLQUFLLGdCQUFnQjtBQUFBLEVBQUMsR0FBRSxPQUFPLGVBQWVDLEdBQUUsV0FBVSxZQUFXLEVBQUMsS0FBSSxXQUFVO0FBQUMsV0FBTyxLQUFLO0FBQUEsRUFBUyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLEtBQUksRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsS0FBSyxJQUFJLEdBQUUsS0FBSyxRQUFRO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLEtBQUksRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsS0FBSyxJQUFJLEdBQUUsS0FBSyxRQUFRO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLEtBQUksRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsS0FBSyxJQUFJLEdBQUUsS0FBSyxRQUFRO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLEtBQUksRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsS0FBSyxJQUFJLEdBQUUsS0FBSyxRQUFRO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLEtBQUksRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsS0FBSyxJQUFJLEdBQUUsS0FBSyxRQUFRO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLEtBQUksRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsS0FBSyxJQUFJLEdBQUUsS0FBSyxRQUFRO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLEtBQUksRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsS0FBSyxJQUFJLEdBQUUsS0FBSyxRQUFRO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLEtBQUksRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsS0FBSyxLQUFLLEdBQUUsS0FBSyxRQUFRO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLEtBQUksRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsS0FBSyxLQUFLLEdBQUUsS0FBSyxRQUFRO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLEtBQUksRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsS0FBSyxLQUFLLEdBQUUsS0FBSyxRQUFRO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLEtBQUksRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsS0FBSyxLQUFLLEdBQUUsS0FBSyxRQUFRO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLGFBQVksRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEdBQUcsSUFBSSxLQUFLLEdBQUc7QUFBQSxFQUFDLEdBQUUsWUFBVyxPQUFHLGNBQWEsS0FBRSxDQUFDLEdBQUUsT0FBTyxlQUFlQSxHQUFFLFdBQVUsY0FBYSxFQUFDLEtBQUksV0FBVTtBQUFDLFdBQU8sR0FBRyxLQUFLLEtBQUssR0FBRztBQUFBLEVBQUMsR0FBRSxZQUFXLE9BQUcsY0FBYSxLQUFFLENBQUMsR0FBRSxPQUFPLGVBQWVBLEdBQUUsV0FBVSxhQUFZLEVBQUMsS0FBSSxXQUFVO0FBQUMsV0FBTSxFQUFDLEdBQUUsS0FBSyxHQUFFLEdBQUUsS0FBSyxHQUFFLEdBQUUsS0FBSyxFQUFDO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLGNBQWEsRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUUsS0FBSyxTQUFTLEdBQUUsRUFBQyxHQUFFLEtBQUssRUFBQyxDQUFDO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLGFBQVksRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFNLEVBQUMsR0FBRSxLQUFLLEdBQUUsR0FBRSxLQUFLLEdBQUUsR0FBRSxLQUFLLEVBQUM7QUFBQSxFQUFDLEdBQUUsWUFBVyxPQUFHLGNBQWEsS0FBRSxDQUFDLEdBQUUsT0FBTyxlQUFlQSxHQUFFLFdBQVUsY0FBYSxFQUFDLEtBQUksV0FBVTtBQUFDLFdBQU8sRUFBRSxFQUFFLENBQUMsR0FBRSxLQUFLLFNBQVMsR0FBRSxFQUFDLEdBQUUsS0FBSyxFQUFDLENBQUM7QUFBQSxFQUFDLEdBQUUsWUFBVyxPQUFHLGNBQWEsS0FBRSxDQUFDLEdBQUUsT0FBTyxlQUFlQSxHQUFFLFdBQVUsY0FBYSxFQUFDLEtBQUksV0FBVTtBQUFDLFdBQU0sRUFBQyxHQUFFLEtBQUssR0FBRSxHQUFFLEtBQUssR0FBRSxHQUFFLEtBQUssR0FBRSxHQUFFLEtBQUssRUFBQztBQUFBLEVBQUMsR0FBRSxZQUFXLE9BQUcsY0FBYSxLQUFFLENBQUMsR0FBRSxPQUFPLGVBQWVBLEdBQUUsV0FBVSxlQUFjLEVBQUMsS0FBSSxXQUFVO0FBQUMsV0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFFLEtBQUssVUFBVSxHQUFFLEVBQUMsR0FBRSxLQUFLLEVBQUMsQ0FBQztBQUFBLEVBQUMsR0FBRSxZQUFXLE9BQUcsY0FBYSxLQUFFLENBQUMsR0FBRSxPQUFPLGVBQWVBLEdBQUUsV0FBVSxPQUFNLEVBQUMsS0FBSSxXQUFVO0FBQUMsV0FBTyxFQUFFLElBQUksRUFBQyxHQUFFLEtBQUssR0FBRSxHQUFFLEtBQUssR0FBRSxHQUFFLEtBQUssRUFBQyxDQUFDO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLFFBQU8sRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsSUFBSSxFQUFDLEdBQUUsS0FBSyxHQUFFLEdBQUUsS0FBSyxHQUFFLEdBQUUsS0FBSyxHQUFFLEdBQUUsTUFBSSxLQUFLLEVBQUMsQ0FBQztBQUFBLEVBQUMsR0FBRSxZQUFXLE9BQUcsY0FBYSxLQUFFLENBQUMsR0FBRSxPQUFPLGVBQWVBLEdBQUUsV0FBVSxPQUFNLEVBQUMsS0FBSSxXQUFVO0FBQUMsV0FBTyxFQUFFLElBQUksRUFBQyxHQUFFLEtBQUssR0FBRSxHQUFFLEtBQUssR0FBRSxHQUFFLEtBQUssRUFBQyxDQUFDO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLFFBQU8sRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsSUFBSSxFQUFDLEdBQUUsS0FBSyxHQUFFLEdBQUUsS0FBSyxHQUFFLEdBQUUsS0FBSyxHQUFFLEdBQUUsS0FBSyxFQUFDLENBQUM7QUFBQSxFQUFDLEdBQUUsWUFBVyxPQUFHLGNBQWEsS0FBRSxDQUFDLEdBQUUsT0FBTyxlQUFlQSxHQUFFLFdBQVUsT0FBTSxFQUFDLEtBQUksV0FBVTtBQUFDLFdBQU8sRUFBRSxJQUFJLEVBQUMsR0FBRSxLQUFLLEdBQUUsR0FBRSxLQUFLLEdBQUUsR0FBRSxLQUFLLEVBQUMsQ0FBQztBQUFBLEVBQUMsR0FBRSxZQUFXLE9BQUcsY0FBYSxLQUFFLENBQUMsR0FBRSxPQUFPLGVBQWVBLEdBQUUsV0FBVSxRQUFPLEVBQUMsS0FBSSxXQUFVO0FBQUMsV0FBTyxFQUFFLElBQUksRUFBQyxHQUFFLEtBQUssR0FBRSxHQUFFLEtBQUssR0FBRSxHQUFFLEtBQUssR0FBRSxHQUFFLEtBQUssRUFBQyxDQUFDO0FBQUEsRUFBQyxHQUFFLFlBQVcsT0FBRyxjQUFhLEtBQUUsQ0FBQyxHQUFFLE9BQU8sZUFBZUEsR0FBRSxXQUFVLFFBQU8sRUFBQyxLQUFJLFdBQVU7QUFBQyxXQUFPLEVBQUUsS0FBSyxFQUFDLEdBQUUsS0FBSyxHQUFFLEdBQUUsS0FBSyxHQUFFLEdBQUUsS0FBSyxHQUFFLEdBQUUsS0FBSyxFQUFDLENBQUM7QUFBQSxFQUFDLEdBQUUsWUFBVyxPQUFHLGNBQWEsS0FBRSxDQUFDLEdBQUUsT0FBTyxlQUFlQSxHQUFFLFdBQVUsU0FBUSxFQUFDLEtBQUksV0FBVTtBQUFDLFdBQU8sRUFBRSxLQUFLLEVBQUMsR0FBRSxLQUFLLEdBQUUsR0FBRSxLQUFLLEdBQUUsR0FBRSxLQUFLLEdBQUUsR0FBRSxLQUFLLEdBQUUsR0FBRSxLQUFLLEVBQUMsQ0FBQztBQUFBLEVBQUMsR0FBRSxZQUFXLE9BQUcsY0FBYSxLQUFFLENBQUMsR0FBRUEsR0FBRSxRQUFNLFNBQVNELElBQUVDLElBQUU7QUFBQyxlQUFTQSxPQUFJQSxLQUFFO0FBQUksUUFBSUMsS0FBRSxFQUFFRixFQUFDO0FBQUUsV0FBTyxHQUFHQSxJQUFFRSxJQUFFRCxJQUFFLEdBQUUsR0FBRyxLQUFJLEVBQUUsR0FBRztBQUFBLEVBQUMsR0FBRUEsR0FBRSxTQUFPLFNBQVNELElBQUVDLElBQUU7QUFBQyxlQUFTQSxPQUFJQSxLQUFFO0FBQUksUUFBSUMsS0FBRSxFQUFFRixFQUFDO0FBQUUsV0FBTyxHQUFHQSxJQUFFRSxJQUFFRCxJQUFFLEdBQUUsR0FBRyxNQUFLLEVBQUUsR0FBRztBQUFBLEVBQUMsR0FBRUEsR0FBRSxRQUFNLFNBQVNELElBQUVDLElBQUVDLElBQUU7QUFBQyxlQUFTRCxPQUFJQSxLQUFFLE9BQUksV0FBU0MsT0FBSUEsS0FBRTtBQUFHLFFBQUlDLEtBQUUsRUFBRUgsRUFBQztBQUFFLFdBQU8sR0FBR0EsSUFBRUcsSUFBRUYsSUFBRUMsSUFBRSxHQUFHLEtBQUksRUFBRSxHQUFHO0FBQUEsRUFBQyxHQUFFRCxHQUFFLFNBQU8sU0FBU0QsSUFBRUMsSUFBRUMsSUFBRTtBQUFDLGVBQVNELE9BQUlBLEtBQUUsT0FBSSxXQUFTQyxPQUFJQSxLQUFFO0FBQUcsUUFBSUMsS0FBRSxFQUFFSCxFQUFDO0FBQUUsV0FBTyxHQUFHQSxJQUFFRyxJQUFFRixJQUFFQyxJQUFFLEdBQUcsTUFBSyxFQUFFLEdBQUc7QUFBQSxFQUFDLEdBQUVELEdBQUUsUUFBTSxTQUFTRCxJQUFFQyxJQUFFQyxJQUFFO0FBQUMsZUFBU0QsT0FBSUEsS0FBRSxPQUFJLFdBQVNDLE9BQUlBLEtBQUU7QUFBRyxRQUFJQyxLQUFFLEVBQUVILEVBQUM7QUFBRSxXQUFPLEdBQUdBLElBQUVHLElBQUVGLElBQUVDLElBQUUsR0FBRyxLQUFJLEVBQUUsR0FBRztBQUFBLEVBQUMsR0FBRUQsR0FBRSxTQUFPLFNBQVNELElBQUVDLElBQUVDLElBQUU7QUFBQyxlQUFTRCxPQUFJQSxLQUFFLE9BQUksV0FBU0MsT0FBSUEsS0FBRTtBQUFHLFFBQUlDLEtBQUUsRUFBRUgsRUFBQztBQUFFLFdBQU8sR0FBR0EsSUFBRUcsSUFBRUYsSUFBRUMsSUFBRSxHQUFHLE1BQUssRUFBRSxHQUFHO0FBQUEsRUFBQyxHQUFFRCxHQUFFLFNBQU8sU0FBU0QsSUFBRUMsSUFBRUMsSUFBRTtBQUFDLGVBQVNELE9BQUlBLEtBQUUsT0FBSSxXQUFTQyxPQUFJQSxLQUFFO0FBQUcsUUFBSUMsS0FBRSxFQUFFSCxFQUFDO0FBQUUsV0FBTyxHQUFHQSxJQUFFRyxJQUFFRixJQUFFQyxJQUFFLEdBQUcsTUFBSyxFQUFFLElBQUk7QUFBQSxFQUFDLEdBQUVELEdBQUUsVUFBUSxTQUFTRCxJQUFFQyxJQUFFQyxJQUFFO0FBQUMsZUFBU0QsT0FBSUEsS0FBRSxPQUFJLFdBQVNDLE9BQUlBLEtBQUU7QUFBRyxRQUFJQyxLQUFFLEVBQUVILEVBQUM7QUFBRSxXQUFPLEdBQUdBLElBQUVHLElBQUVGLElBQUVDLElBQUUsR0FBRyxPQUFNLEVBQUUsSUFBSTtBQUFBLEVBQUMsR0FBRUQsR0FBRSxjQUFZLFNBQVNELElBQUVDLElBQUVDLElBQUVDLElBQUVDLElBQUU7QUFBQyxXQUFPLFdBQVNGLE9BQUlBLEtBQUUsSUFBRyxXQUFTQyxPQUFJQSxLQUFFLE9BQUksV0FBU0MsT0FBSUEsS0FBRSxJQUFHLEdBQUdKLElBQUVDLElBQUVDLElBQUVDLElBQUVDLElBQUUsR0FBRyxLQUFJLEVBQUUsR0FBRztBQUFBLEVBQUMsR0FBRUgsR0FBRSxlQUFhLFNBQVNELElBQUVDLElBQUVDLElBQUVDLElBQUVDLElBQUU7QUFBQyxXQUFPLFdBQVNGLE9BQUlBLEtBQUUsSUFBRyxXQUFTQyxPQUFJQSxLQUFFLE9BQUksV0FBU0MsT0FBSUEsS0FBRSxJQUFHLEdBQUdKLElBQUVDLElBQUVDLElBQUVDLElBQUVDLElBQUUsR0FBRyxNQUFLLEVBQUUsR0FBRztBQUFBLEVBQUMsR0FBRUgsR0FBRSxjQUFZLFNBQVNELElBQUVDLElBQUVDLElBQUVDLElBQUVDLElBQUU7QUFBQyxXQUFPLFdBQVNGLE9BQUlBLEtBQUUsSUFBRyxXQUFTQyxPQUFJQSxLQUFFLE9BQUksV0FBU0MsT0FBSUEsS0FBRSxJQUFHLEdBQUdKLElBQUVDLElBQUVDLElBQUVDLElBQUVDLElBQUUsR0FBRyxLQUFJLEVBQUUsR0FBRztBQUFBLEVBQUMsR0FBRUgsR0FBRSxlQUFhLFNBQVNELElBQUVDLElBQUVDLElBQUVDLElBQUVDLElBQUU7QUFBQyxXQUFPLFdBQVNGLE9BQUlBLEtBQUUsSUFBRyxXQUFTQyxPQUFJQSxLQUFFLE9BQUksV0FBU0MsT0FBSUEsS0FBRSxJQUFHLEdBQUdKLElBQUVDLElBQUVDLElBQUVDLElBQUVDLElBQUUsR0FBRyxNQUFLLEVBQUUsR0FBRztBQUFBLEVBQUMsR0FBRUgsR0FBRSxjQUFZLFNBQVNELElBQUVDLElBQUVDLElBQUVDLElBQUVDLElBQUU7QUFBQyxXQUFPLFdBQVNGLE9BQUlBLEtBQUUsSUFBRyxXQUFTQyxPQUFJQSxLQUFFLE9BQUksV0FBU0Ms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QztBQUNEOyIsCiAgIm5hbWVzIjogWyJyb290IiwgImZhY3RvcnkiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZGVmaW5lIiwgImFtZCIsICJzZWxmIiwgIl9fd2VicGFja19yZXF1aXJlX18iLCAiZGVmaW5pdGlvbiIsICJrZXkiLCAibyIsICJPYmplY3QiLCAiZGVmaW5lUHJvcGVydHkiLCAiZW51bWVyYWJsZSIsICJnZXQiLCAib2JqIiwgInByb3AiLCAicHJvdG90eXBlIiwgImhhc093blByb3BlcnR5IiwgImNhbGwiLCAiU3ltYm9sIiwgInRvU3RyaW5nVGFnIiwgInZhbHVlIiwgImUiLCAidCIsICJMIiwgImV2ZW50TGlzdGVuZXIiLCAibWV0aG9kIiwgImVsZW1lbnRzIiwgImV2ZW50cyIsICJmbiIsICJvcHRpb25zIiwgIkhUTUxDb2xsZWN0aW9uIiwgIk5vZGVMaXN0IiwgIkFycmF5IiwgImZyb20iLCAiaXNBcnJheSIsICJlbCIsICJldiIsICJjYXB0dXJlIiwgInNsaWNlIiwgImFyZ3VtZW50cyIsICJwIiwgInIiLCAiYSIsICJsIiwgInMiLCAiaSIsICJjIiwgIm9uIiwgImJpbmQiLCAib2ZmIiwgImNyZWF0ZUVsZW1lbnRGcm9tU3RyaW5nIiwgImh0bWwiLCAiZGl2IiwgImRvY3VtZW50IiwgImNyZWF0ZUVsZW1lbnQiLCAiaW5uZXJIVE1MIiwgInRyaW0iLCAiZmlyc3RFbGVtZW50Q2hpbGQiLCAiY3JlYXRlRnJvbVRlbXBsYXRlIiwgInN0ciIsICJyZW1vdmVBdHRyaWJ1dGUiLCAibmFtZSIsICJnZXRBdHRyaWJ1dGUiLCAicmVzb2x2ZSIsICJlbGVtZW50IiwgImJhc2UiLCAiY29uIiwgInN1YnRyZWUiLCAiY2hpbGQiLCAiY2hpbGRyZW4iLCAiYXJyIiwgInN1YiIsICJwdXNoIiwgImtleXMiLCAibGVuZ3RoIiwgImV2ZW50UGF0aCIsICJldnQiLCAicGF0aCIsICJjb21wb3NlZFBhdGgiLCAidGFyZ2V0IiwgInBhcmVudEVsZW1lbnQiLCAid2luZG93IiwgInJlc29sdmVFbGVtZW50IiwgInZhbCIsICJFbGVtZW50IiwgInNwbGl0IiwgInJlZHVjZSIsICJwdiIsICJjdiIsICJjaSIsICJxdWVyeVNlbGVjdG9yIiwgInNoYWRvd1Jvb3QiLCAiYWRqdXN0YWJsZUlucHV0TnVtYmVycyIsICJtYXBwZXIiLCAidiIsICJoYW5kbGVTY3JvbGwiLCAiaW5jIiwgIk51bWJlciIsICJzaGlmdEtleSIsICJjdHJsS2V5IiwgImRlbHRhWSIsICJpbmRleCIsICJzZWxlY3Rpb25TdGFydCIsICJyZXBsYWNlIiwgImZvY3VzIiwgInNldFNlbGVjdGlvblJhbmdlIiwgInByZXZlbnREZWZhdWx0IiwgImRpc3BhdGNoRXZlbnQiLCAiRXZlbnQiLCAicGFzc2l2ZSIsICJtaW4iLCAibWF4IiwgImZsb29yIiwgInJvdW5kIiwgIk1hdGgiLCAiaHN2VG9SZ2IiLCAiaCIsICJmIiwgInEiLCAibW9kIiwgImhzdlRvSHNsIiwgInJnYlRvSHN2IiwgImciLCAiYiIsICJtaW5WYWwiLCAibWF4VmFsIiwgImRlbHRhIiwgImRyIiwgImRnIiwgImRiIiwgImNteWtUb0hzdiIsICJtIiwgInkiLCAiayIsICJoc2xUb0hzdiIsICJucyIsICJpc05hTiIsICJoZXhUb0hzdiIsICJoZXgiLCAibWF0Y2giLCAibWFwIiwgInBhcnNlSW50IiwgInBhcnNlVG9IU1ZBIiwgInRvTG93ZXJDYXNlIiwgImN0eCIsICJnZXRDb250ZXh0IiwgImZpbGxTdHlsZSIsICJyZWdleCIsICJjbXlrIiwgInJnYmEiLCAiaHNsYSIsICJoc3ZhIiwgImhleGEiLCAibnVtYXJpemUiLCAiYXJyYXkiLCAidGVzdCIsICJ1bmRlZmluZWQiLCAiaW52YWxpZCIsICJ0eXBlIiwgImV4ZWMiLCAiYWxwaGFWYWxpZCIsICJ2YWx1ZXMiLCAiam9pbiIsICJyYXciLCAic3Vic3RyaW5nIiwgIkhTVmFDb2xvciIsICJvcmlnaW5hbCIsICJuZXh0IiwgInByZWNpc2lvbiIsICJ0b0ZpeGVkIiwgInRoYXQiLCAidG9IU1ZBIiwgInRvU3RyaW5nIiwgInRvSFNMQSIsICJ0b1JHQkEiLCAidG9DTVlLIiwgInJnYiIsICJ0b0hFWEEiLCAicGFkU3RhcnQiLCAiYWxwaGEiLCAidG9VcHBlckNhc2UiLCAiY2xvbmUiLCAiY2xhbXAiLCAiTW92ZWFibGUiLCAib3B0IiwgImFzc2lnbiIsICJsb2NrIiwgIm9uY2hhbmdlIiwgIm9uc3RvcCIsICJfa2V5Ym9hcmQiLCAiYWN0aXZlRWxlbWVudCIsICJ3cmFwcGVyIiwgInVwIiwgInJpZ2h0IiwgImRvd24iLCAibGVmdCIsICJ4bSIsICJ5bSIsICJ1cGRhdGUiLCAiY2FjaGUiLCAieCIsICJzdGFydHNXaXRoIiwgIl90YXBzdGFydCIsICJfIiwgIl90YXBzdG9wIiwgIl90YXBtb3ZlIiwgImNhbmNlbGFibGUiLCAiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwgInRvdWNoIiwgInRvdWNoZXMiLCAiY2xpZW50WCIsICJjbGllbnRZIiwgIndpZHRoIiwgInRvcCIsICJoZWlnaHQiLCAic3R5bGUiLCAib2Zmc2V0V2lkdGgiLCAib2Zmc2V0SGVpZ2h0IiwgImN4IiwgImN5IiwgInRyaWdnZXIiLCAiZGVzdHJveSIsICJTZWxlY3RhYmxlIiwgImNsYXNzTmFtZSIsICJvblRhcCIsICJmb3JFYWNoIiwgImNsYXNzTGlzdCIsICJzdG9wUHJvcGFnYXRpb24iLCAiZGVmYXVsdHMiLCAidmFyaWFudEZsaXBPcmRlciIsICJzdGFydCIsICJtaWRkbGUiLCAiZW5kIiwgInBvc2l0aW9uRmxpcE9yZGVyIiwgImJvdHRvbSIsICJwb3NpdGlvbiIsICJtYXJnaW4iLCAicmVwb3NpdGlvbiIsICJyZWZlcmVuY2UiLCAicG9wcGVyIiwgImNvbnRhaW5lciIsICJkb2N1bWVudEVsZW1lbnQiLCAib3JpZ2luYWxMZWZ0IiwgIm9yaWdpbmFsVG9wIiwgInJlZkJveCIsICJwb3BCb3giLCAicG9zaXRpb25TdG9yZSIsICJ2YXJpYW50U3RvcmUiLCAidnMiLCAidm0iLCAidmUiLCAiaHMiLCAiaG0iLCAiaGUiLCAicG9zS2V5IiwgInZhcktleSIsICJwb3NpdGlvbnMiLCAidmFyaWFudHMiLCAidmVydGljYWwiLCAicG9zaXRpb25WYWwiLCAicG9zaXRpb25LZXkiLCAidmFyaWFudEtleSIsICJwb3NpdGlvblNpemUiLCAidmFyaWFudFNpemUiLCAicG9zaXRpb25NYXhpbXVtIiwgInZhcmlhbnRNYXhpbXVtIiwgInBvc2l0aW9uTWluaW11bSIsICJ2YXJpYW50TWluaW11bSIsICJ2YXJpYW50VmFsIiwgIkUiLCAiUGlja3IiLCAiY29uc3RydWN0b3IiLCAiaW5pdCIsICJzYXZlIiwgImhpZGUiLCAic2hvdyIsICJjbGVhciIsICJjaGFuZ2UiLCAiY2hhbmdlc3RvcCIsICJjYW5jZWwiLCAic3dhdGNoc2VsZWN0IiwgInRoaXMiLCAiREVGQVVMVF9PUFRJT05TIiwgInN3YXRjaGVzIiwgImNvbXBvbmVudHMiLCAidGhlbWUiLCAic2xpZGVycyIsICJsb2NrT3BhY2l0eSIsICJwYWRkaW5nIiwgImluY2x1ZGVzIiwgImludGVyYWN0aW9uIiwgInByZXZpZXciLCAib3BhY2l0eSIsICJodWUiLCAicGFsZXR0ZSIsICJfcHJlQnVpbGQiLCAiX2J1aWxkQ29tcG9uZW50cyIsICJfYmluZEV2ZW50cyIsICJfZmluYWxCdWlsZCIsICJjb2xvciIsICJhZGRTd2F0Y2giLCAiYnV0dG9uIiwgImFwcCIsICJfcm9vdCIsICJfbmFub3BvcCIsICJiYXNlT3B0aW9ucyIsICJIVE1MRWxlbWVudCIsICJbb2JqZWN0IE9iamVjdF0iLCAiRXJyb3IiLCAic2V0QXR0cmlidXRlIiwgIl90IiwgIl9zZXR1cEFuaW1hdGlvbkZyYW1lIiwgInJlcXVlc3RBbmltYXRpb25GcmFtZSIsICJjYiIsICJzZXRDb2xvciIsICJkZWZhdWx0IiwgIl9yZVBvc2l0aW9uaW5nUGlja2VyIiwgImRlZmF1bHRSZXByZXNlbnRhdGlvbiIsICJfcmVwcmVzZW50YXRpb24iLCAic2V0Q29sb3JSZXByZXNlbnRhdGlvbiIsICJzaG93QWx3YXlzIiwgIl9pbml0aWFsaXppbmdBY3RpdmUiLCAiX2VtaXQiLCAiaW5zdGFuY2UiLCAidXNlQXNCdXR0b24iLCAiaW5saW5lIiwgImFwcENsYXNzIiwgImhpZGRlbiIsICJpbnB1dCIsICJpbnQiLCAiZmluZCIsICJhZGQiLCAiY29udGFpbnMiLCAiYXBwZW5kQ2hpbGQiLCAicmVtb3ZlQ2hpbGQiLCAicGFyZW50IiwgIm5leHRTaWJsaW5nIiwgImluc2VydEJlZm9yZSIsICJyZW1vdmUiLCAicGFyZW50Tm9kZSIsICJyZXBsYWNlQ2hpbGQiLCAiZGlzYWJsZWQiLCAiZGlzYWJsZSIsICJjb21wYXJpc29uIiwgInRyYW5zaXRpb24iLCAibGFzdENvbG9yIiwgImluc3QiLCAiY3MiLCAicmVwZWF0IiwgInNvIiwgInNoIiwgImdldENvbG9yIiwgIl9jb2xvciIsICJfbGFzdENvbG9yIiwgInBpY2tlciIsICJjdXJyZW50Q29sb3IiLCAiX3JlY2FsYyIsICJfdXBkYXRlT3V0cHV0IiwgImNzc1JHQmFTdHJpbmciLCAiYmFja2dyb3VuZCIsICJzZXRQcm9wZXJ0eSIsICJfc3dhdGNoQ29sb3JzIiwgInNsaWRlciIsICJiYWNrZ3JvdW5kQ29sb3IiLCAic2VsZWN0YWJsZSIsICJfY29tcG9uZW50cyIsICJldmVudEJpbmRpbmdzIiwgIl9jbGVhckNvbG9yIiwgInNldEhTVkEiLCAiYXBwbHlDb2xvciIsICJyZXN1bHQiLCAic3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uIiwgImNrIiwgImNsb3NlV2l0aEtleSIsICJpc09wZW4iLCAiY29kZSIsICJzb21lIiwgImFkanVzdGFibGVOdW1iZXJzIiwgInJhbmdlcyIsICJzdGVwIiwgInJhbmdlIiwgImdldENvbG9yUmVwcmVzZW50YXRpb24iLCAibnYiLCAidG9QcmVjaXNpb24iLCAiYXV0b1JlcG9zaXRpb24iLCAidGltZW91dCIsICJjbG9zZU9uU2Nyb2xsIiwgInNldFRpbWVvdXQiLCAicnMiLCAiY2xlYXJUaW1lb3V0IiwgIl9ldmVudEJpbmRpbmdzIiwgImJvZHkiLCAiZWIiLCAiaW5uZXJIZWlnaHQiLCAiaW5uZXJXaWR0aCIsICJldmVudFNvdXJjZSIsICJvdXRwdXRQcmVjaXNpb24iLCAic2lsZW50IiwgIl9wYXJzZUxvY2FsQ29sb3IiLCAiYWxwaGFNYWtlc0FDaGFuZ2UiLCAiaTE4biIsICJJMThOX0RFRkFVTFRTIiwgImV2ZW50IiwgImFyZ3MiLCAiX2V2ZW50TGlzdGVuZXIiLCAiY2FsbEJhY2tzIiwgImluZGV4T2YiLCAic3BsaWNlIiwgInJlbW92ZVN3YXRjaCIsICJzd2F0Y2hDb2xvciIsICJjYW5jZWxBbmltYXRpb25GcmFtZSIsICJkZXN0cm95QW5kUmVtb3ZlIiwgInJlY2FsYyIsICJzdHJpbmciLCAidXR5cGUiLCAiY2xpY2siLCAiZ2V0U2VsZWN0ZWRDb2xvciIsICJnZXRSb290IiwgImVuYWJsZSIsICJWRVJTSU9OIiwgImltcG9ydF9vYnNpZGlhbiIsICJ0IiwgImUiLCAiciIsICJuIiwgImkiLCAibyIsICJhIiwgInUiLCAiYyIsICJzIiwgImQiLCAiaCIsICJsIiwgImYiLCAiZyIsICJwIiwgImIiLCAiRiIsICJtIiwgInkiLCAiQSIsICJFIiwgInYiLCAidmFsdWUiLCAiZSIsICJQaWNrciIsICJpIiwgImltcG9ydF9vYnNpZGlhbiIsICJjb2RlU2VjdGlvbiIsICJfIiwgImUiLCAic2V0dGluZ3MiLCAiaSIsICJsYW5ndWFnZUljb25zIiwgImltcG9ydF9vYnNpZGlhbiIsICJfIl0KfQo=