UNPKG

ng-zorro-antd-mobile

Version:

An enterprise-class mobile UI components based on Ant Design and Angular

74 lines 30 kB
/* tslint:disable:max-line-length */ // inspried by https://github.com/kisenka/svg-sprite-loader/blob/master/runtime/browser-sprite.js // Much simplified, do make sure run this after document ready import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; const svgSprite = contents => ` <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink" id="__ANTD_MOBILE_SVG_SPRITE_NODE__" style="position:absolute;width:0;height:0" > <defs> ${contents} </defs> </svg> `; export class IconHandler { constructor() { this.contents = []; // both minified by https://github.com/svg/svgo this.icons = { check: '<svg viewBox="0 0 44 44"><path fill-rule="evenodd" d="M34.538 8L38 11.518 17.808 32 8 22.033l3.462-3.518 6.346 6.45z"/></svg>', 'check-circle': '<svg viewBox="0 0 48 48"><path d="M24 48c13.255 0 24-10.745 24-24S37.255 0 24 0 0 10.745 0 24s10.745 24 24 24zM13.1 23.2l-2.2 2.1 10 9.9L38.1 15l-2.2-2-15.2 17.8-7.6-7.6z" fill-rule="evenodd"/></svg>', 'check-circle-o': '<svg viewBox="0 0 48 48"><g fill-rule="evenodd"><path d="M24 48c13.255 0 24-10.745 24-24S37.255 0 24 0 0 10.745 0 24s10.745 24 24 24zm0-3c11.598 0 21-9.402 21-21S35.598 3 24 3 3 12.402 3 24s9.402 21 21 21z"/><path d="M12.2 23.2L10 25.3l10 9.9L37.2 15 35 13 19.8 30.8z"/></g></svg>', cross: '<svg viewBox="0 0 44 44"><path fill-rule="evenodd" d="M24.008 21.852l8.97-8.968L31.092 11l-8.97 8.968L13.157 11l-1.884 1.884 8.968 8.968-9.24 9.24 1.884 1.885 9.24-9.24 9.24 9.24 1.885-1.884-9.24-9.24z"/></svg>', 'cross-circle': '<svg viewBox="0 0 48 48"><g fill-rule="evenodd"><path d="M24 48c13.255 0 24-10.745 24-24S37.255 0 24 0 0 10.745 0 24s10.745 24 24 24zm0-3c11.598 0 21-9.402 21-21S35.598 3 24 3 3 12.402 3 24s9.402 21 21 21z"/><path d="M24.34 22.22l-7.775-7.775a1.5 1.5 0 1 0-2.12 2.12l7.773 7.775-7.774 7.775a1.5 1.5 0 1 0 2.12 2.12l7.775-7.773 7.774 7.774a1.5 1.5 0 1 0 2.12-2.12L26.46 24.34l7.774-7.774a1.5 1.5 0 1 0-2.12-2.12l-7.776 7.773z"/></g></svg>', 'cross-circle-o': '<svg viewBox="0 0 48 48"><path d="M24 48c13.255 0 24-10.745 24-24S37.255 0 24 0 0 10.745 0 24s10.745 24 24 24zm.353-25.77l-7.593-7.593c-.797-.8-1.538-.822-2.263-.207-.724.614-.56 1.617-.124 2.067l7.852 7.847-7.72 7.723c-.727.728-.56 1.646-.066 2.177.493.532 1.553.683 2.31-.174l7.588-7.584 7.644 7.623c.796.798 1.608.724 2.21.145.605-.58.72-1.442-.074-2.24l-7.657-7.67 7.545-7.52c.81-.697.9-1.76.297-2.34-.92-.885-1.85-.338-2.264.078l-7.685 7.667z" fill-rule="evenodd"/></svg>', // Todo: simplify direction to 2, use css transform left: '<svg viewBox="0 0 44 44"><defs><path id="a" d="M-129-845h24v24h-24z"/></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"/></clipPath><g clip-path="url(#b)"><defs><path id="c" d="M-903-949H947V996H-903z"/></defs></g><path d="M16.247 21.4L28.48 9.165l2.12 2.12-10.117 10.12L30.6 31.524l-2.12 2.12-12.233-12.232.007-.006z"/></svg>', right: '<svg viewBox="0 0 44 44"><defs><path id="a" d="M-129-845h24v24h-24z"/></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"/></clipPath><g clip-path="url(#b)"><defs><path id="c" d="M-903-949H947V996H-903z"/></defs></g><path d="M30.6 21.4L18.37 9.165l-2.12 2.12 10.117 10.12-10.118 10.118 2.12 2.12 12.234-12.232-.005-.006z"/></svg>', down: '<svg viewBox="0 0 44 44"><path d="M22.355 28.237l-11.483-10.9c-.607-.576-1.714-.396-2.48.41l.674-.71c-.763.802-.73 2.07-.282 2.496l11.37 10.793-.04.04 2.088 2.195L23.3 31.52l12.308-11.682c.447-.425.48-1.694-.282-2.496l.674.71c-.766-.806-1.873-.986-2.48-.41L22.355 28.237z" fill-rule="evenodd"/></svg>', up: '<svg viewBox="0 0 44 44"><path fill="none" d="M-1-1h46v46H-1z"/><defs><path id="a" d="M-129-845h24v24h-24z"/></defs><clipPath id="b"><use xlink:href="#a"/></clipPath><g clip-path="url(#b)"><defs><path id="c" d="M-903-949H947V996H-903z"/></defs></g><path d="M23.417 14.23L11.184 26.46l2.12 2.12 10.12-10.117 10.118 10.118 2.12-2.12L23.43 14.228l-.006.005z"/></svg>', loading: '<svg viewBox="0 -2 59.75 60.25"><path fill="#ccc" d="M29.69-.527C14.044-.527 1.36 12.158 1.36 27.806S14.043 56.14 29.69 56.14c15.65 0 28.334-12.686 28.334-28.334S45.34-.527 29.69-.527zm.185 53.75c-14.037 0-25.417-11.38-25.417-25.417S15.838 2.39 29.875 2.39s25.417 11.38 25.417 25.417-11.38 25.416-25.417 25.416z"/><path fill="none" stroke="#108ee9" stroke-width="3" stroke-linecap="round" stroke-miterlimit="10" d="M56.587 29.766c.37-7.438-1.658-14.7-6.393-19.552"/></svg>', search: '<svg viewBox="0 0 44 44"><path d="M32.98 29.255l8.915 8.293L39.603 40l-8.86-8.242a15.952 15.952 0 0 1-10.753 4.147C11.16 35.905 4 28.763 4 19.952 4 11.142 11.16 4 19.99 4s15.99 7.142 15.99 15.952c0 3.472-1.112 6.685-3 9.303zm.05-9.21c0 7.123-5.7 12.918-12.88 12.918-7.176 0-13.015-5.795-13.015-12.918 0-7.12 5.84-12.917 13.017-12.917 7.178 0 12.88 5.797 12.88 12.917z" fill-rule="evenodd"/></svg>', ellipsis: '<svg viewBox="0 0 44 44"><circle cx="21.888" cy="22" r="4.045"/><circle cx="5.913" cy="22" r="4.045"/><circle cx="37.863" cy="22" r="4.045"/></svg>', 'ellipsis-circle': '<svg viewBox="0 0 44 44"><g fill-rule="evenodd"><path d="M22.13.11C10.05.11.255 9.902.255 21.983S10.05 43.86 22.13 43.86s21.875-9.795 21.875-21.876S34.21.11 22.13.11zm0 40.7c-10.396 0-18.825-8.43-18.825-18.826S11.735 3.16 22.13 3.16c10.396 0 18.825 8.428 18.825 18.824S32.525 40.81 22.13 40.81z"/><circle cx="21.888" cy="22.701" r="2.445"/><circle cx="12.23" cy="22.701" r="2.445"/><circle cx="31.546" cy="22.701" r="2.445"/></g></svg>', 'exclamation-circle': '<svg viewBox="0 0 64 64"><path d="M59.58 40.89L41.193 9.11C39.135 5.382 35.723 3 31.387 3c-3.11 0-6.52 2.382-8.58 6.11L4.42 40.89c-2.788 4.635-3.126 8.81-1.225 12.22C5.015 56.208 7.572 58 13 58h36.773c5.428 0 9.21-1.792 11.03-4.89 1.9-3.41 1.565-7.583-1.224-12.22zm-2.452 11c-.635 1.694-3.802 2.443-7.354 2.443H13c-3.59 0-5.493-.75-6.13-2.444-1.71-2.41-1.374-5.263 0-8.557l18.387-31.777c2.116-3.168 4.394-4.89 6.13-4.89 2.96 0 5.238 1.722 7.354 4.89l18.387 31.777c1.374 3.294 1.713 6.146 0 8.556zm-25.74-33c-.405 0-1.227.835-1.227 2.443v15.89c0 1.608.823 2.444 1.227 2.444 1.628 0 2.452-.836 2.452-2.445v-15.89c0-1.607-.825-2.443-2.453-2.443zm0 23.22c-.405 0-1.227.79-1.227 1.223v2.445c0 .434.823 1.222 1.227 1.222 1.628 0 2.452-.788 2.452-1.222v-2.445c0-.434-.825-1.222-2.453-1.222z" fill-rule="evenodd"/></svg>', 'info-circle': '<svg viewBox="0 0 44 44"><circle cx="13.828" cy="19.63" r="1.938"/><circle cx="21.767" cy="19.63" r="1.938"/><circle cx="29.767" cy="19.63" r="1.938"/><path d="M22.102 4.16c-9.918 0-17.958 7.147-17.958 15.962 0 4.935 2.522 9.345 6.48 12.273v5.667l.04.012a2.627 2.627 0 1 0 4.5 1.455h.002l5.026-3.54c.628.06 1.265.094 1.91.094 9.92 0 17.96-7.146 17.96-15.96C40.06 11.306 32.02 4.16 22.1 4.16zm-.04 29.902c-.902 0-1.78-.08-2.642-.207l-5.882 4.234c-.024.024-.055.04-.083.06l-.008.005a.51.51 0 0 1-.284.095.525.525 0 0 1-.525-.525l.005-6.375c-3.91-2.516-6.456-6.544-6.456-11.1 0-7.628 7.107-13.812 15.875-13.812s15.875 6.184 15.875 13.812-7.107 13.812-15.875 13.812z"/></svg>', 'question-circle': '<svg viewBox="0 0 44 44"><g fill-rule="evenodd"><path d="M21.186 3c-10.853 0-19.36 8.506-19.36 19.358C1.827 32.494 10.334 41 21.187 41c10.133 0 18.64-8.506 18.64-18.642C39.827 11.506 31.32 3 21.187 3m15.64 19c0 8.823-7.178 16-16 16s-16-7.177-16-16 7.178-16 16-16 16 7.177 16 16z"/><path d="M22.827 31.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m4-15.48c0 .957-.203 1.822-.61 2.593-.427.792-1.117 1.612-2.073 2.457-.867.734-1.453 1.435-1.754 2.096-.302.7-.453 1.693-.453 2.98a.828.828 0 0 1-.823.854.828.828 0 0 1-.584-.22.877.877 0 0 1-.24-.635c0-1.305.168-2.38.506-3.227.336-.883.93-1.682 1.78-2.4 1.01-.883 1.71-1.692 2.1-2.428.336-.645.503-1.38.503-2.21-.02-.935-.3-1.7-.85-2.288-.655-.717-1.62-1.075-2.897-1.075-1.506 0-2.596.535-3.27 1.6-.46.754-.688 1.645-.688 2.677a.92.92 0 0 1-.266.66.747.747 0 0 1-.56.25.73.73 0 0 1-.584-.194c-.16-.164-.24-.393-.24-.69 0-1.82.585-3.272 1.755-4.357C18.645 11.486 19.928 11 21.434 11h.293c1.452 0 2.638.414 3.56 1.24 1.028.903 1.54 2.163 1.54 3.78z"/></g></svg>', voice: '<svg viewBox="0 0 38 33"><g fill-rule="evenodd"><path d="M17.838 28.8c-.564-.468-1.192-.983-1.836-1.496-4.244-3.385-5.294-3.67-6.006-3.67-.014 0-.027.005-.04.005-.015 0-.028-.006-.042-.006H3.562c-.734 0-.903-.203-.903-.928v-12.62c0-.49.057-.8.66-.8H9.1c.694 0 1.76-.28 6.4-3.63.83-.596 1.638-1.196 2.337-1.722V28.8zM19.682.19c-.463-.22-1.014-.158-1.417.157-.02.016-1.983 1.552-4.152 3.125C10.34 6.21 9.243 6.664 9.02 6.737H3.676c-.027 0-.053.003-.08.004H1.183c-.608 0-1.1.487-1.1 1.086V25.14c0 .598.492 1.084 1.1 1.084h8.71c.22.08 1.257.55 4.605 3.24 1.947 1.562 3.694 3.088 3.712 3.103.25.22.568.333.89.333.186 0 .373-.038.55-.116.48-.213.79-.684.79-1.204V1.38c0-.506-.294-.968-.758-1.19z" mask="url(#mask-2)"/><path d="M31.42 16.475c0-3.363-1.854-6.297-4.606-7.876-.125-.067-.42-.193-.625-.193-.613 0-1.11.488-1.11 1.09 0 .404.22.764.55.952 2.13 1.19 3.566 3.44 3.566 6.024 0 2.627-1.486 4.913-3.677 6.087-.32.19-.53.54-.53.935 0 .602.495 1.09 1.106 1.09.26.002.568-.15.568-.15 2.835-1.556 4.754-4.538 4.754-7.96" mask="url(#mask-4)"/><path d="M30.14 3.057c-.205-.122-.41-.22-.658-.22-.608 0-1.1.485-1.1 1.084 0 .434.26.78.627.978 4.042 2.323 6.76 6.636 6.76 11.578 0 4.938-2.715 9.248-6.754 11.572-.354.19-.66.55-.66.993 0 .6.494 1.085 1.102 1.085.243 0 .438-.092.65-.213 4.692-2.695 7.848-7.7 7.848-13.435 0-5.723-3.142-10.718-7.817-13.418" mask="url(#mask-6)"/></g></svg>', plus: '<svg viewBox="0 0 30 30"><path d="M14 14H0v2h14v14h2V16h14v-2H16V0h-2v14z" fill-rule="evenodd"/></svg>', minus: '<svg viewBox="0 0 30 2"><path d="M0 0h30v2H0z" fill-rule="evenodd"/></svg>', dislike: '<svg viewBox="0 0 72 72"><g fill="none" fill-rule="evenodd"><path d="M36 72c19.882 0 36-16.118 36-36S55.882 0 36 0 0 16.118 0 36s16.118 36 36 36zm0-2c18.778 0 34-15.222 34-34S54.778 2 36 2 2 17.222 2 36s15.222 34 34 34z" fill="#FFF"/><path fill="#FFF" d="M47 22h2v6h-2zm-24 0h2v6h-2z"/><path d="M21 51s4.6-7 15-7 15 7 15 7" stroke="#FFF" stroke-width="2"/></g></svg>', fail: '<svg viewBox="0 0 72 72"><g fill="none" fill-rule="evenodd"><path d="M36 72c19.882 0 36-16.118 36-36S55.882 0 36 0 0 16.118 0 36s16.118 36 36 36zm0-2c18.778 0 34-15.222 34-34S54.778 2 36 2 2 17.222 2 36s15.222 34 34 34z" fill="#FFF"/><path d="M22 22l28.304 28.304m-28.304 0L50.304 22" stroke="#FFF" stroke-width="2"/></g></svg>', success: '<svg viewBox="0 0 72 72"><g fill="none" fill-rule="evenodd"><path d="M36 72c19.882 0 36-16.118 36-36S55.882 0 36 0 0 16.118 0 36s16.118 36 36 36zm0-2c18.778 0 34-15.222 34-34S54.778 2 36 2 2 17.222 2 36s15.222 34 34 34z" fill="#FFF"/><path stroke="#FFF" stroke-width="2" d="M19 34.54l11.545 11.923L52.815 24"/></g></svg>' }; } renderSvgSprite() { const symbols = Object.keys(this.icons) .map(iconName => { const svgContent = this.icons[iconName].split('svg')[1]; return `<symbol id=${iconName}${svgContent}symbol>`; }) .join(''); return svgSprite(symbols); } load() { if (!document) { return; } const existing = document.getElementById('__ANTD_MOBILE_SVG_SPRITE_NODE__'); const mountNode = document.body; if (!existing) { mountNode.insertAdjacentHTML('afterbegin', this.renderSvgSprite()); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconHandler }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconHandler, decorators: [{ type: Injectable }], ctorParameters: () => [] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvY29yZS91dGlsL2ljb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLGlHQUFpRztBQUNqRyw4REFBOEQ7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQzs7Ozs7Ozs7TUFReEIsUUFBUTs7O0NBR2IsQ0FBQztBQUdGLE1BQU0sT0FBTyxXQUFXO0lBQ3RCO1FBQ0EsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLCtDQUErQztRQUMvQyxVQUFLLEdBQUc7WUFDTixLQUFLLEVBQ0gsK0hBQStIO1lBQ2pJLGNBQWMsRUFDWix5TUFBeU07WUFDM00sZ0JBQWdCLEVBQ2QsMFJBQTBSO1lBRTVSLEtBQUssRUFDSCxvTkFBb047WUFDdE4sY0FBYyxFQUNaLHViQUF1YjtZQUN6YixnQkFBZ0IsRUFDZCw4ZEFBOGQ7WUFFaGUsbURBQW1EO1lBQ25ELElBQUksRUFDRixzVkFBc1Y7WUFDeFYsS0FBSyxFQUNILHVWQUF1VjtZQUN6VixJQUFJLEVBQ0YsOFNBQThTO1lBQ2hULEVBQUUsRUFDQSw2V0FBNlc7WUFFL1csT0FBTyxFQUNMLDBkQUEwZDtZQUM1ZCxNQUFNLEVBQ0osOFlBQThZO1lBRWhaLFFBQVEsRUFDTixxSkFBcUo7WUFDdkosaUJBQWlCLEVBQ2YscWJBQXFiO1lBRXZiLG9CQUFvQixFQUNsQiw4eUJBQTh5QjtZQUNoekIsYUFBYSxFQUNYLGlxQkFBaXFCO1lBQ25xQixpQkFBaUIsRUFDZix3K0JBQXcrQjtZQUUxK0IsS0FBSyxFQUNILGsyQ0FBazJDO1lBRXAyQyxJQUFJLEVBQUUsd0dBQXdHO1lBQzlHLEtBQUssRUFBRSw0RUFBNEU7WUFFbkYsT0FBTyxFQUNMLGdYQUFnWDtZQUNsWCxJQUFJLEVBQ0YseVVBQXlVO1lBQzNVLE9BQU8sRUFDTCxrVUFBa1U7U0FDclUsQ0FBQztJQXpEYSxDQUFDO0lBMkRoQixlQUFlO1FBQ2IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ3BDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNkLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hELE9BQU8sY0FBYyxRQUFRLEdBQUcsVUFBVSxTQUFTLENBQUM7UUFDdEQsQ0FBQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ1osT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTztTQUNSO1FBQ0QsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFFaEMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7U0FDcEU7SUFDSCxDQUFDOzhHQWhGVSxXQUFXO2tIQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cbi8vIGluc3ByaWVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9raXNlbmthL3N2Zy1zcHJpdGUtbG9hZGVyL2Jsb2IvbWFzdGVyL3J1bnRpbWUvYnJvd3Nlci1zcHJpdGUuanNcbi8vIE11Y2ggc2ltcGxpZmllZCwgZG8gbWFrZSBzdXJlIHJ1biB0aGlzIGFmdGVyIGRvY3VtZW50IHJlYWR5XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNvbnN0IHN2Z1Nwcml0ZSA9IGNvbnRlbnRzID0+IGBcbjxzdmdcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gIHhtbG5zOnhsaW5rPVwiaHR0cHM6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICBpZD1cIl9fQU5URF9NT0JJTEVfU1ZHX1NQUklURV9OT0RFX19cIlxuICBzdHlsZT1cInBvc2l0aW9uOmFic29sdXRlO3dpZHRoOjA7aGVpZ2h0OjBcIlxuPlxuICA8ZGVmcz5cbiAgICAke2NvbnRlbnRzfVxuICA8L2RlZnM+XG48L3N2Zz5cbmA7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJY29uSGFuZGxlciB7XG4gIGNvbnN0cnVjdG9yKCkge31cbiAgY29udGVudHMgPSBbXTtcbiAgLy8gYm90aCBtaW5pZmllZCBieSBodHRwczovL2dpdGh1Yi5jb20vc3ZnL3N2Z29cbiAgaWNvbnMgPSB7XG4gICAgY2hlY2s6XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAwIDQ0IDQ0XCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMzQuNTM4IDhMMzggMTEuNTE4IDE3LjgwOCAzMiA4IDIyLjAzM2wzLjQ2Mi0zLjUxOCA2LjM0NiA2LjQ1elwiLz48L3N2Zz4nLFxuICAgICdjaGVjay1jaXJjbGUnOlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCA0OCA0OFwiPjxwYXRoIGQ9XCJNMjQgNDhjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0UzM3LjI1NSAwIDI0IDAgMCAxMC43NDUgMCAyNHMxMC43NDUgMjQgMjQgMjR6TTEzLjEgMjMuMmwtMi4yIDIuMSAxMCA5LjlMMzguMSAxNWwtMi4yLTItMTUuMiAxNy44LTcuNi03LjZ6XCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiLz48L3N2Zz4nLFxuICAgICdjaGVjay1jaXJjbGUtbyc6XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAwIDQ4IDQ4XCI+PGcgZmlsbC1ydWxlPVwiZXZlbm9kZFwiPjxwYXRoIGQ9XCJNMjQgNDhjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0UzM3LjI1NSAwIDI0IDAgMCAxMC43NDUgMCAyNHMxMC43NDUgMjQgMjQgMjR6bTAtM2MxMS41OTggMCAyMS05LjQwMiAyMS0yMVMzNS41OTggMyAyNCAzIDMgMTIuNDAyIDMgMjRzOS40MDIgMjEgMjEgMjF6XCIvPjxwYXRoIGQ9XCJNMTIuMiAyMy4yTDEwIDI1LjNsMTAgOS45TDM3LjIgMTUgMzUgMTMgMTkuOCAzMC44elwiLz48L2c+PC9zdmc+JyxcblxuICAgIGNyb3NzOlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCA0NCA0NFwiPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTI0LjAwOCAyMS44NTJsOC45Ny04Ljk2OEwzMS4wOTIgMTFsLTguOTcgOC45NjhMMTMuMTU3IDExbC0xLjg4NCAxLjg4NCA4Ljk2OCA4Ljk2OC05LjI0IDkuMjQgMS44ODQgMS44ODUgOS4yNC05LjI0IDkuMjQgOS4yNCAxLjg4NS0xLjg4NC05LjI0LTkuMjR6XCIvPjwvc3ZnPicsXG4gICAgJ2Nyb3NzLWNpcmNsZSc6XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAwIDQ4IDQ4XCI+PGcgZmlsbC1ydWxlPVwiZXZlbm9kZFwiPjxwYXRoIGQ9XCJNMjQgNDhjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0UzM3LjI1NSAwIDI0IDAgMCAxMC43NDUgMCAyNHMxMC43NDUgMjQgMjQgMjR6bTAtM2MxMS41OTggMCAyMS05LjQwMiAyMS0yMVMzNS41OTggMyAyNCAzIDMgMTIuNDAyIDMgMjRzOS40MDIgMjEgMjEgMjF6XCIvPjxwYXRoIGQ9XCJNMjQuMzQgMjIuMjJsLTcuNzc1LTcuNzc1YTEuNSAxLjUgMCAxIDAtMi4xMiAyLjEybDcuNzczIDcuNzc1LTcuNzc0IDcuNzc1YTEuNSAxLjUgMCAxIDAgMi4xMiAyLjEybDcuNzc1LTcuNzczIDcuNzc0IDcuNzc0YTEuNSAxLjUgMCAxIDAgMi4xMi0yLjEyTDI2LjQ2IDI0LjM0bDcuNzc0LTcuNzc0YTEuNSAxLjUgMCAxIDAtMi4xMi0yLjEybC03Ljc3NiA3Ljc3M3pcIi8+PC9nPjwvc3ZnPicsXG4gICAgJ2Nyb3NzLWNpcmNsZS1vJzpcbiAgICAgICc8c3ZnIHZpZXdCb3g9XCIwIDAgNDggNDhcIj48cGF0aCBkPVwiTTI0IDQ4YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFMzNy4yNTUgMCAyNCAwIDAgMTAuNzQ1IDAgMjRzMTAuNzQ1IDI0IDI0IDI0em0uMzUzLTI1Ljc3bC03LjU5My03LjU5M2MtLjc5Ny0uOC0xLjUzOC0uODIyLTIuMjYzLS4yMDctLjcyNC42MTQtLjU2IDEuNjE3LS4xMjQgMi4wNjdsNy44NTIgNy44NDctNy43MiA3LjcyM2MtLjcyNy43MjgtLjU2IDEuNjQ2LS4wNjYgMi4xNzcuNDkzLjUzMiAxLjU1My42ODMgMi4zMS0uMTc0bDcuNTg4LTcuNTg0IDcuNjQ0IDcuNjIzYy43OTYuNzk4IDEuNjA4LjcyNCAyLjIxLjE0NS42MDUtLjU4LjcyLTEuNDQyLS4wNzQtMi4yNGwtNy42NTctNy42NyA3LjU0NS03LjUyYy44MS0uNjk3LjktMS43Ni4yOTctMi4zNC0uOTItLjg4NS0xLjg1LS4zMzgtMi4yNjQuMDc4bC03LjY4NSA3LjY2N3pcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIvPjwvc3ZnPicsXG5cbiAgICAvLyBUb2RvOiBzaW1wbGlmeSBkaXJlY3Rpb24gdG8gMiwgdXNlIGNzcyB0cmFuc2Zvcm1cbiAgICBsZWZ0OlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCA0NCA0NFwiPjxkZWZzPjxwYXRoIGlkPVwiYVwiIGQ9XCJNLTEyOS04NDVoMjR2MjRoLTI0elwiLz48L2RlZnM+PGNsaXBQYXRoIGlkPVwiYlwiPjx1c2UgeGxpbms6aHJlZj1cIiNhXCIgb3ZlcmZsb3c9XCJ2aXNpYmxlXCIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPVwidXJsKCNiKVwiPjxkZWZzPjxwYXRoIGlkPVwiY1wiIGQ9XCJNLTkwMy05NDlIOTQ3Vjk5NkgtOTAzelwiLz48L2RlZnM+PC9nPjxwYXRoIGQ9XCJNMTYuMjQ3IDIxLjRMMjguNDggOS4xNjVsMi4xMiAyLjEyLTEwLjExNyAxMC4xMkwzMC42IDMxLjUyNGwtMi4xMiAyLjEyLTEyLjIzMy0xMi4yMzIuMDA3LS4wMDZ6XCIvPjwvc3ZnPicsXG4gICAgcmlnaHQ6XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAwIDQ0IDQ0XCI+PGRlZnM+PHBhdGggaWQ9XCJhXCIgZD1cIk0tMTI5LTg0NWgyNHYyNGgtMjR6XCIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9XCJiXCI+PHVzZSB4bGluazpocmVmPVwiI2FcIiBvdmVyZmxvdz1cInZpc2libGVcIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9XCJ1cmwoI2IpXCI+PGRlZnM+PHBhdGggaWQ9XCJjXCIgZD1cIk0tOTAzLTk0OUg5NDdWOTk2SC05MDN6XCIvPjwvZGVmcz48L2c+PHBhdGggZD1cIk0zMC42IDIxLjRMMTguMzcgOS4xNjVsLTIuMTIgMi4xMiAxMC4xMTcgMTAuMTItMTAuMTE4IDEwLjExOCAyLjEyIDIuMTIgMTIuMjM0LTEyLjIzMi0uMDA1LS4wMDZ6XCIvPjwvc3ZnPicsXG4gICAgZG93bjpcbiAgICAgICc8c3ZnIHZpZXdCb3g9XCIwIDAgNDQgNDRcIj48cGF0aCBkPVwiTTIyLjM1NSAyOC4yMzdsLTExLjQ4My0xMC45Yy0uNjA3LS41NzYtMS43MTQtLjM5Ni0yLjQ4LjQxbC42NzQtLjcxYy0uNzYzLjgwMi0uNzMgMi4wNy0uMjgyIDIuNDk2bDExLjM3IDEwLjc5My0uMDQuMDQgMi4wODggMi4xOTVMMjMuMyAzMS41MmwxMi4zMDgtMTEuNjgyYy40NDctLjQyNS40OC0xLjY5NC0uMjgyLTIuNDk2bC42NzQuNzFjLS43NjYtLjgwNi0xLjg3My0uOTg2LTIuNDgtLjQxTDIyLjM1NSAyOC4yMzd6XCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiLz48L3N2Zz4nLFxuICAgIHVwOlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCA0NCA0NFwiPjxwYXRoIGZpbGw9XCJub25lXCIgZD1cIk0tMS0xaDQ2djQ2SC0xelwiLz48ZGVmcz48cGF0aCBpZD1cImFcIiBkPVwiTS0xMjktODQ1aDI0djI0aC0yNHpcIi8+PC9kZWZzPjxjbGlwUGF0aCBpZD1cImJcIj48dXNlIHhsaW5rOmhyZWY9XCIjYVwiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD1cInVybCgjYilcIj48ZGVmcz48cGF0aCBpZD1cImNcIiBkPVwiTS05MDMtOTQ5SDk0N1Y5OTZILTkwM3pcIi8+PC9kZWZzPjwvZz48cGF0aCBkPVwiTTIzLjQxNyAxNC4yM0wxMS4xODQgMjYuNDZsMi4xMiAyLjEyIDEwLjEyLTEwLjExNyAxMC4xMTggMTAuMTE4IDIuMTItMi4xMkwyMy40MyAxNC4yMjhsLS4wMDYuMDA1elwiLz48L3N2Zz4nLFxuXG4gICAgbG9hZGluZzpcbiAgICAgICc8c3ZnIHZpZXdCb3g9XCIwIC0yIDU5Ljc1IDYwLjI1XCI+PHBhdGggZmlsbD1cIiNjY2NcIiBkPVwiTTI5LjY5LS41MjdDMTQuMDQ0LS41MjcgMS4zNiAxMi4xNTggMS4zNiAyNy44MDZTMTQuMDQzIDU2LjE0IDI5LjY5IDU2LjE0YzE1LjY1IDAgMjguMzM0LTEyLjY4NiAyOC4zMzQtMjguMzM0UzQ1LjM0LS41MjcgMjkuNjktLjUyN3ptLjE4NSA1My43NWMtMTQuMDM3IDAtMjUuNDE3LTExLjM4LTI1LjQxNy0yNS40MTdTMTUuODM4IDIuMzkgMjkuODc1IDIuMzlzMjUuNDE3IDExLjM4IDI1LjQxNyAyNS40MTctMTEuMzggMjUuNDE2LTI1LjQxNyAyNS40MTZ6XCIvPjxwYXRoIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiIzEwOGVlOVwiIHN0cm9rZS13aWR0aD1cIjNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiIGQ9XCJNNTYuNTg3IDI5Ljc2NmMuMzctNy40MzgtMS42NTgtMTQuNy02LjM5My0xOS41NTJcIi8+PC9zdmc+JyxcbiAgICBzZWFyY2g6XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAwIDQ0IDQ0XCI+PHBhdGggZD1cIk0zMi45OCAyOS4yNTVsOC45MTUgOC4yOTNMMzkuNjAzIDQwbC04Ljg2LTguMjQyYTE1Ljk1MiAxNS45NTIgMCAwIDEtMTAuNzUzIDQuMTQ3QzExLjE2IDM1LjkwNSA0IDI4Ljc2MyA0IDE5Ljk1MiA0IDExLjE0MiAxMS4xNiA0IDE5Ljk5IDRzMTUuOTkgNy4xNDIgMTUuOTkgMTUuOTUyYzAgMy40NzItMS4xMTIgNi42ODUtMyA5LjMwM3ptLjA1LTkuMjFjMCA3LjEyMy01LjcgMTIuOTE4LTEyLjg4IDEyLjkxOC03LjE3NiAwLTEzLjAxNS01Ljc5NS0xMy4wMTUtMTIuOTE4IDAtNy4xMiA1Ljg0LTEyLjkxNyAxMy4wMTctMTIuOTE3IDcuMTc4IDAgMTIuODggNS43OTcgMTIuODggMTIuOTE3elwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIi8+PC9zdmc+JyxcblxuICAgIGVsbGlwc2lzOlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCA0NCA0NFwiPjxjaXJjbGUgY3g9XCIyMS44ODhcIiBjeT1cIjIyXCIgcj1cIjQuMDQ1XCIvPjxjaXJjbGUgY3g9XCI1LjkxM1wiIGN5PVwiMjJcIiByPVwiNC4wNDVcIi8+PGNpcmNsZSBjeD1cIjM3Ljg2M1wiIGN5PVwiMjJcIiByPVwiNC4wNDVcIi8+PC9zdmc+JyxcbiAgICAnZWxsaXBzaXMtY2lyY2xlJzpcbiAgICAgICc8c3ZnIHZpZXdCb3g9XCIwIDAgNDQgNDRcIj48ZyBmaWxsLXJ1bGU9XCJldmVub2RkXCI+PHBhdGggZD1cIk0yMi4xMy4xMUMxMC4wNS4xMS4yNTUgOS45MDIuMjU1IDIxLjk4M1MxMC4wNSA0My44NiAyMi4xMyA0My44NnMyMS44NzUtOS43OTUgMjEuODc1LTIxLjg3NlMzNC4yMS4xMSAyMi4xMy4xMXptMCA0MC43Yy0xMC4zOTYgMC0xOC44MjUtOC40My0xOC44MjUtMTguODI2UzExLjczNSAzLjE2IDIyLjEzIDMuMTZjMTAuMzk2IDAgMTguODI1IDguNDI4IDE4LjgyNSAxOC44MjRTMzIuNTI1IDQwLjgxIDIyLjEzIDQwLjgxelwiLz48Y2lyY2xlIGN4PVwiMjEuODg4XCIgY3k9XCIyMi43MDFcIiByPVwiMi40NDVcIi8+PGNpcmNsZSBjeD1cIjEyLjIzXCIgY3k9XCIyMi43MDFcIiByPVwiMi40NDVcIi8+PGNpcmNsZSBjeD1cIjMxLjU0NlwiIGN5PVwiMjIuNzAxXCIgcj1cIjIuNDQ1XCIvPjwvZz48L3N2Zz4nLFxuXG4gICAgJ2V4Y2xhbWF0aW9uLWNpcmNsZSc6XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAwIDY0IDY0XCI+PHBhdGggZD1cIk01OS41OCA0MC44OUw0MS4xOTMgOS4xMUMzOS4xMzUgNS4zODIgMzUuNzIzIDMgMzEuMzg3IDNjLTMuMTEgMC02LjUyIDIuMzgyLTguNTggNi4xMUw0LjQyIDQwLjg5Yy0yLjc4OCA0LjYzNS0zLjEyNiA4LjgxLTEuMjI1IDEyLjIyQzUuMDE1IDU2LjIwOCA3LjU3MiA1OCAxMyA1OGgzNi43NzNjNS40MjggMCA5LjIxLTEuNzkyIDExLjAzLTQuODkgMS45LTMuNDEgMS41NjUtNy41ODMtMS4yMjQtMTIuMjJ6bS0yLjQ1MiAxMWMtLjYzNSAxLjY5NC0zLjgwMiAyLjQ0My03LjM1NCAyLjQ0M0gxM2MtMy41OSAwLTUuNDkzLS43NS02LjEzLTIuNDQ0LTEuNzEtMi40MS0xLjM3NC01LjI2MyAwLTguNTU3bDE4LjM4Ny0zMS43NzdjMi4xMTYtMy4xNjggNC4zOTQtNC44OSA2LjEzLTQuODkgMi45NiAwIDUuMjM4IDEuNzIyIDcuMzU0IDQuODlsMTguMzg3IDMxLjc3N2MxLjM3NCAzLjI5NCAxLjcxMyA2LjE0NiAwIDguNTU2em0tMjUuNzQtMzNjLS40MDUgMC0xLjIyNy44MzUtMS4yMjcgMi40NDN2MTUuODljMCAxLjYwOC44MjMgMi40NDQgMS4yMjcgMi40NDQgMS42MjggMCAyLjQ1Mi0uODM2IDIuNDUyLTIuNDQ1di0xNS44OWMwLTEuNjA3LS44MjUtMi40NDMtMi40NTMtMi40NDN6bTAgMjMuMjJjLS40MDUgMC0xLjIyNy43OS0xLjIyNyAxLjIyM3YyLjQ0NWMwIC40MzQuODIzIDEuMjIyIDEuMjI3IDEuMjIyIDEuNjI4IDAgMi40NTItLjc4OCAyLjQ1Mi0xLjIyMnYtMi40NDVjMC0uNDM0LS44MjUtMS4yMjItMi40NTMtMS4yMjJ6XCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiLz48L3N2Zz4nLFxuICAgICdpbmZvLWNpcmNsZSc6XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAwIDQ0IDQ0XCI+PGNpcmNsZSBjeD1cIjEzLjgyOFwiIGN5PVwiMTkuNjNcIiByPVwiMS45MzhcIi8+PGNpcmNsZSBjeD1cIjIxLjc2N1wiIGN5PVwiMTkuNjNcIiByPVwiMS45MzhcIi8+PGNpcmNsZSBjeD1cIjI5Ljc2N1wiIGN5PVwiMTkuNjNcIiByPVwiMS45MzhcIi8+PHBhdGggZD1cIk0yMi4xMDIgNC4xNmMtOS45MTggMC0xNy45NTggNy4xNDctMTcuOTU4IDE1Ljk2MiAwIDQuOTM1IDIuNTIyIDkuMzQ1IDYuNDggMTIuMjczdjUuNjY3bC4wNC4wMTJhMi42MjcgMi42MjcgMCAxIDAgNC41IDEuNDU1aC4wMDJsNS4wMjYtMy41NGMuNjI4LjA2IDEuMjY1LjA5NCAxLjkxLjA5NCA5LjkyIDAgMTcuOTYtNy4xNDYgMTcuOTYtMTUuOTZDNDAuMDYgMTEuMzA2IDMyLjAyIDQuMTYgMjIuMSA0LjE2em0tLjA0IDI5LjkwMmMtLjkwMiAwLTEuNzgtLjA4LTIuNjQyLS4yMDdsLTUuODgyIDQuMjM0Yy0uMDI0LjAyNC0uMDU1LjA0LS4wODMuMDZsLS4wMDguMDA1YS41MS41MSAwIDAgMS0uMjg0LjA5NS41MjUuNTI1IDAgMCAxLS41MjUtLjUyNWwuMDA1LTYuMzc1Yy0zLjkxLTIuNTE2LTYuNDU2LTYuNTQ0LTYuNDU2LTExLjEgMC03LjYyOCA3LjEwNy0xMy44MTIgMTUuODc1LTEzLjgxMnMxNS44NzUgNi4xODQgMTUuODc1IDEzLjgxMi03LjEwNyAxMy44MTItMTUuODc1IDEzLjgxMnpcIi8+PC9zdmc+JyxcbiAgICAncXVlc3Rpb24tY2lyY2xlJzpcbiAgICAgICc8c3ZnIHZpZXdCb3g9XCIwIDAgNDQgNDRcIj48ZyBmaWxsLXJ1bGU9XCJldmVub2RkXCI+PHBhdGggZD1cIk0yMS4xODYgM2MtMTAuODUzIDAtMTkuMzYgOC41MDYtMTkuMzYgMTkuMzU4QzEuODI3IDMyLjQ5NCAxMC4zMzQgNDEgMjEuMTg3IDQxYzEwLjEzMyAwIDE4LjY0LTguNTA2IDE4LjY0LTE4LjY0MkMzOS44MjcgMTEuNTA2IDMxLjMyIDMgMjEuMTg3IDNtMTUuNjQgMTljMCA4LjgyMy03LjE3OCAxNi0xNiAxNnMtMTYtNy4xNzctMTYtMTYgNy4xNzgtMTYgMTYtMTYgMTYgNy4xNzcgMTYgMTZ6XCIvPjxwYXRoIGQ9XCJNMjIuODI3IDMxLjVhMS41IDEuNSAwIDEgMS0zIDAgMS41IDEuNSAwIDAgMSAzIDBtNC0xNS40OGMwIC45NTctLjIwMyAxLjgyMi0uNjEgMi41OTMtLjQyNy43OTItMS4xMTcgMS42MTItMi4wNzMgMi40NTctLjg2Ny43MzQtMS40NTMgMS40MzUtMS43NTQgMi4wOTYtLjMwMi43LS40NTMgMS42OTMtLjQ1MyAyLjk4YS44MjguODI4IDAgMCAxLS44MjMuODU0LjgyOC44MjggMCAwIDEtLjU4NC0uMjIuODc3Ljg3NyAwIDAgMS0uMjQtLjYzNWMwLTEuMzA1LjE2OC0yLjM4LjUwNi0zLjIyNy4zMzYtLjg4My45My0xLjY4MiAxLjc4LTIuNCAxLjAxLS44ODMgMS43MS0xLjY5MiAyLjEtMi40MjguMzM2LS42NDUuNTAzLTEuMzguNTAzLTIuMjEtLjAyLS45MzUtLjMtMS43LS44NS0yLjI4OC0uNjU1LS43MTctMS42Mi0xLjA3NS0yLjg5Ny0xLjA3NS0xLjUwNiAwLTIuNTk2LjUzNS0zLjI3IDEuNi0uNDYuNzU0LS42ODggMS42NDUtLjY4OCAyLjY3N2EuOTIuOTIgMCAwIDEtLjI2Ni42Ni43NDcuNzQ3IDAgMCAxLS41Ni4yNS43My43MyAwIDAgMS0uNTg0LS4xOTRjLS4xNi0uMTY0LS4yNC0uMzkzLS4yNC0uNjkgMC0xLjgyLjU4NS0zLjI3MiAxLjc1NS00LjM1N0MxOC42NDUgMTEuNDg2IDE5LjkyOCAxMSAyMS40MzQgMTFoLjI5M2MxLjQ1MiAwIDIuNjM4LjQxNCAzLjU2IDEuMjQgMS4wMjguOTAzIDEuNTQgMi4xNjMgMS41NCAzLjc4elwiLz48L2c+PC9zdmc+JyxcblxuICAgIHZvaWNlOlxuICAgICAgJzxzdmcgdmlld0JveD1cIjAgMCAzOCAzM1wiPjxnIGZpbGwtcnVsZT1cImV2ZW5vZGRcIj48cGF0aCBkPVwiTTE3LjgzOCAyOC44Yy0uNTY0LS40NjgtMS4xOTItLjk4My0xLjgzNi0xLjQ5Ni00LjI0NC0zLjM4NS01LjI5NC0zLjY3LTYuMDA2LTMuNjctLjAxNCAwLS4wMjcuMDA1LS4wNC4wMDUtLjAxNSAwLS4wMjgtLjAwNi0uMDQyLS4wMDZIMy41NjJjLS43MzQgMC0uOTAzLS4yMDMtLjkwMy0uOTI4di0xMi42MmMwLS40OS4wNTctLjguNjYtLjhIOS4xYy42OTQgMCAxLjc2LS4yOCA2LjQtMy42My44My0uNTk2IDEuNjM4LTEuMTk2IDIuMzM3LTEuNzIyVjI4Ljh6TTE5LjY4Mi4xOWMtLjQ2My0uMjItMS4wMTQtLjE1OC0xLjQxNy4xNTctLjAyLjAxNi0xLjk4MyAxLjU1Mi00LjE1MiAzLjEyNUMxMC4zNCA2LjIxIDkuMjQzIDYuNjY0IDkuMDIgNi43MzdIMy42NzZjLS4wMjcgMC0uMDUzLjAwMy0uMDguMDA0SDEuMTgzYy0uNjA4IDAtMS4xLjQ4Ny0xLjEgMS4wODZWMjUuMTRjMCAuNTk4LjQ5MiAxLjA4NCAxLjEgMS4wODRoOC43MWMuMjIuMDggMS4yNTcuNTUgNC42MDUgMy4yNCAxLjk0NyAxLjU2MiAzLjY5NCAzLjA4OCAzLjcxMiAzLjEwMy4yNS4yMi41NjguMzMzLjg5LjMzMy4xODYgMCAuMzczLS4wMzguNTUtLjExNi40OC0uMjEzLjc5LS42ODQuNzktMS4yMDRWMS4zOGMwLS41MDYtLjI5NC0uOTY4LS43NTgtMS4xOXpcIiBtYXNrPVwidXJsKCNtYXNrLTIpXCIvPjxwYXRoIGQ9XCJNMzEuNDIgMTYuNDc1YzAtMy4zNjMtMS44NTQtNi4yOTctNC42MDYtNy44NzYtLjEyNS0uMDY3LS40Mi0uMTkzLS42MjUtLjE5My0uNjEzIDAtMS4xMS40ODgtMS4xMSAxLjA5IDAgLjQwNC4yMi43NjQuNTUuOTUyIDIuMTMgMS4xOSAzLjU2NiAzLjQ0IDMuNTY2IDYuMDI0IDAgMi42MjctMS40ODYgNC45MTMtMy42NzcgNi4wODctLjMyLjE5LS41My41NC0uNTMuOTM1IDAgLjYwMi40OTUgMS4wOSAxLjEwNiAxLjA5LjI2LjAwMi41NjgtLjE1LjU2OC0uMTUgMi44MzUtMS41NTYgNC43NTQtNC41MzggNC43NTQtNy45NlwiIG1hc2s9XCJ1cmwoI21hc2stNClcIi8+PHBhdGggZD1cIk0zMC4xNCAzLjA1N2MtLjIwNS0uMTIyLS40MS0uMjItLjY1OC0uMjItLjYwOCAwLTEuMS40ODUtMS4xIDEuMDg0IDAgLjQzNC4yNi43OC42MjcuOTc4IDQuMDQyIDIuMzIzIDYuNzYgNi42MzYgNi43NiAxMS41NzggMCA0LjkzOC0yLjcxNSA5LjI0OC02Ljc1NCAxMS41NzItLjM1NC4xOS0uNjYuNTUtLjY2Ljk5MyAwIC42LjQ5NCAxLjA4NSAxLjEwMiAxLjA4NS4yNDMgMCAuNDM4LS4wOTIuNjUtLjIxMyA0LjY5Mi0yLjY5NSA3Ljg0OC03LjcgNy44NDgtMTMuNDM1IDAtNS43MjMtMy4xNDItMTAuNzE4LTcuODE3LTEzLjQxOFwiIG1hc2s9XCJ1cmwoI21hc2stNilcIi8+PC9nPjwvc3ZnPicsXG5cbiAgICBwbHVzOiAnPHN2ZyB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+PHBhdGggZD1cIk0xNCAxNEgwdjJoMTR2MTRoMlYxNmgxNHYtMkgxNlYwaC0ydjE0elwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIi8+PC9zdmc+JyxcbiAgICBtaW51czogJzxzdmcgdmlld0JveD1cIjAgMCAzMCAyXCI+PHBhdGggZD1cIk0wIDBoMzB2MkgwelwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIi8+PC9zdmc+JyxcblxuICAgIGRpc2xpa2U6XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAwIDcyIDcyXCI+PGcgZmlsbD1cIm5vbmVcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCI+PHBhdGggZD1cIk0zNiA3MmMxOS44ODIgMCAzNi0xNi4xMTggMzYtMzZTNTUuODgyIDAgMzYgMCAwIDE2LjExOCAwIDM2czE2LjExOCAzNiAzNiAzNnptMC0yYzE4Ljc3OCAwIDM0LTE1LjIyMiAzNC0zNFM1NC43NzggMiAzNiAyIDIgMTcuMjIyIDIgMzZzMTUuMjIyIDM0IDM0IDM0elwiIGZpbGw9XCIjRkZGXCIvPjxwYXRoIGZpbGw9XCIjRkZGXCIgZD1cIk00NyAyMmgydjZoLTJ6bS0yNCAwaDJ2NmgtMnpcIi8+PHBhdGggZD1cIk0yMSA1MXM0LjYtNyAxNS03IDE1IDcgMTUgN1wiIHN0cm9rZT1cIiNGRkZcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjwvZz48L3N2Zz4nLFxuICAgIGZhaWw6XG4gICAgICAnPHN2ZyB2aWV3Qm94PVwiMCAwIDcyIDcyXCI+PGcgZmlsbD1cIm5vbmVcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCI+PHBhdGggZD1cIk0zNiA3MmMxOS44ODIgMCAzNi0xNi4xMTggMzYtMzZTNTUuODgyIDAgMzYgMCAwIDE2LjExOCAwIDM2czE2LjExOCAzNiAzNiAzNnptMC0yYzE4Ljc3OCAwIDM0LTE1LjIyMiAzNC0zNFM1NC43NzggMiAzNiAyIDIgMTcuMjIyIDIgMzZzMTUuMjIyIDM0IDM0IDM0elwiIGZpbGw9XCIjRkZGXCIvPjxwYXRoIGQ9XCJNMjIgMjJsMjguMzA0IDI4LjMwNG0tMjguMzA0IDBMNTAuMzA0IDIyXCIgc3Ryb2tlPVwiI0ZGRlwiIHN0cm9rZS13aWR0aD1cIjJcIi8+PC9nPjwvc3ZnPicsXG4gICAgc3VjY2VzczpcbiAgICAgICc8c3ZnIHZpZXdCb3g9XCIwIDAgNzIgNzJcIj48ZyBmaWxsPVwibm9uZVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIj48cGF0aCBkPVwiTTM2IDcyYzE5Ljg4MiAwIDM2LTE2LjExOCAzNi0zNlM1NS44ODIgMCAzNiAwIDAgMTYuMTE4IDAgMzZzMTYuMTE4IDM2IDM2IDM2em0wLTJjMTguNzc4IDAgMzQtMTUuMjIyIDM0LTM0UzU0Ljc3OCAyIDM2IDIgMiAxNy4yMjIgMiAzNnMxNS4yMjIgMzQgMzQgMzR6XCIgZmlsbD1cIiNGRkZcIi8+PHBhdGggc3Ryb2tlPVwiI0ZGRlwiIHN0cm9rZS13aWR0aD1cIjJcIiBkPVwiTTE5IDM0LjU0bDExLjU0NSAxMS45MjNMNTIuODE1IDI0XCIvPjwvZz48L3N2Zz4nXG4gIH07XG5cbiAgcmVuZGVyU3ZnU3ByaXRlKCkge1xuICAgIGNvbnN0IHN5bWJvbHMgPSBPYmplY3Qua2V5cyh0aGlzLmljb25zKVxuICAgICAgLm1hcChpY29uTmFtZSA9PiB7XG4gICAgICAgIGNvbnN0IHN2Z0NvbnRlbnQgPSB0aGlzLmljb25zW2ljb25OYW1lXS5zcGxpdCgnc3ZnJylbMV07XG4gICAgICAgIHJldHVybiBgPHN5bWJvbCBpZD0ke2ljb25OYW1lfSR7c3ZnQ29udGVudH1zeW1ib2w+YDtcbiAgICAgIH0pXG4gICAgICAuam9pbignJyk7XG4gICAgcmV0dXJuIHN2Z1Nwcml0ZShzeW1ib2xzKTtcbiAgfVxuXG4gIGxvYWQoKSB7XG4gICAgaWYgKCFkb2N1bWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBleGlzdGluZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdfX0FOVERfTU9CSUxFX1NWR19TUFJJVEVfTk9ERV9fJyk7XG4gICAgY29uc3QgbW91bnROb2RlID0gZG9jdW1lbnQuYm9keTtcblxuICAgIGlmICghZXhpc3RpbmcpIHtcbiAgICAgIG1vdW50Tm9kZS5pbnNlcnRBZGphY2VudEhUTUwoJ2FmdGVyYmVnaW4nLCB0aGlzLnJlbmRlclN2Z1Nwcml0ZSgpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==