vcomply-workflow-engine 6.0.41 → 6.0.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,18 @@
1
1
  import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { WORD_CONSTANTS, WORD_URL_CONSTANTS } from '../../workflow-policy/ms-word.constants';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "../../ui-kit/snack-bar/snack-bar.service";
4
5
  import * as i2 from "../../workflow-services/policy.service";
5
- import * as i3 from "@angular/router";
6
- import * as i4 from "@angular/common";
7
- import * as i5 from "../../services/iframe.service";
6
+ import * as i3 from "../../workflow-services/policy-api.service";
7
+ import * as i4 from "@angular/router";
8
+ import * as i5 from "@angular/common";
9
+ import * as i6 from "../../services/iframe.service";
10
+ import * as i7 from "../v-loader/loader-inline/loader-inline.component";
8
11
  export class DocumentSectionComponent {
9
- constructor(snackBar, policyService, router, route, platformLocation, iframeService) {
12
+ constructor(snackBar, policyService, policyAPIService, router, route, platformLocation, iframeService) {
10
13
  this.snackBar = snackBar;
11
14
  this.policyService = policyService;
15
+ this.policyAPIService = policyAPIService;
12
16
  this.router = router;
13
17
  this.route = route;
14
18
  this.iframeService = iframeService;
@@ -19,6 +23,8 @@ export class DocumentSectionComponent {
19
23
  this.doc = false;
20
24
  this.isUploading = false;
21
25
  this.isLoader = false;
26
+ this.ff_policy_ms_word_integration = false;
27
+ this.createWordPolicyText = WORD_CONSTANTS.MS_WORD_OPTION;
22
28
  this.selectedDocumentType = '';
23
29
  this.templateView = false;
24
30
  this.policyId = '';
@@ -47,6 +53,7 @@ export class DocumentSectionComponent {
47
53
  }
48
54
  }
49
55
  ngOnInit() {
56
+ this.initialiseFeatureFlags();
50
57
  const data = JSON.parse(localStorage.getItem('lastFileNameAndType') ?? '"{}"');
51
58
  if (data.name !== null &&
52
59
  data.name !== undefined &&
@@ -58,6 +65,25 @@ export class DocumentSectionComponent {
58
65
  localStorage.removeItem('lastFileNameAndType');
59
66
  }
60
67
  }
68
+ initialiseFeatureFlags() {
69
+ this.ff_policy_ms_word_integration = this.feature.isFeatureEnabled(WORD_CONSTANTS.ff_policy_ms_word_integration);
70
+ }
71
+ redirectUserToWordPolicy() {
72
+ window.open(WORD_URL_CONSTANTS.new_word_policy_url, '_blank');
73
+ window.location.href = this.baseURL + WORD_URL_CONSTANTS.workroom_url + this.policyId;
74
+ }
75
+ createWordPolicy() {
76
+ this.isLoader = true;
77
+ this.policyAPIService.createWordPolicy(this.policyId).subscribe((res) => {
78
+ if (res) {
79
+ this.redirectUserToWordPolicy();
80
+ }
81
+ this.isLoader = false;
82
+ }, (err) => {
83
+ this.isLoader = false;
84
+ this.snackBar.show(WORD_CONSTANTS.createWordPolicy_snackbar_message, 'alert');
85
+ });
86
+ }
61
87
  handleFileInput(files) {
62
88
  this.fileToUpload = files[0];
63
89
  this.filename = this.fileToUpload.name;
@@ -175,6 +201,9 @@ export class DocumentSectionComponent {
175
201
  const url = this.baseURL + '/all/policy/edit-policy?id=' + this.policyId;
176
202
  this.iframeService.redirectIfInIframe(url, true);
177
203
  }
204
+ else if (event === 'word') {
205
+ this.createWordPolicy();
206
+ }
178
207
  else if (event === 'pdf') {
179
208
  // If it is a pdf send to the workroom
180
209
  const url = this.baseURL + '/all/policy/workroom?id=' + this.policyId;
@@ -197,13 +226,15 @@ export class DocumentSectionComponent {
197
226
  openTemplateList() {
198
227
  this.openTemplate.emit();
199
228
  }
200
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DocumentSectionComponent, deps: [{ token: i1.SnackBarService }, { token: i2.PolicyService }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i4.PlatformLocation }, { token: i5.IframeService }], target: i0.ɵɵFactoryTarget.Component }); }
201
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DocumentSectionComponent, selector: "lib-document-section", inputs: { selectedDocumentType: "selectedDocumentType", templateView: "templateView", policyId: "policyId", policyName: "policyName", organization_id: "organization_id", member_obj_id: "member_obj_id", userInfo: "userInfo", templateUrl: "templateUrl", isTemplateOpened: "isTemplateOpened" }, outputs: { disconnectRefresh: "disconnectRefresh", editPolicy: "editPolicy", openTemplate: "openTemplate" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"document-section\" [class.grayscale]=\"isTemplateOpened\">\n <div class=\"document-section-inner\">\n <div class=\"message-box\">\n <svg\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 480.8 480.8\"\n style=\"enable-background: new 0 0 480.8 480.8\"\n xml:space=\"preserve\"\n >\n <path\n style=\"fill: #ffd517\"\n d=\"M317.112,314.4c-22.4,22.4-19.6,67.6-19.6,67.6h-113.6c0,0,2.4-45.2-19.6-67.6\n c-24.4-21.6-40-52.8-40-87.6c0-64,52-116,116-116s116,52,116,116C356.312,261.6,341.112,292.8,317.112,314.4L317.112,314.4z\"\n />\n <g>\n <path\n style=\"fill: #e5e5e5\"\n d=\"M300.712,417.6c0,6-4.8,10.8-10.8,10.8h-98.8c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h98.4C295.512,406.8,300.712,411.6,300.712,417.6L300.712,417.6z\"\n />\n <path\n style=\"fill: #e5e5e5\"\n d=\"M285.912,462.4c0,6-4.8,10.8-10.8,10.8h-69.2c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h69.2C281.112,451.6,285.912,456.4,285.912,462.4L285.912,462.4z\"\n />\n </g>\n <g>\n <path\n style=\"fill: #210b20\"\n d=\"M323.112,318.4c26-23.6,40.8-56.8,40.8-91.6c0-68-55.6-123.6-123.6-123.6s-123.6,55.6-123.6,123.6\n c0,35.6,15.6,69.6,42,92.8c19.6,19.6,17.6,61.2,17.6,61.6c0,2,0.8,4,2,5.6c1.6,1.6,3.6,2.4,5.6,2.4h113.2c2,0,4-0.8,5.6-2.4\n s2-3.6,2-5.6c0-0.4-2-42,17.6-61.6C322.712,319.2,323.112,318.8,323.112,318.4z M311.912,308.4c-0.8,0.4-1.2,1.2-1.6,2\n c-17.6,18.8-20.4,49.6-20.8,64h-98c-0.4-14.8-3.6-46.8-22.4-65.6c-23.6-20.8-37.2-50.4-37.2-81.6c0-60,48.8-108.4,108.4-108.4\n c60,0,108.4,48.8,108.4,108.4C348.712,258,335.512,288,311.912,308.4z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M240.312,135.2c-4,0-7.6,3.2-7.6,7.6c0,4,3.2,7.6,7.6,7.6c44.8,0,81.2,36.4,81.2,81.2\n c0,4,3.2,7.6,7.6,7.6c4,0,7.6-3.2,7.6-7.6C336.712,178.4,293.512,135.2,240.312,135.2z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M308.312,417.6c0-10.4-8.4-18.4-18.4-18.4h-98.8c-10.4,0-18.4,8.4-18.4,18.4\n c0,10.4,8.4,18.4,18.4,18.4h98.4C299.912,436,308.312,428,308.312,417.6z M289.512,420.8h-98.4c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h98.4c2,0,3.2,1.6,3.2,3.2C293.112,419.6,291.512,420.8,289.512,420.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M275.112,444h-69.2c-10.4,0-18.4,8.4-18.4,18.4c0,10.4,8.4,18.4,18.4,18.4h69.2\n c10.4,0,18.4-8.4,18.4-18.4C293.512,452.4,285.112,444,275.112,444z M275.112,465.6h-69.2c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h69.2c2,0,3.2,1.6,3.2,3.2C278.312,464.4,277.112,465.6,275.112,465.6z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M247.912,58.8V7.6c0-4-3.2-7.6-7.6-7.6c-4,0-7.6,3.2-7.6,7.6v51.6c0,4,3.2,7.6,7.6,7.6\n C244.712,66.4,247.912,63.2,247.912,58.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M366.312,38c-3.6-2.4-8-1.2-10.4,2l-28.4,42.8c-2.4,3.6-1.2,8,2,10.4c1.2,0.8,2.8,1.2,4,1.2\n c2.4,0,4.8-1.2,6.4-3.2l28.4-42.8C370.712,45.2,369.512,40.4,366.312,38z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M149.912,92.8c1.2,0,2.8-0.4,4-1.2c3.6-2.4,4.4-6.8,2.4-10.4l-27.6-43.2c-2.4-3.6-6.8-4.4-10.4-2.4\n c-3.6,2.4-4.4,6.8-2.4,10.4l27.6,43.2C145.112,91.6,147.512,92.8,149.912,92.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M43.912,128.8l45.2,24.4c1.2,0.8,2.4,0.8,3.6,0.8c2.8,0,5.2-1.6,6.8-4c2-3.6,0.8-8.4-3.2-10.4\n l-45.2-24.4c-3.6-2-8.4-0.8-10.4,3.2C39.112,122.4,40.312,126.8,43.912,128.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M387.912,154.4c1.2,0,2.4-0.4,3.6-0.8l45.2-24.4c3.6-2,5.2-6.4,3.2-10.4c-2-3.6-6.4-5.2-10.4-3.2\n l-45.2,24.4c-3.6,2-5.2,6.4-3.2,10.4C382.312,152.8,385.112,154.4,387.912,154.4z\"\n />\n </g>\n </svg>\n <p>\n There are multiple ways to create a policy on VComply. You can either\n draft it from scratch using VComply\u2019s online editor or upload an\n existing DOCX or PDF file.\n </p>\n </div>\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType == 'draft'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('draft')\"\n [checked]=\"selectedDocumentType === 'draft'\"\n />\n <svg\n class=\"doc-svg\"\n version=\"1.1\"\n id=\"Layer_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 64 64\"\n style=\"enable-background: new 0 0 64 64\"\n xml:space=\"preserve\"\n >\n <style type=\"text/css\">\n .p1 {\n fill: #f8f8f8;\n }\n .p2 {\n fill: #747576;\n }\n .p3 {\n fill: #bdbdbd;\n }\n .p4 {\n fill: #dbdbdb;\n }\n .p5 {\n fill: #1e5dd3;\n }\n .p6 {\n fill: #ffffff;\n }\n </style>\n <path\n class=\"p1\"\n d=\"M52,16.2V58c0,1.1-0.9,2-2,2H14c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h25.9\"\n />\n <image\n style=\"overflow: visible\"\n width=\"1920\"\n height=\"1080\"\n xlink:href=\"94778146.jpg\"\n transform=\"matrix(1 0 0 1 -8160 -8160)\"\n ></image>\n <path class=\"p2\" d=\"M52,12v12H12V6c0-1.1,0.9-2,2-2h30\" />\n <path class=\"p3\" d=\"M44,4v6.7c0,0.7,0.6,1.3,1.3,1.3H52\" />\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,30.1H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,30.1,46.2,30.1z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,34.5H17.9c-0.6,0-1-0.4-1-1c0-0.6,0.4-1,1-1h28.3c0.6,0,1,0.4,1,1C47.2,34.1,46.8,34.5,46.2,34.5z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,39H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,39,46.2,39z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,43.4H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,43.4,46.2,43.4z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,47.8H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,47.8,46.2,47.8z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,52.2H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,52.2,46.2,52.2z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,56.6H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,56.6,46.2,56.6z\"\n />\n </g>\n <g>\n <path\n class=\"p6\"\n d=\"M24.6,16.9c-0.2,0.4-0.6,0.8-1,1s-1,0.4-1.6,0.4h-2v-5.6h2c0.6,0,1.1,0.1,1.6,0.3c0.4,0.2,0.8,0.6,1,1\n c0.2,0.4,0.4,0.9,0.4,1.5C24.9,16,24.8,16.5,24.6,16.9z M23.3,16.8c0.3-0.3,0.5-0.8,0.5-1.3c0-0.6-0.2-1-0.5-1.4\n c-0.3-0.3-0.8-0.5-1.4-0.5h-0.8v3.7h0.8C22.5,17.2,23,17.1,23.3,16.8z\"\n />\n <path\n class=\"p6\"\n d=\"M28.7,18.2L27.4,16h-0.5v2.2h-1.1v-5.6h2.2c0.7,0,1.2,0.2,1.5,0.5s0.5,0.7,0.5,1.3c0,0.4-0.1,0.8-0.4,1.1\n s-0.6,0.5-1,0.6l1.4,2.3H28.7z M26.9,15.3h0.9c0.6,0,1-0.3,1-0.9c0-0.3-0.1-0.5-0.2-0.6c-0.2-0.2-0.4-0.2-0.7-0.2h-0.9V15.3z\"\n />\n <path\n class=\"p6\"\n d=\"M34.1,17.1h-2.3l-0.4,1.1h-1.2l2.1-5.6h1.3l2.1,5.6h-1.2L34.1,17.1z M33.8,16.3L33,13.9l-0.8,2.4H33.8z\"\n />\n <path\n class=\"p6\"\n d=\"M39.8,12.6v0.9h-2.4V15h1.9v0.9h-1.9v2.4h-1.1v-5.6H39.8z\"\n />\n <path\n class=\"p6\"\n d=\"M44.4,12.6v0.9h-1.6v4.8h-1.1v-4.8h-1.6v-0.9H44.4z\"\n />\n </g>\n <path\n class=\"p5\"\n d=\"M32,33.1c-5.2,0-9.4,4.2-9.4,9.4s4.2,9.4,9.4,9.4s9.4-4.2,9.4-9.4C41.4,37.3,37.2,33.2,32,33.1z\"\n />\n <g>\n <path\n class=\"p6\"\n d=\"M36.1,40.8l-5.8,5.8L28,44.4l5.8-5.8c0.2-0.2,0.4-0.2,0.6,0l1.7,1.7C36.2,40.4,36.2,40.7,36.1,40.8z\"\n />\n <path\n class=\"p6\"\n d=\"M36.8,38c-0.5-0.5-1.3-0.5-1.7,0l-0.4,0.3c0,0,0.1,0,0.1,0.1l1.7,1.7c0,0,0,0.1,0.1,0.1l0.4-0.4\n c0.2-0.2,0.4-0.5,0.4-0.9C37.1,38.5,37,38.2,36.8,38L36.8,38z\"\n />\n <path\n class=\"p6\"\n d=\"M27.9,44.9l-1,2.6c-0.1,0.1,0,0.2,0.1,0.4c0.1,0.1,0.1,0.1,0.2,0.1c0.1,0,0.1,0,0.1,0l2.6-1L27.9,44.9z\"\n />\n <path\n class=\"p6\"\n d=\"M30.2,41.3c0.1,0,0.2-0.1,0.2-0.1l2.2-2.2c0.1-0.1,0.3-0.1,0.4-0.1l0.5-0.5c-0.4-0.3-0.9-0.3-1.3,0.1L30,40.7\n c-0.1,0.1-0.1,0.4,0,0.5C30,41.2,30,41.3,30.2,41.3L30.2,41.3z\"\n />\n </g>\n </svg>\n <div class=\"label-right\">\n <div class=\"value\"><strong>Create</strong> a Policy</div>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n </div>\n </label>\n <!-- Select a template -->\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType === 'template'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('template')\"\n [checked]=\"selectedDocumentType === 'template'\"\n />\n <svg\n class=\"doc-svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"50.455\"\n height=\"70.652\"\n viewBox=\"0 0 50.455 70.652\"\n >\n <g id=\"TemplateIcon\" transform=\"translate(-12 -3.985)\">\n <path\n id=\"Path_290\"\n data-name=\"Path 290\"\n d=\"M62.451,19.4V72.11a2.522,2.522,0,0,1-2.523,2.523H14.523A2.522,2.522,0,0,1,12,72.11V6.523A2.522,2.522,0,0,1,14.523,4H47.157\"\n transform=\"translate(0 0.004)\"\n fill=\"#f8f8f8\"\n />\n <path\n id=\"Path_291\"\n data-name=\"Path 291\"\n d=\"M62.451,14.092V29.226H12V6.523A2.522,2.522,0,0,1,14.523,4H52.362\"\n transform=\"translate(0 0.004)\"\n fill=\"#34aa44\"\n />\n <path\n id=\"Path_292\"\n data-name=\"Path 292\"\n d=\"M43.95,3.985v8.457a1.689,1.689,0,0,0,1.689,1.688h8.467\"\n transform=\"translate(8.349 0)\"\n fill=\"#97d2a0\"\n />\n <g\n id=\"Group_540\"\n data-name=\"Group 540\"\n transform=\"translate(18.12 34.45)\"\n >\n <path\n id=\"Path_293\"\n data-name=\"Path 293\"\n d=\"M53.866,30.662H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -28.139)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_541\"\n data-name=\"Group 541\"\n transform=\"translate(18.12 40.012)\"\n >\n <path\n id=\"Path_294\"\n data-name=\"Path 294\"\n d=\"M53.866,35.071H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -32.548)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_542\"\n data-name=\"Group 542\"\n transform=\"translate(18.12 45.573)\"\n >\n <path\n id=\"Path_295\"\n data-name=\"Path 295\"\n d=\"M53.866,39.48H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -36.957)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_543\"\n data-name=\"Group 543\"\n transform=\"translate(18.12 51.134)\"\n >\n <path\n id=\"Path_296\"\n data-name=\"Path 296\"\n d=\"M53.866,43.889H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,1,1,0,2.523Z\"\n transform=\"translate(-16.852 -41.366)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_544\"\n data-name=\"Group 544\"\n transform=\"translate(18.12 56.695)\"\n >\n <path\n id=\"Path_297\"\n data-name=\"Path 297\"\n d=\"M53.866,48.3H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -45.775)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_545\"\n data-name=\"Group 545\"\n transform=\"translate(18.12 62.257)\"\n >\n <path\n id=\"Path_298\"\n data-name=\"Path 298\"\n d=\"M53.866,52.708H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -50.185)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_546\"\n data-name=\"Group 546\"\n transform=\"translate(18.12 67.818)\"\n >\n <path\n id=\"Path_299\"\n data-name=\"Path 299\"\n d=\"M53.866,57.117H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -54.594)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <path\n id=\"Path_305\"\n data-name=\"Path 305\"\n d=\"M34.45,33.149A11.826,11.826,0,1,0,46.276,44.975,11.826,11.826,0,0,0,34.45,33.149Z\"\n transform=\"translate(2.776 7.835)\"\n fill=\"#c7381b\"\n />\n <path\n id=\"Path_4841\"\n data-name=\"Path 4841\"\n d=\"M41.159,43.359l-7.2-7.207a.514.514,0,0,0-.727,0l-7.2,7.207a.52.52,0,0,0-.15.365.512.512,0,0,0,.515.513H30v7.705a.514.514,0,0,0,.513.515h6.17a.514.514,0,0,0,.515-.515V44.237h3.6a.514.514,0,0,0,.362-.878Z\"\n transform=\"translate(3.629 8.983)\"\n fill=\"#fafafa\"\n />\n <text\n id=\"TMP\"\n transform=\"translate(25.999 21.984)\"\n fill=\"#fff\"\n font-size=\"11\"\n font-family=\"Poppins-SemiBold, Poppins\"\n font-weight=\"600\"\n >\n <tspan x=\"0\" y=\"0\">TMP</tspan>\n </text>\n </g>\n </svg>\n\n <div class=\"label-right\">\n <div class=\"value\">Draft Using a <strong>Template</strong></div>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n </div>\n </label>\n <!-- End Select a template -->\n <label\n class=\"document-box\"\n *ngIf=\"showDocxBlock\"\n [class.active]=\"selectedDocumentType == 'docx' && !docxError?.visible\"\n [class.error]=\"docxError?.visible\"\n >\n <input\n type=\"file\"\n accept=\".docx\"\n id=\"DOCfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #docxUploadButton\n />\n <svg\n class=\"doc-svg\"\n version=\"1.1\"\n id=\"Layer_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 64 64\"\n style=\"enable-background: new 0 0 64 64\"\n xml:space=\"preserve\"\n >\n <style type=\"text/css\">\n .d1 {\n fill: #f8f8f8;\n }\n .d2 {\n fill: #337dbe;\n }\n .d3 {\n fill: #3c92df;\n }\n .d4 {\n fill: #dbdbdb;\n }\n .d5 {\n fill: #f2bf19;\n }\n .d6 {\n fill: #fafafa;\n }\n </style>\n <path\n class=\"d1\"\n d=\"M52,16.2V58c0,1.1-0.9,2-2,2H14c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h25.9\"\n />\n <path class=\"d2\" d=\"M52,12v12H12V6c0-1.1,0.9-2,2-2h30\" />\n <path class=\"d3\" d=\"M44,4v6.7c0,0.7,0.6,1.3,1.3,1.3H52\" />\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,30.1H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,30.1,46.2,30.1z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,34.5H17.9c-0.6,0-1-0.4-1-1c0-0.6,0.4-1,1-1h28.3c0.6,0,1,0.4,1,1C47.2,34.1,46.8,34.5,46.2,34.5z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,39H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,39,46.2,39z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,43.4H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,43.4,46.2,43.4z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,47.8H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,47.8,46.2,47.8z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,52.2H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,52.2,46.2,52.2z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,56.6H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,56.6,46.2,56.6z\"\n />\n </g>\n <g>\n <path\n class=\"d1\"\n d=\"M25.4,16.9c-0.2,0.4-0.6,0.8-1,1s-1,0.4-1.6,0.4h-2v-5.6h2c0.6,0,1.1,0.1,1.6,0.3c0.4,0.2,0.8,0.6,1,1\n c0.2,0.4,0.4,0.9,0.4,1.5C25.7,16,25.6,16.5,25.4,16.9z M24.1,16.8c0.3-0.3,0.5-0.8,0.5-1.3c0-0.6-0.2-1-0.5-1.4\n c-0.3-0.3-0.8-0.5-1.4-0.5h-0.8v3.7h0.8C23.3,17.2,23.8,17.1,24.1,16.8z\"\n />\n <path\n class=\"d1\"\n d=\"M30.7,12.9c0.4,0.2,0.8,0.6,1,1s0.4,0.9,0.4,1.5s-0.1,1.1-0.4,1.5c-0.2,0.4-0.6,0.8-1,1\n c-0.4,0.2-0.9,0.4-1.4,0.4c-0.5,0-1-0.1-1.4-0.4c-0.4-0.2-0.8-0.6-1-1c-0.2-0.4-0.4-0.9-0.4-1.5s0.1-1.1,0.4-1.5s0.6-0.8,1-1\n c0.4-0.2,0.9-0.4,1.4-0.4C29.8,12.5,30.2,12.6,30.7,12.9z M28.4,13.8c-0.3,0.1-0.4,0.4-0.6,0.6c-0.1,0.3-0.2,0.6-0.2,1\n c0,0.4,0.1,0.7,0.2,1c0.1,0.3,0.3,0.5,0.6,0.6c0.3,0.1,0.5,0.2,0.9,0.2c0.3,0,0.6-0.1,0.9-0.2c0.3-0.1,0.4-0.4,0.6-0.6\n c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1c-0.1-0.3-0.3-0.5-0.6-0.6c-0.3-0.1-0.5-0.2-0.9-0.2C28.9,13.6,28.6,13.6,28.4,13.8z\"\n />\n <path\n class=\"d1\"\n d=\"M37.2,13.1c0.5,0.4,0.8,0.9,0.9,1.5H37c-0.1-0.3-0.3-0.5-0.6-0.7c-0.3-0.2-0.6-0.3-0.9-0.3\n c-0.3,0-0.6,0.1-0.8,0.2s-0.4,0.4-0.6,0.6c-0.1,0.3-0.2,0.6-0.2,1c0,0.4,0.1,0.7,0.2,1c0.1,0.3,0.3,0.5,0.6,0.6s0.5,0.2,0.8,0.2\n c0.4,0,0.7-0.1,0.9-0.3c0.3-0.2,0.4-0.4,0.6-0.7h1.2c-0.1,0.6-0.5,1.1-0.9,1.5c-0.5,0.4-1,0.5-1.8,0.5c-0.5,0-1-0.1-1.4-0.4\n c-0.4-0.2-0.7-0.6-1-1c-0.2-0.4-0.3-0.9-0.3-1.5c0-0.6,0.1-1.1,0.3-1.5c0.2-0.4,0.5-0.8,1-1c0.4-0.2,0.9-0.4,1.4-0.4\n C36.2,12.5,36.8,12.7,37.2,13.1z\"\n />\n <path\n class=\"d1\"\n d=\"M42.3,18.2L41,16.3l-1.1,1.9h-1.3l1.8-2.9l-1.8-2.8h1.3l1.2,1.9l1.1-1.9h1.3l-1.8,2.8l1.9,2.8H42.3z\"\n />\n </g>\n <path\n class=\"d5\"\n d=\"M32,33.1c-5.2,0-9.4,4.2-9.4,9.4s4.2,9.4,9.4,9.4s9.4-4.2,9.4-9.4C41.4,37.3,37.2,33.2,32,33.1z\"\n />\n <path\n class=\"d6\"\n d=\"M38,41.8l-5.7-5.7c-0.2-0.2-0.4-0.2-0.6,0L26,41.8c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.2,0.2,0.4,0.4,0.4h2.9v6.1\n c0,0.2,0.2,0.4,0.4,0.4h4.9c0.2,0,0.4-0.2,0.4-0.4v-6.1h2.9c0.2,0,0.3-0.1,0.4-0.3C38.1,42.1,38.1,42,38,41.8z\"\n />\n </svg>\n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'docx' && filename)\"\n >Upload a <strong>DOCX</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'docx' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <div class=\"error-msg-text\" *ngIf=\"docxError?.visible\">\n {{ docxError?.message }}\n </div>\n <div class=\"check-circle\" *ngIf=\"!docxError?.visible\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <i class=\"icons error-icon\" *ngIf=\"docxError?.visible\">&#xe914;</i>\n </div>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'docx' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n <label\n class=\"document-box\"\n *ngIf=\"showPdfBlock\"\n [class.active]=\"selectedDocumentType == 'pdf'\"\n >\n <input\n type=\"file\"\n accept=\".pdf\"\n id=\"PDFfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #pdfUploadButton\n />\n <svg\n class=\"doc-svg\"\n version=\"1.1\"\n id=\"Layer_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 64 64\"\n style=\"enable-background: new 0 0 64 64\"\n xml:space=\"preserve\"\n >\n <style type=\"text/css\">\n .pd1 {\n fill: #f8f8f8;\n }\n .pd2 {\n fill: #ee3939;\n }\n .pd3 {\n fill: #f95858;\n }\n .pd4 {\n fill: #dbdbdb;\n }\n .pd5 {\n fill: #34aa44;\n }\n .pd6 {\n fill: #fafafa;\n }\n </style>\n <path\n class=\"pd1\"\n d=\"M52,16.2V58c0,1.1-0.9,2-2,2H14c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h25.9\"\n />\n <path class=\"pd2\" d=\"M52,12v12H12V6c0-1.1,0.9-2,2-2h30\" />\n <path class=\"pd3\" d=\"M44,4v6.7c0,0.7,0.6,1.3,1.3,1.3H52\" />\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,30.1H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,30.1,46.2,30.1z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,34.5H17.9c-0.6,0-1-0.4-1-1c0-0.6,0.4-1,1-1h28.3c0.6,0,1,0.4,1,1C47.2,34.1,46.8,34.5,46.2,34.5z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,39H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,39,46.2,39z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,43.4H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,43.4,46.2,43.4z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,47.8H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,47.8,46.2,47.8z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,52.2H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,52.2,46.2,52.2z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,56.6H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,56.6,46.2,56.6z\"\n />\n </g>\n <g>\n <path\n class=\"pd1\"\n d=\"M26.2,16.2v2.1h-1.1v-5.6h2.1c0.7,0,1.2,0.2,1.5,0.5c0.3,0.3,0.5,0.8,0.5,1.3c0,0.5-0.2,1-0.5,1.3\n c-0.3,0.3-0.8,0.5-1.5,0.5H26.2z M28,14.4c0-0.3-0.1-0.5-0.2-0.6c-0.2-0.1-0.4-0.2-0.8-0.2h-0.8v1.7H27C27.7,15.2,28,15,28,14.4z\"\n />\n <path\n class=\"pd1\"\n d=\"M34.5,16.9c-0.2,0.4-0.6,0.8-1,1s-1,0.4-1.6,0.4h-2v-5.6h2c0.6,0,1.1,0.1,1.6,0.3c0.4,0.2,0.8,0.6,1,1\n c0.2,0.4,0.4,0.9,0.4,1.5C34.8,16,34.7,16.5,34.5,16.9z M33.2,16.8c0.3-0.3,0.5-0.8,0.5-1.3c0-0.6-0.2-1-0.5-1.4\n c-0.3-0.3-0.8-0.5-1.4-0.5H31v3.7h0.8C32.4,17.2,32.9,17.1,33.2,16.8z\"\n />\n <path\n class=\"pd1\"\n d=\"M39.2,12.6v0.9h-2.4V15h1.9v0.9h-1.9v2.4h-1.1v-5.6H39.2z\"\n />\n </g>\n <path\n class=\"pd5\"\n d=\"M32,33.1c-5.2,0-9.4,4.2-9.4,9.4s4.2,9.4,9.4,9.4s9.4-4.2,9.4-9.4C41.4,37.3,37.2,33.2,32,33.1z\"\n />\n <path\n class=\"pd6\"\n d=\"M38,41.8l-5.7-5.7c-0.2-0.2-0.4-0.2-0.6,0L26,41.8c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.2,0.2,0.4,0.4,0.4h2.9v6.1\n c0,0.2,0.2,0.4,0.4,0.4h4.9c0.2,0,0.4-0.2,0.4-0.4v-6.1h2.9c0.2,0,0.3-0.1,0.4-0.3C38.1,42.1,38.1,42,38,41.8z\"\n />\n </svg>\n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'pdf' && filename)\"\n >Upload a <strong>PDF</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'pdf' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n </div>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'pdf' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n </div>\n</div>\n<div class=\"bottom-button\" [class.grayscale]=\"isTemplateOpened\">\n <button\n type=\"button\"\n (click)=\"editPolicyEmit()\"\n class=\"back\"\n [class.disabled]=\"isTemplateOpened\"\n >\n <i class=\"icons\">&#xe91d;</i> Back\n </button>\n <button\n type=\"button\"\n (click)=\"editor(selectedDocumentType)\"\n class=\"next\"\n [class.disabled]=\"!selectedDocumentType || isTemplateOpened\"\n >\n Next <i class=\"icons\">&#xe91e;</i>\n </button>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .document-section{display:flex;align-items:center;height:calc(100vh - 50px);position:absolute;top:0;right:0;background:#fff;z-index:10;padding:50px;width:100%;overflow:hidden;overflow-y:scroll}@media screen and (max-width: 1365px){::ng-deep .document-section{align-items:unset}}::ng-deep .document-section.grayscale{filter:grayscale(1)!important;pointer-events:none!important}::ng-deep .document-section-inner .message-box{background:#fbfbfb;border-radius:4px;border:1px solid #f1f1f1;padding:16px 8px 12px 16px;margin-bottom:20px;display:flex;align-items:flex-start}::ng-deep .document-section-inner .message-box svg{background:#fff;width:33px;min-width:33px;border-radius:4px;box-shadow:0 3px 6px #1e5dd333;margin-right:12px;padding:4px}::ng-deep .document-section-inner .message-box p{font-size:12px;font-weight:500;color:#747576;margin:0}::ng-deep .document-section-inner .document-box{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border:1px solid #dbdbdb;border-radius:4px;width:100%;background:transparent;height:100px;margin-bottom:8px}::ng-deep .document-section-inner .document-box.error{border:1px solid #dbdbdb}::ng-deep .document-section-inner .document-box input{width:100%;position:absolute;inset:0;margin:0;padding:0;z-index:1;opacity:0;height:100%;pointer-events:none}::ng-deep .document-section-inner .document-box svg.doc-svg{width:82px}::ng-deep .document-section-inner .document-box .label-right{width:calc(100% - 82px);display:flex;align-items:center;justify-content:center;position:relative}::ng-deep .document-section-inner .document-box .label-right .value{font-size:16px;line-height:24px;color:#747576;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word;width:250px;margin-right:35px;text-align:center}::ng-deep .document-section-inner .document-box .label-right .value strong{font-weight:500}::ng-deep .document-section-inner .document-box .label-right .error-msg-text{color:#d93b41;font-size:10px;position:absolute;top:28px;left:0;right:0;text-align:center;width:250px}::ng-deep .document-section-inner .document-box .label-right .check-circle{display:none;width:32px;height:32px;position:absolute;right:14px;top:-3px}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-right:10px;position:static}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .document-section-inner .document-box .label-right .error-icon{color:#d93b41;font-size:32px;position:relative;top:-4px;right:14px}::ng-deep .document-section-inner .document-box.active{background:#eefcf0;border:1px solid #34aa44}::ng-deep .document-section-inner .document-box.active .label-right .check-circle{display:block}::ng-deep .document-section-inner .document-box.error{background:#ffeaea;border:1px solid #d93b41}.bottom-button{background:#fff;display:flex;align-items:center;position:absolute;bottom:0;right:0;width:100%;z-index:10}.bottom-button button{background:#1e5dd3;border:none;border-radius:0;color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;width:100%;padding:0;position:relative;margin:0!important;height:50px;display:flex;align-items:center;justify-content:center;line-height:19px;letter-spacing:3.08px;outline:none}.bottom-button button i{position:absolute;top:16px;font-size:18px;font-weight:500}.bottom-button button.next i{right:16px}.bottom-button button.disabled{pointer-events:none!important;opacity:.3!important;filter:grayscale(1)!important}.bottom-button button.back{background:#f1f1f1;color:#1e5dd3}.bottom-button button.back i{left:16px}.line-progress{position:absolute;left:0;top:0;height:2px;display:block;width:100%;background-color:#d4e2fc;background-clip:padding-box;overflow:hidden}.line-progress-bar{bottom:0;width:40%;background:#34aa44;border-radius:5px;display:inline-block;position:absolute;animation:linear infinite;animation-name:run;animation-duration:1s;top:0}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}@keyframes run{0%{left:0}50%{left:60%}to{left:0}}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
229
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DocumentSectionComponent, deps: [{ token: i1.SnackBarService }, { token: i2.PolicyService }, { token: i3.PolicyAPIService }, { token: i4.Router }, { token: i4.ActivatedRoute }, { token: i5.PlatformLocation }, { token: i6.IframeService }], target: i0.ɵɵFactoryTarget.Component }); }
230
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DocumentSectionComponent, selector: "lib-document-section", inputs: { selectedDocumentType: "selectedDocumentType", feature: "feature", templateView: "templateView", policyId: "policyId", policyName: "policyName", organization_id: "organization_id", member_obj_id: "member_obj_id", userInfo: "userInfo", templateUrl: "templateUrl", isTemplateOpened: "isTemplateOpened" }, outputs: { disconnectRefresh: "disconnectRefresh", editPolicy: "editPolicy", openTemplate: "openTemplate" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"document-section\" [class.grayscale]=\"isTemplateOpened\">\n <div class=\"document-section-inner\">\n <div class=\"message-box\">\n <svg\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 480.8 480.8\"\n style=\"enable-background: new 0 0 480.8 480.8\"\n xml:space=\"preserve\"\n >\n <path\n style=\"fill: #ffd517\"\n d=\"M317.112,314.4c-22.4,22.4-19.6,67.6-19.6,67.6h-113.6c0,0,2.4-45.2-19.6-67.6\n c-24.4-21.6-40-52.8-40-87.6c0-64,52-116,116-116s116,52,116,116C356.312,261.6,341.112,292.8,317.112,314.4L317.112,314.4z\"\n />\n <g>\n <path\n style=\"fill: #e5e5e5\"\n d=\"M300.712,417.6c0,6-4.8,10.8-10.8,10.8h-98.8c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h98.4C295.512,406.8,300.712,411.6,300.712,417.6L300.712,417.6z\"\n />\n <path\n style=\"fill: #e5e5e5\"\n d=\"M285.912,462.4c0,6-4.8,10.8-10.8,10.8h-69.2c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h69.2C281.112,451.6,285.912,456.4,285.912,462.4L285.912,462.4z\"\n />\n </g>\n <g>\n <path\n style=\"fill: #210b20\"\n d=\"M323.112,318.4c26-23.6,40.8-56.8,40.8-91.6c0-68-55.6-123.6-123.6-123.6s-123.6,55.6-123.6,123.6\n c0,35.6,15.6,69.6,42,92.8c19.6,19.6,17.6,61.2,17.6,61.6c0,2,0.8,4,2,5.6c1.6,1.6,3.6,2.4,5.6,2.4h113.2c2,0,4-0.8,5.6-2.4\n s2-3.6,2-5.6c0-0.4-2-42,17.6-61.6C322.712,319.2,323.112,318.8,323.112,318.4z M311.912,308.4c-0.8,0.4-1.2,1.2-1.6,2\n c-17.6,18.8-20.4,49.6-20.8,64h-98c-0.4-14.8-3.6-46.8-22.4-65.6c-23.6-20.8-37.2-50.4-37.2-81.6c0-60,48.8-108.4,108.4-108.4\n c60,0,108.4,48.8,108.4,108.4C348.712,258,335.512,288,311.912,308.4z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M240.312,135.2c-4,0-7.6,3.2-7.6,7.6c0,4,3.2,7.6,7.6,7.6c44.8,0,81.2,36.4,81.2,81.2\n c0,4,3.2,7.6,7.6,7.6c4,0,7.6-3.2,7.6-7.6C336.712,178.4,293.512,135.2,240.312,135.2z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M308.312,417.6c0-10.4-8.4-18.4-18.4-18.4h-98.8c-10.4,0-18.4,8.4-18.4,18.4\n c0,10.4,8.4,18.4,18.4,18.4h98.4C299.912,436,308.312,428,308.312,417.6z M289.512,420.8h-98.4c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h98.4c2,0,3.2,1.6,3.2,3.2C293.112,419.6,291.512,420.8,289.512,420.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M275.112,444h-69.2c-10.4,0-18.4,8.4-18.4,18.4c0,10.4,8.4,18.4,18.4,18.4h69.2\n c10.4,0,18.4-8.4,18.4-18.4C293.512,452.4,285.112,444,275.112,444z M275.112,465.6h-69.2c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h69.2c2,0,3.2,1.6,3.2,3.2C278.312,464.4,277.112,465.6,275.112,465.6z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M247.912,58.8V7.6c0-4-3.2-7.6-7.6-7.6c-4,0-7.6,3.2-7.6,7.6v51.6c0,4,3.2,7.6,7.6,7.6\n C244.712,66.4,247.912,63.2,247.912,58.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M366.312,38c-3.6-2.4-8-1.2-10.4,2l-28.4,42.8c-2.4,3.6-1.2,8,2,10.4c1.2,0.8,2.8,1.2,4,1.2\n c2.4,0,4.8-1.2,6.4-3.2l28.4-42.8C370.712,45.2,369.512,40.4,366.312,38z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M149.912,92.8c1.2,0,2.8-0.4,4-1.2c3.6-2.4,4.4-6.8,2.4-10.4l-27.6-43.2c-2.4-3.6-6.8-4.4-10.4-2.4\n c-3.6,2.4-4.4,6.8-2.4,10.4l27.6,43.2C145.112,91.6,147.512,92.8,149.912,92.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M43.912,128.8l45.2,24.4c1.2,0.8,2.4,0.8,3.6,0.8c2.8,0,5.2-1.6,6.8-4c2-3.6,0.8-8.4-3.2-10.4\n l-45.2-24.4c-3.6-2-8.4-0.8-10.4,3.2C39.112,122.4,40.312,126.8,43.912,128.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M387.912,154.4c1.2,0,2.4-0.4,3.6-0.8l45.2-24.4c3.6-2,5.2-6.4,3.2-10.4c-2-3.6-6.4-5.2-10.4-3.2\n l-45.2,24.4c-3.6,2-5.2,6.4-3.2,10.4C382.312,152.8,385.112,154.4,387.912,154.4z\"\n />\n </g>\n </svg>\n <p>\n There are multiple ways to create a policy on VComply. You can either\n draft it from scratch using VComply's online editor or upload an\n existing DOCX or PDF file.\n </p>\n </div>\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType == 'draft'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('draft')\"\n [checked]=\"selectedDocumentType === 'draft'\"\n />\n <svg id=\"Draft\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20402\" data-name=\"Path 20402\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#565a6f\"/>\n <path id=\"Path_20403\" data-name=\"Path 20403\" d=\"M21.884,8.51,10.549,10.384,12.426,21.06l4.38-.61a.333.333,0,0,1,.326.435c-.051.219-.338.235-.514.267-1.474.266-3.009.388-4.491.631-.416-.032-.321-.718-.441-1l-3-.365c-.213-.12-.2-.273-.2-.492.019-.622.092-1.251.125-1.872.16-3,.316-6,.5-8.993A9.457,9.457,0,0,1,9.152,8.1a.369.369,0,0,1,.265-.3l8.519.681L22.2,7.8c.225.068.246.19.3.393.553,2.288.758,4.775,1.285,7.083.143.531-.507.731-.642.2ZM17.211,21.932a.563.563,0,0,0-.072.24,8.549,8.549,0,0,0,0,1.187c.019.217.088.393.328.421a9.138,9.138,0,0,0,1.448-.021.53.53,0,0,0,.122-.065l3.756-3.771L21,18.13Zm5.329-5.35c-.365.286-.7.757-1.061,1.062L23.3,19.437c.3-.35.777-.687,1.05-1.044.15-.2.174-.312.017-.516a13.851,13.851,0,0,0-1.327-1.327.393.393,0,0,0-.23-.1.476.476,0,0,0-.271.13\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\"><strong>Create</strong> a Policy</div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\">&#xea46;</i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n </div>\n </label>\n\n \n <label\n *ngIf=\"ff_policy_ms_word_integration\"\n class=\"document-box\"\n [class.active]=\"selectedDocumentType == 'word'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('word')\"\n [checked]=\"selectedDocumentType === 'word'\"\n />\n <svg id=\"Word-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20404\" data-name=\"Path 20404\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#1e5dd3\"/>\n <path id=\"Path_20405\" data-name=\"Path 20405\" d=\"M10.419,9.718l1.889,9.121L12.44,20l.132-.885,2.152-9.4,2.626.018,2.187,9.106.174,1.132a13.4,13.4,0,0,1,.174-1.352c.5-2.954,1.188-5.88,1.7-8.832l.04-.07H24L21.085,22.281l-2.818-.026L15.931,12.22l-.16,1.077-2.015,8.986-2.829-.028L8,9.718Z\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">{{createWordPolicyText}}</div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\">&#xea46;</i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n </div>\n </label>\n\n\n\n <label\n class=\"document-box\"\n *ngIf=\"showDocxBlock\"\n [class.active]=\"selectedDocumentType == 'docx' && !docxError?.visible\"\n [class.error]=\"docxError?.visible\"\n >\n <input\n type=\"file\"\n accept=\".docx\"\n id=\"DOCfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #docxUploadButton\n />\n <svg id=\"Word-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20404\" data-name=\"Path 20404\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#1e5dd3\"/>\n <path id=\"Path_20405\" data-name=\"Path 20405\" d=\"M10.419,9.718l1.889,9.121L12.44,20l.132-.885,2.152-9.4,2.626.018,2.187,9.106.174,1.132a13.4,13.4,0,0,1,.174-1.352c.5-2.954,1.188-5.88,1.7-8.832l.04-.07H24L21.085,22.281l-2.818-.026L15.931,12.22l-.16,1.077-2.015,8.986-2.829-.028L8,9.718Z\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'docx' && filename)\"\n >Upload a <strong>DOCX</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'docx' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <div class=\"error-msg-text\" *ngIf=\"docxError?.visible\">\n {{ docxError?.message }}\n </div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\">&#xea97;</i>\n <div class=\"check-circle\" *ngIf=\"!docxError?.visible\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <i class=\"icons error-icon\" *ngIf=\"docxError?.visible\">&#xe914;</i>\n </div>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'docx' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n <label\n class=\"document-box\"\n *ngIf=\"showPdfBlock\"\n [class.active]=\"selectedDocumentType == 'pdf'\"\n >\n <input\n type=\"file\"\n accept=\".pdf\"\n id=\"PDFfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #pdfUploadButton\n />\n <svg id=\"PDF-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20408\" data-name=\"Path 20408\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#a82a1d\"/>\n <path id=\"Path_20409\" data-name=\"Path 20409\" d=\"M16.125,13.778A1.39,1.39,0,0,0,16.285,15a16.106,16.106,0,0,0,2.106,2.554c.312-.045.6-.047,1.2-.092a6.964,6.964,0,0,1,3.616.239,1.31,1.31,0,0,1,.784,1.361,1.176,1.176,0,0,1-1.075.981c-2.224.336-3.305-.9-4.579-1.746a2.094,2.094,0,0,0-.812.021,25.782,25.782,0,0,0-3.412.916c-.253.089-.338.3-.533.609a11.062,11.062,0,0,1-2.82,3.427,2.145,2.145,0,0,1-1.861.445c-1-.222-1.178-1.182-.5-1.942A9.452,9.452,0,0,1,10,20.462a14.714,14.714,0,0,1,2.418-1.109c.491-.461.556-.686.966-1.764.431-1.136.922-2.25,1.324-3.4a1.679,1.679,0,0,0-.035-1.062,7.7,7.7,0,0,1-.638-3.476,1.4,1.4,0,0,1,.959-1.393,1.279,1.279,0,0,1,1.464.8c.2.479.552,1.75-.331,4.728m-.377,1.377-1.418,3.422,3.353-.883-1.935-2.539m3.222,2.882A4.5,4.5,0,0,0,21.92,19.37c.377,0,.714-.131.733-.6.051-1.251-2.656-.864-3.682-.73m-6.96,2.037a9.788,9.788,0,0,0-2.975,1.8c-.218.171-.446.718-.282.984s.81.067,1-.12a9.29,9.29,0,0,0,2.253-2.664m3.246-7.243c-.045-.878.461-2.172.437-3.224-.008-.355-.051-.747-.5-.772-.364-.02-.534.476-.569.762a5.8,5.8,0,0,0,.636,3.234\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'pdf' && filename)\"\n >Upload a <strong>PDF</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'pdf' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\">&#xea97;</i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n </div>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'pdf' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n <!-- Select a template -->\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType === 'template'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('template')\"\n [checked]=\"selectedDocumentType === 'template'\"\n />\n <svg id=\"TMP-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20406\" data-name=\"Path 20406\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#34aa44\"/>\n <path id=\"Path_20410\" data-name=\"Path 20410\" d=\"M16,1.778V3.555H0V1.778A1.783,1.783,0,0,1,1.778,0H14.223A1.783,1.783,0,0,1,16,1.778M0,4.444H16v8.889a1.778,1.778,0,0,1-1.777,1.778H1.778A1.778,1.778,0,0,1,0,13.333ZM6.99,9.928A.891.891,0,0,0,6.1,9.039H3.642a.891.891,0,0,0-.888.889v2.456a.891.891,0,0,0,.888.889H6.1a.891.891,0,0,0,.888-.889Zm6.306,0a.892.892,0,0,0-.889-.889H9.948a.891.891,0,0,0-.888.889v2.456a.891.891,0,0,0,.888.889h2.459a.892.892,0,0,0,.889-.889ZM2.667,7.111A.889.889,0,0,0,3.556,8h8.889a.889.889,0,0,0,0-1.778H3.556a.889.889,0,0,0-.889.889\" transform=\"translate(8 7.999)\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">Draft Using a <strong>Template</strong></div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\">&#xea46;</i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n </div>\n </label>\n <!-- End Select a template -->\n <app-loader-inline *ngIf=\"isLoader\"></app-loader-inline>\n </div>\n</div>\n<div class=\"bottom-button\" [class.grayscale]=\"isTemplateOpened\">\n <button\n type=\"button\"\n (click)=\"editPolicyEmit()\"\n class=\"back\"\n [class.disabled]=\"isTemplateOpened\"\n >\n <i class=\"icons\">&#xe91d;</i> Back\n </button>\n <button\n type=\"button\"\n (click)=\"editor(selectedDocumentType)\"\n class=\"next\"\n [class.disabled]=\"!selectedDocumentType || isTemplateOpened || isLoader\"\n >\n Next <i class=\"icons\">&#xe91e;</i>\n </button>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .document-section{display:flex;align-items:center;height:calc(100vh - 50px);position:absolute;top:0;right:0;background:#fff;z-index:10;padding:50px;width:100%;overflow:hidden;overflow-y:scroll}@media screen and (max-width: 1365px){::ng-deep .document-section{align-items:unset}}::ng-deep .document-section.grayscale{filter:grayscale(1)!important;pointer-events:none!important}::ng-deep .document-section-inner .message-box{background:#fbfbfb;border-radius:4px;border:1px solid #f1f1f1;padding:16px 8px 12px 16px;margin-bottom:20px;display:flex;align-items:flex-start}::ng-deep .document-section-inner .message-box svg{background:#fff;width:33px;min-width:33px;border-radius:4px;box-shadow:0 3px 6px #1e5dd333;margin-right:12px;padding:4px}::ng-deep .document-section-inner .message-box p{font-size:12px;font-weight:500;color:#787a8c;margin:0}::ng-deep .document-section-inner .document-box{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border:1px solid #CDCED6;border-radius:8px;width:100%;background:transparent;height:64px;padding:0 16px;margin-bottom:8px}::ng-deep .document-section-inner .document-box.error{border:1px solid #dbdbdb}::ng-deep .document-section-inner .document-box input{width:100%;position:absolute;inset:0;margin:0;padding:0;z-index:1;opacity:0;height:100%;pointer-events:none}::ng-deep .document-section-inner .document-box svg.doc-svg{width:82px}::ng-deep .document-section-inner .document-box .label-right{width:calc(100% - 64px);display:flex;align-items:center;justify-content:center;position:relative}::ng-deep .document-section-inner .document-box .label-right .value{font-size:16px;font-weight:500;line-height:24px;color:#000;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word;width:270px;margin-right:25px}::ng-deep .document-section-inner .document-box .label-right .value strong{font-weight:500}::ng-deep .document-section-inner .document-box .label-right .error-msg-text{color:#d93b41;font-size:10px;position:absolute;top:24px;left:0;right:0;width:250px}::ng-deep .document-section-inner .document-box .label-right .check-circle{display:none;width:16px;height:16px;position:absolute;right:8px;top:2px}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon{width:16px;height:16px;background:#ddf4e0;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-right:10px;position:static}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .document-section-inner .document-box .label-right .error-icon{color:#d93b41;font-size:16px;position:relative;top:0;right:8px}::ng-deep .document-section-inner .document-box.active{background:#ddf4e0;border:1px solid #B7E2BD}::ng-deep .document-section-inner .document-box.active .document-box-icon{display:none}::ng-deep .document-section-inner .document-box.active .label-right .check-circle{display:block}::ng-deep .document-section-inner .document-box.error{background:#ffeaea;border:1px solid #d93b41}::ng-deep .document-section-inner .document-box-icon{color:#565a6f}.bottom-button{background:#fff;display:flex;align-items:center;position:absolute;bottom:0;right:0;width:100%;z-index:10}.bottom-button button{background:#1e5dd3;border:none;border-radius:0;color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;width:100%;padding:0;position:relative;margin:0!important;height:50px;display:flex;align-items:center;justify-content:center;line-height:19px;letter-spacing:3.08px;outline:none}.bottom-button button i{position:absolute;top:16px;font-size:18px;font-weight:500}.bottom-button button.next i{right:16px}.bottom-button button.disabled{pointer-events:none!important;opacity:.3!important;filter:grayscale(1)!important}.bottom-button button.back{background:#f1f1f1;color:#1e5dd3}.bottom-button button.back i{left:16px}.line-progress{position:absolute;left:0;top:0;height:2px;display:block;width:100%;background-color:#d4e2fc;background-clip:padding-box;overflow:hidden}.line-progress-bar{bottom:0;width:40%;background:#34aa44;border-radius:5px;display:inline-block;position:absolute;animation:linear infinite;animation-name:run;animation-duration:1s;top:0}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}@keyframes run{0%{left:0}50%{left:60%}to{left:0}}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.LoaderInlineComponent, selector: "app-loader-inline" }] }); }
202
231
  }
203
232
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DocumentSectionComponent, decorators: [{
204
233
  type: Component,
205
- args: [{ selector: 'lib-document-section', template: "<div class=\"document-section\" [class.grayscale]=\"isTemplateOpened\">\n <div class=\"document-section-inner\">\n <div class=\"message-box\">\n <svg\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 480.8 480.8\"\n style=\"enable-background: new 0 0 480.8 480.8\"\n xml:space=\"preserve\"\n >\n <path\n style=\"fill: #ffd517\"\n d=\"M317.112,314.4c-22.4,22.4-19.6,67.6-19.6,67.6h-113.6c0,0,2.4-45.2-19.6-67.6\n c-24.4-21.6-40-52.8-40-87.6c0-64,52-116,116-116s116,52,116,116C356.312,261.6,341.112,292.8,317.112,314.4L317.112,314.4z\"\n />\n <g>\n <path\n style=\"fill: #e5e5e5\"\n d=\"M300.712,417.6c0,6-4.8,10.8-10.8,10.8h-98.8c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h98.4C295.512,406.8,300.712,411.6,300.712,417.6L300.712,417.6z\"\n />\n <path\n style=\"fill: #e5e5e5\"\n d=\"M285.912,462.4c0,6-4.8,10.8-10.8,10.8h-69.2c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h69.2C281.112,451.6,285.912,456.4,285.912,462.4L285.912,462.4z\"\n />\n </g>\n <g>\n <path\n style=\"fill: #210b20\"\n d=\"M323.112,318.4c26-23.6,40.8-56.8,40.8-91.6c0-68-55.6-123.6-123.6-123.6s-123.6,55.6-123.6,123.6\n c0,35.6,15.6,69.6,42,92.8c19.6,19.6,17.6,61.2,17.6,61.6c0,2,0.8,4,2,5.6c1.6,1.6,3.6,2.4,5.6,2.4h113.2c2,0,4-0.8,5.6-2.4\n s2-3.6,2-5.6c0-0.4-2-42,17.6-61.6C322.712,319.2,323.112,318.8,323.112,318.4z M311.912,308.4c-0.8,0.4-1.2,1.2-1.6,2\n c-17.6,18.8-20.4,49.6-20.8,64h-98c-0.4-14.8-3.6-46.8-22.4-65.6c-23.6-20.8-37.2-50.4-37.2-81.6c0-60,48.8-108.4,108.4-108.4\n c60,0,108.4,48.8,108.4,108.4C348.712,258,335.512,288,311.912,308.4z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M240.312,135.2c-4,0-7.6,3.2-7.6,7.6c0,4,3.2,7.6,7.6,7.6c44.8,0,81.2,36.4,81.2,81.2\n c0,4,3.2,7.6,7.6,7.6c4,0,7.6-3.2,7.6-7.6C336.712,178.4,293.512,135.2,240.312,135.2z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M308.312,417.6c0-10.4-8.4-18.4-18.4-18.4h-98.8c-10.4,0-18.4,8.4-18.4,18.4\n c0,10.4,8.4,18.4,18.4,18.4h98.4C299.912,436,308.312,428,308.312,417.6z M289.512,420.8h-98.4c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h98.4c2,0,3.2,1.6,3.2,3.2C293.112,419.6,291.512,420.8,289.512,420.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M275.112,444h-69.2c-10.4,0-18.4,8.4-18.4,18.4c0,10.4,8.4,18.4,18.4,18.4h69.2\n c10.4,0,18.4-8.4,18.4-18.4C293.512,452.4,285.112,444,275.112,444z M275.112,465.6h-69.2c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h69.2c2,0,3.2,1.6,3.2,3.2C278.312,464.4,277.112,465.6,275.112,465.6z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M247.912,58.8V7.6c0-4-3.2-7.6-7.6-7.6c-4,0-7.6,3.2-7.6,7.6v51.6c0,4,3.2,7.6,7.6,7.6\n C244.712,66.4,247.912,63.2,247.912,58.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M366.312,38c-3.6-2.4-8-1.2-10.4,2l-28.4,42.8c-2.4,3.6-1.2,8,2,10.4c1.2,0.8,2.8,1.2,4,1.2\n c2.4,0,4.8-1.2,6.4-3.2l28.4-42.8C370.712,45.2,369.512,40.4,366.312,38z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M149.912,92.8c1.2,0,2.8-0.4,4-1.2c3.6-2.4,4.4-6.8,2.4-10.4l-27.6-43.2c-2.4-3.6-6.8-4.4-10.4-2.4\n c-3.6,2.4-4.4,6.8-2.4,10.4l27.6,43.2C145.112,91.6,147.512,92.8,149.912,92.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M43.912,128.8l45.2,24.4c1.2,0.8,2.4,0.8,3.6,0.8c2.8,0,5.2-1.6,6.8-4c2-3.6,0.8-8.4-3.2-10.4\n l-45.2-24.4c-3.6-2-8.4-0.8-10.4,3.2C39.112,122.4,40.312,126.8,43.912,128.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M387.912,154.4c1.2,0,2.4-0.4,3.6-0.8l45.2-24.4c3.6-2,5.2-6.4,3.2-10.4c-2-3.6-6.4-5.2-10.4-3.2\n l-45.2,24.4c-3.6,2-5.2,6.4-3.2,10.4C382.312,152.8,385.112,154.4,387.912,154.4z\"\n />\n </g>\n </svg>\n <p>\n There are multiple ways to create a policy on VComply. You can either\n draft it from scratch using VComply\u2019s online editor or upload an\n existing DOCX or PDF file.\n </p>\n </div>\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType == 'draft'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('draft')\"\n [checked]=\"selectedDocumentType === 'draft'\"\n />\n <svg\n class=\"doc-svg\"\n version=\"1.1\"\n id=\"Layer_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 64 64\"\n style=\"enable-background: new 0 0 64 64\"\n xml:space=\"preserve\"\n >\n <style type=\"text/css\">\n .p1 {\n fill: #f8f8f8;\n }\n .p2 {\n fill: #747576;\n }\n .p3 {\n fill: #bdbdbd;\n }\n .p4 {\n fill: #dbdbdb;\n }\n .p5 {\n fill: #1e5dd3;\n }\n .p6 {\n fill: #ffffff;\n }\n </style>\n <path\n class=\"p1\"\n d=\"M52,16.2V58c0,1.1-0.9,2-2,2H14c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h25.9\"\n />\n <image\n style=\"overflow: visible\"\n width=\"1920\"\n height=\"1080\"\n xlink:href=\"94778146.jpg\"\n transform=\"matrix(1 0 0 1 -8160 -8160)\"\n ></image>\n <path class=\"p2\" d=\"M52,12v12H12V6c0-1.1,0.9-2,2-2h30\" />\n <path class=\"p3\" d=\"M44,4v6.7c0,0.7,0.6,1.3,1.3,1.3H52\" />\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,30.1H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,30.1,46.2,30.1z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,34.5H17.9c-0.6,0-1-0.4-1-1c0-0.6,0.4-1,1-1h28.3c0.6,0,1,0.4,1,1C47.2,34.1,46.8,34.5,46.2,34.5z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,39H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,39,46.2,39z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,43.4H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,43.4,46.2,43.4z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,47.8H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,47.8,46.2,47.8z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,52.2H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,52.2,46.2,52.2z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,56.6H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,56.6,46.2,56.6z\"\n />\n </g>\n <g>\n <path\n class=\"p6\"\n d=\"M24.6,16.9c-0.2,0.4-0.6,0.8-1,1s-1,0.4-1.6,0.4h-2v-5.6h2c0.6,0,1.1,0.1,1.6,0.3c0.4,0.2,0.8,0.6,1,1\n c0.2,0.4,0.4,0.9,0.4,1.5C24.9,16,24.8,16.5,24.6,16.9z M23.3,16.8c0.3-0.3,0.5-0.8,0.5-1.3c0-0.6-0.2-1-0.5-1.4\n c-0.3-0.3-0.8-0.5-1.4-0.5h-0.8v3.7h0.8C22.5,17.2,23,17.1,23.3,16.8z\"\n />\n <path\n class=\"p6\"\n d=\"M28.7,18.2L27.4,16h-0.5v2.2h-1.1v-5.6h2.2c0.7,0,1.2,0.2,1.5,0.5s0.5,0.7,0.5,1.3c0,0.4-0.1,0.8-0.4,1.1\n s-0.6,0.5-1,0.6l1.4,2.3H28.7z M26.9,15.3h0.9c0.6,0,1-0.3,1-0.9c0-0.3-0.1-0.5-0.2-0.6c-0.2-0.2-0.4-0.2-0.7-0.2h-0.9V15.3z\"\n />\n <path\n class=\"p6\"\n d=\"M34.1,17.1h-2.3l-0.4,1.1h-1.2l2.1-5.6h1.3l2.1,5.6h-1.2L34.1,17.1z M33.8,16.3L33,13.9l-0.8,2.4H33.8z\"\n />\n <path\n class=\"p6\"\n d=\"M39.8,12.6v0.9h-2.4V15h1.9v0.9h-1.9v2.4h-1.1v-5.6H39.8z\"\n />\n <path\n class=\"p6\"\n d=\"M44.4,12.6v0.9h-1.6v4.8h-1.1v-4.8h-1.6v-0.9H44.4z\"\n />\n </g>\n <path\n class=\"p5\"\n d=\"M32,33.1c-5.2,0-9.4,4.2-9.4,9.4s4.2,9.4,9.4,9.4s9.4-4.2,9.4-9.4C41.4,37.3,37.2,33.2,32,33.1z\"\n />\n <g>\n <path\n class=\"p6\"\n d=\"M36.1,40.8l-5.8,5.8L28,44.4l5.8-5.8c0.2-0.2,0.4-0.2,0.6,0l1.7,1.7C36.2,40.4,36.2,40.7,36.1,40.8z\"\n />\n <path\n class=\"p6\"\n d=\"M36.8,38c-0.5-0.5-1.3-0.5-1.7,0l-0.4,0.3c0,0,0.1,0,0.1,0.1l1.7,1.7c0,0,0,0.1,0.1,0.1l0.4-0.4\n c0.2-0.2,0.4-0.5,0.4-0.9C37.1,38.5,37,38.2,36.8,38L36.8,38z\"\n />\n <path\n class=\"p6\"\n d=\"M27.9,44.9l-1,2.6c-0.1,0.1,0,0.2,0.1,0.4c0.1,0.1,0.1,0.1,0.2,0.1c0.1,0,0.1,0,0.1,0l2.6-1L27.9,44.9z\"\n />\n <path\n class=\"p6\"\n d=\"M30.2,41.3c0.1,0,0.2-0.1,0.2-0.1l2.2-2.2c0.1-0.1,0.3-0.1,0.4-0.1l0.5-0.5c-0.4-0.3-0.9-0.3-1.3,0.1L30,40.7\n c-0.1,0.1-0.1,0.4,0,0.5C30,41.2,30,41.3,30.2,41.3L30.2,41.3z\"\n />\n </g>\n </svg>\n <div class=\"label-right\">\n <div class=\"value\"><strong>Create</strong> a Policy</div>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n </div>\n </label>\n <!-- Select a template -->\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType === 'template'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('template')\"\n [checked]=\"selectedDocumentType === 'template'\"\n />\n <svg\n class=\"doc-svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"50.455\"\n height=\"70.652\"\n viewBox=\"0 0 50.455 70.652\"\n >\n <g id=\"TemplateIcon\" transform=\"translate(-12 -3.985)\">\n <path\n id=\"Path_290\"\n data-name=\"Path 290\"\n d=\"M62.451,19.4V72.11a2.522,2.522,0,0,1-2.523,2.523H14.523A2.522,2.522,0,0,1,12,72.11V6.523A2.522,2.522,0,0,1,14.523,4H47.157\"\n transform=\"translate(0 0.004)\"\n fill=\"#f8f8f8\"\n />\n <path\n id=\"Path_291\"\n data-name=\"Path 291\"\n d=\"M62.451,14.092V29.226H12V6.523A2.522,2.522,0,0,1,14.523,4H52.362\"\n transform=\"translate(0 0.004)\"\n fill=\"#34aa44\"\n />\n <path\n id=\"Path_292\"\n data-name=\"Path 292\"\n d=\"M43.95,3.985v8.457a1.689,1.689,0,0,0,1.689,1.688h8.467\"\n transform=\"translate(8.349 0)\"\n fill=\"#97d2a0\"\n />\n <g\n id=\"Group_540\"\n data-name=\"Group 540\"\n transform=\"translate(18.12 34.45)\"\n >\n <path\n id=\"Path_293\"\n data-name=\"Path 293\"\n d=\"M53.866,30.662H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -28.139)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_541\"\n data-name=\"Group 541\"\n transform=\"translate(18.12 40.012)\"\n >\n <path\n id=\"Path_294\"\n data-name=\"Path 294\"\n d=\"M53.866,35.071H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -32.548)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_542\"\n data-name=\"Group 542\"\n transform=\"translate(18.12 45.573)\"\n >\n <path\n id=\"Path_295\"\n data-name=\"Path 295\"\n d=\"M53.866,39.48H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -36.957)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_543\"\n data-name=\"Group 543\"\n transform=\"translate(18.12 51.134)\"\n >\n <path\n id=\"Path_296\"\n data-name=\"Path 296\"\n d=\"M53.866,43.889H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,1,1,0,2.523Z\"\n transform=\"translate(-16.852 -41.366)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_544\"\n data-name=\"Group 544\"\n transform=\"translate(18.12 56.695)\"\n >\n <path\n id=\"Path_297\"\n data-name=\"Path 297\"\n d=\"M53.866,48.3H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -45.775)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_545\"\n data-name=\"Group 545\"\n transform=\"translate(18.12 62.257)\"\n >\n <path\n id=\"Path_298\"\n data-name=\"Path 298\"\n d=\"M53.866,52.708H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -50.185)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_546\"\n data-name=\"Group 546\"\n transform=\"translate(18.12 67.818)\"\n >\n <path\n id=\"Path_299\"\n data-name=\"Path 299\"\n d=\"M53.866,57.117H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -54.594)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <path\n id=\"Path_305\"\n data-name=\"Path 305\"\n d=\"M34.45,33.149A11.826,11.826,0,1,0,46.276,44.975,11.826,11.826,0,0,0,34.45,33.149Z\"\n transform=\"translate(2.776 7.835)\"\n fill=\"#c7381b\"\n />\n <path\n id=\"Path_4841\"\n data-name=\"Path 4841\"\n d=\"M41.159,43.359l-7.2-7.207a.514.514,0,0,0-.727,0l-7.2,7.207a.52.52,0,0,0-.15.365.512.512,0,0,0,.515.513H30v7.705a.514.514,0,0,0,.513.515h6.17a.514.514,0,0,0,.515-.515V44.237h3.6a.514.514,0,0,0,.362-.878Z\"\n transform=\"translate(3.629 8.983)\"\n fill=\"#fafafa\"\n />\n <text\n id=\"TMP\"\n transform=\"translate(25.999 21.984)\"\n fill=\"#fff\"\n font-size=\"11\"\n font-family=\"Poppins-SemiBold, Poppins\"\n font-weight=\"600\"\n >\n <tspan x=\"0\" y=\"0\">TMP</tspan>\n </text>\n </g>\n </svg>\n\n <div class=\"label-right\">\n <div class=\"value\">Draft Using a <strong>Template</strong></div>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n </div>\n </label>\n <!-- End Select a template -->\n <label\n class=\"document-box\"\n *ngIf=\"showDocxBlock\"\n [class.active]=\"selectedDocumentType == 'docx' && !docxError?.visible\"\n [class.error]=\"docxError?.visible\"\n >\n <input\n type=\"file\"\n accept=\".docx\"\n id=\"DOCfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #docxUploadButton\n />\n <svg\n class=\"doc-svg\"\n version=\"1.1\"\n id=\"Layer_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 64 64\"\n style=\"enable-background: new 0 0 64 64\"\n xml:space=\"preserve\"\n >\n <style type=\"text/css\">\n .d1 {\n fill: #f8f8f8;\n }\n .d2 {\n fill: #337dbe;\n }\n .d3 {\n fill: #3c92df;\n }\n .d4 {\n fill: #dbdbdb;\n }\n .d5 {\n fill: #f2bf19;\n }\n .d6 {\n fill: #fafafa;\n }\n </style>\n <path\n class=\"d1\"\n d=\"M52,16.2V58c0,1.1-0.9,2-2,2H14c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h25.9\"\n />\n <path class=\"d2\" d=\"M52,12v12H12V6c0-1.1,0.9-2,2-2h30\" />\n <path class=\"d3\" d=\"M44,4v6.7c0,0.7,0.6,1.3,1.3,1.3H52\" />\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,30.1H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,30.1,46.2,30.1z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,34.5H17.9c-0.6,0-1-0.4-1-1c0-0.6,0.4-1,1-1h28.3c0.6,0,1,0.4,1,1C47.2,34.1,46.8,34.5,46.2,34.5z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,39H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,39,46.2,39z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,43.4H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,43.4,46.2,43.4z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,47.8H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,47.8,46.2,47.8z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,52.2H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,52.2,46.2,52.2z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,56.6H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,56.6,46.2,56.6z\"\n />\n </g>\n <g>\n <path\n class=\"d1\"\n d=\"M25.4,16.9c-0.2,0.4-0.6,0.8-1,1s-1,0.4-1.6,0.4h-2v-5.6h2c0.6,0,1.1,0.1,1.6,0.3c0.4,0.2,0.8,0.6,1,1\n c0.2,0.4,0.4,0.9,0.4,1.5C25.7,16,25.6,16.5,25.4,16.9z M24.1,16.8c0.3-0.3,0.5-0.8,0.5-1.3c0-0.6-0.2-1-0.5-1.4\n c-0.3-0.3-0.8-0.5-1.4-0.5h-0.8v3.7h0.8C23.3,17.2,23.8,17.1,24.1,16.8z\"\n />\n <path\n class=\"d1\"\n d=\"M30.7,12.9c0.4,0.2,0.8,0.6,1,1s0.4,0.9,0.4,1.5s-0.1,1.1-0.4,1.5c-0.2,0.4-0.6,0.8-1,1\n c-0.4,0.2-0.9,0.4-1.4,0.4c-0.5,0-1-0.1-1.4-0.4c-0.4-0.2-0.8-0.6-1-1c-0.2-0.4-0.4-0.9-0.4-1.5s0.1-1.1,0.4-1.5s0.6-0.8,1-1\n c0.4-0.2,0.9-0.4,1.4-0.4C29.8,12.5,30.2,12.6,30.7,12.9z M28.4,13.8c-0.3,0.1-0.4,0.4-0.6,0.6c-0.1,0.3-0.2,0.6-0.2,1\n c0,0.4,0.1,0.7,0.2,1c0.1,0.3,0.3,0.5,0.6,0.6c0.3,0.1,0.5,0.2,0.9,0.2c0.3,0,0.6-0.1,0.9-0.2c0.3-0.1,0.4-0.4,0.6-0.6\n c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1c-0.1-0.3-0.3-0.5-0.6-0.6c-0.3-0.1-0.5-0.2-0.9-0.2C28.9,13.6,28.6,13.6,28.4,13.8z\"\n />\n <path\n class=\"d1\"\n d=\"M37.2,13.1c0.5,0.4,0.8,0.9,0.9,1.5H37c-0.1-0.3-0.3-0.5-0.6-0.7c-0.3-0.2-0.6-0.3-0.9-0.3\n c-0.3,0-0.6,0.1-0.8,0.2s-0.4,0.4-0.6,0.6c-0.1,0.3-0.2,0.6-0.2,1c0,0.4,0.1,0.7,0.2,1c0.1,0.3,0.3,0.5,0.6,0.6s0.5,0.2,0.8,0.2\n c0.4,0,0.7-0.1,0.9-0.3c0.3-0.2,0.4-0.4,0.6-0.7h1.2c-0.1,0.6-0.5,1.1-0.9,1.5c-0.5,0.4-1,0.5-1.8,0.5c-0.5,0-1-0.1-1.4-0.4\n c-0.4-0.2-0.7-0.6-1-1c-0.2-0.4-0.3-0.9-0.3-1.5c0-0.6,0.1-1.1,0.3-1.5c0.2-0.4,0.5-0.8,1-1c0.4-0.2,0.9-0.4,1.4-0.4\n C36.2,12.5,36.8,12.7,37.2,13.1z\"\n />\n <path\n class=\"d1\"\n d=\"M42.3,18.2L41,16.3l-1.1,1.9h-1.3l1.8-2.9l-1.8-2.8h1.3l1.2,1.9l1.1-1.9h1.3l-1.8,2.8l1.9,2.8H42.3z\"\n />\n </g>\n <path\n class=\"d5\"\n d=\"M32,33.1c-5.2,0-9.4,4.2-9.4,9.4s4.2,9.4,9.4,9.4s9.4-4.2,9.4-9.4C41.4,37.3,37.2,33.2,32,33.1z\"\n />\n <path\n class=\"d6\"\n d=\"M38,41.8l-5.7-5.7c-0.2-0.2-0.4-0.2-0.6,0L26,41.8c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.2,0.2,0.4,0.4,0.4h2.9v6.1\n c0,0.2,0.2,0.4,0.4,0.4h4.9c0.2,0,0.4-0.2,0.4-0.4v-6.1h2.9c0.2,0,0.3-0.1,0.4-0.3C38.1,42.1,38.1,42,38,41.8z\"\n />\n </svg>\n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'docx' && filename)\"\n >Upload a <strong>DOCX</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'docx' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <div class=\"error-msg-text\" *ngIf=\"docxError?.visible\">\n {{ docxError?.message }}\n </div>\n <div class=\"check-circle\" *ngIf=\"!docxError?.visible\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <i class=\"icons error-icon\" *ngIf=\"docxError?.visible\">&#xe914;</i>\n </div>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'docx' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n <label\n class=\"document-box\"\n *ngIf=\"showPdfBlock\"\n [class.active]=\"selectedDocumentType == 'pdf'\"\n >\n <input\n type=\"file\"\n accept=\".pdf\"\n id=\"PDFfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #pdfUploadButton\n />\n <svg\n class=\"doc-svg\"\n version=\"1.1\"\n id=\"Layer_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 64 64\"\n style=\"enable-background: new 0 0 64 64\"\n xml:space=\"preserve\"\n >\n <style type=\"text/css\">\n .pd1 {\n fill: #f8f8f8;\n }\n .pd2 {\n fill: #ee3939;\n }\n .pd3 {\n fill: #f95858;\n }\n .pd4 {\n fill: #dbdbdb;\n }\n .pd5 {\n fill: #34aa44;\n }\n .pd6 {\n fill: #fafafa;\n }\n </style>\n <path\n class=\"pd1\"\n d=\"M52,16.2V58c0,1.1-0.9,2-2,2H14c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h25.9\"\n />\n <path class=\"pd2\" d=\"M52,12v12H12V6c0-1.1,0.9-2,2-2h30\" />\n <path class=\"pd3\" d=\"M44,4v6.7c0,0.7,0.6,1.3,1.3,1.3H52\" />\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,30.1H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,30.1,46.2,30.1z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,34.5H17.9c-0.6,0-1-0.4-1-1c0-0.6,0.4-1,1-1h28.3c0.6,0,1,0.4,1,1C47.2,34.1,46.8,34.5,46.2,34.5z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,39H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,39,46.2,39z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,43.4H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,43.4,46.2,43.4z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,47.8H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,47.8,46.2,47.8z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,52.2H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,52.2,46.2,52.2z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,56.6H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,56.6,46.2,56.6z\"\n />\n </g>\n <g>\n <path\n class=\"pd1\"\n d=\"M26.2,16.2v2.1h-1.1v-5.6h2.1c0.7,0,1.2,0.2,1.5,0.5c0.3,0.3,0.5,0.8,0.5,1.3c0,0.5-0.2,1-0.5,1.3\n c-0.3,0.3-0.8,0.5-1.5,0.5H26.2z M28,14.4c0-0.3-0.1-0.5-0.2-0.6c-0.2-0.1-0.4-0.2-0.8-0.2h-0.8v1.7H27C27.7,15.2,28,15,28,14.4z\"\n />\n <path\n class=\"pd1\"\n d=\"M34.5,16.9c-0.2,0.4-0.6,0.8-1,1s-1,0.4-1.6,0.4h-2v-5.6h2c0.6,0,1.1,0.1,1.6,0.3c0.4,0.2,0.8,0.6,1,1\n c0.2,0.4,0.4,0.9,0.4,1.5C34.8,16,34.7,16.5,34.5,16.9z M33.2,16.8c0.3-0.3,0.5-0.8,0.5-1.3c0-0.6-0.2-1-0.5-1.4\n c-0.3-0.3-0.8-0.5-1.4-0.5H31v3.7h0.8C32.4,17.2,32.9,17.1,33.2,16.8z\"\n />\n <path\n class=\"pd1\"\n d=\"M39.2,12.6v0.9h-2.4V15h1.9v0.9h-1.9v2.4h-1.1v-5.6H39.2z\"\n />\n </g>\n <path\n class=\"pd5\"\n d=\"M32,33.1c-5.2,0-9.4,4.2-9.4,9.4s4.2,9.4,9.4,9.4s9.4-4.2,9.4-9.4C41.4,37.3,37.2,33.2,32,33.1z\"\n />\n <path\n class=\"pd6\"\n d=\"M38,41.8l-5.7-5.7c-0.2-0.2-0.4-0.2-0.6,0L26,41.8c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.2,0.2,0.4,0.4,0.4h2.9v6.1\n c0,0.2,0.2,0.4,0.4,0.4h4.9c0.2,0,0.4-0.2,0.4-0.4v-6.1h2.9c0.2,0,0.3-0.1,0.4-0.3C38.1,42.1,38.1,42,38,41.8z\"\n />\n </svg>\n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'pdf' && filename)\"\n >Upload a <strong>PDF</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'pdf' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n </div>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'pdf' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n </div>\n</div>\n<div class=\"bottom-button\" [class.grayscale]=\"isTemplateOpened\">\n <button\n type=\"button\"\n (click)=\"editPolicyEmit()\"\n class=\"back\"\n [class.disabled]=\"isTemplateOpened\"\n >\n <i class=\"icons\">&#xe91d;</i> Back\n </button>\n <button\n type=\"button\"\n (click)=\"editor(selectedDocumentType)\"\n class=\"next\"\n [class.disabled]=\"!selectedDocumentType || isTemplateOpened\"\n >\n Next <i class=\"icons\">&#xe91e;</i>\n </button>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .document-section{display:flex;align-items:center;height:calc(100vh - 50px);position:absolute;top:0;right:0;background:#fff;z-index:10;padding:50px;width:100%;overflow:hidden;overflow-y:scroll}@media screen and (max-width: 1365px){::ng-deep .document-section{align-items:unset}}::ng-deep .document-section.grayscale{filter:grayscale(1)!important;pointer-events:none!important}::ng-deep .document-section-inner .message-box{background:#fbfbfb;border-radius:4px;border:1px solid #f1f1f1;padding:16px 8px 12px 16px;margin-bottom:20px;display:flex;align-items:flex-start}::ng-deep .document-section-inner .message-box svg{background:#fff;width:33px;min-width:33px;border-radius:4px;box-shadow:0 3px 6px #1e5dd333;margin-right:12px;padding:4px}::ng-deep .document-section-inner .message-box p{font-size:12px;font-weight:500;color:#747576;margin:0}::ng-deep .document-section-inner .document-box{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border:1px solid #dbdbdb;border-radius:4px;width:100%;background:transparent;height:100px;margin-bottom:8px}::ng-deep .document-section-inner .document-box.error{border:1px solid #dbdbdb}::ng-deep .document-section-inner .document-box input{width:100%;position:absolute;inset:0;margin:0;padding:0;z-index:1;opacity:0;height:100%;pointer-events:none}::ng-deep .document-section-inner .document-box svg.doc-svg{width:82px}::ng-deep .document-section-inner .document-box .label-right{width:calc(100% - 82px);display:flex;align-items:center;justify-content:center;position:relative}::ng-deep .document-section-inner .document-box .label-right .value{font-size:16px;line-height:24px;color:#747576;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word;width:250px;margin-right:35px;text-align:center}::ng-deep .document-section-inner .document-box .label-right .value strong{font-weight:500}::ng-deep .document-section-inner .document-box .label-right .error-msg-text{color:#d93b41;font-size:10px;position:absolute;top:28px;left:0;right:0;text-align:center;width:250px}::ng-deep .document-section-inner .document-box .label-right .check-circle{display:none;width:32px;height:32px;position:absolute;right:14px;top:-3px}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-right:10px;position:static}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .document-section-inner .document-box .label-right .error-icon{color:#d93b41;font-size:32px;position:relative;top:-4px;right:14px}::ng-deep .document-section-inner .document-box.active{background:#eefcf0;border:1px solid #34aa44}::ng-deep .document-section-inner .document-box.active .label-right .check-circle{display:block}::ng-deep .document-section-inner .document-box.error{background:#ffeaea;border:1px solid #d93b41}.bottom-button{background:#fff;display:flex;align-items:center;position:absolute;bottom:0;right:0;width:100%;z-index:10}.bottom-button button{background:#1e5dd3;border:none;border-radius:0;color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;width:100%;padding:0;position:relative;margin:0!important;height:50px;display:flex;align-items:center;justify-content:center;line-height:19px;letter-spacing:3.08px;outline:none}.bottom-button button i{position:absolute;top:16px;font-size:18px;font-weight:500}.bottom-button button.next i{right:16px}.bottom-button button.disabled{pointer-events:none!important;opacity:.3!important;filter:grayscale(1)!important}.bottom-button button.back{background:#f1f1f1;color:#1e5dd3}.bottom-button button.back i{left:16px}.line-progress{position:absolute;left:0;top:0;height:2px;display:block;width:100%;background-color:#d4e2fc;background-clip:padding-box;overflow:hidden}.line-progress-bar{bottom:0;width:40%;background:#34aa44;border-radius:5px;display:inline-block;position:absolute;animation:linear infinite;animation-name:run;animation-duration:1s;top:0}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}@keyframes run{0%{left:0}50%{left:60%}to{left:0}}\n"] }]
206
- }], ctorParameters: function () { return [{ type: i1.SnackBarService }, { type: i2.PolicyService }, { type: i3.Router }, { type: i3.ActivatedRoute }, { type: i4.PlatformLocation }, { type: i5.IframeService }]; }, propDecorators: { selectedDocumentType: [{
234
+ args: [{ selector: 'lib-document-section', template: "<div class=\"document-section\" [class.grayscale]=\"isTemplateOpened\">\n <div class=\"document-section-inner\">\n <div class=\"message-box\">\n <svg\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 480.8 480.8\"\n style=\"enable-background: new 0 0 480.8 480.8\"\n xml:space=\"preserve\"\n >\n <path\n style=\"fill: #ffd517\"\n d=\"M317.112,314.4c-22.4,22.4-19.6,67.6-19.6,67.6h-113.6c0,0,2.4-45.2-19.6-67.6\n c-24.4-21.6-40-52.8-40-87.6c0-64,52-116,116-116s116,52,116,116C356.312,261.6,341.112,292.8,317.112,314.4L317.112,314.4z\"\n />\n <g>\n <path\n style=\"fill: #e5e5e5\"\n d=\"M300.712,417.6c0,6-4.8,10.8-10.8,10.8h-98.8c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h98.4C295.512,406.8,300.712,411.6,300.712,417.6L300.712,417.6z\"\n />\n <path\n style=\"fill: #e5e5e5\"\n d=\"M285.912,462.4c0,6-4.8,10.8-10.8,10.8h-69.2c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h69.2C281.112,451.6,285.912,456.4,285.912,462.4L285.912,462.4z\"\n />\n </g>\n <g>\n <path\n style=\"fill: #210b20\"\n d=\"M323.112,318.4c26-23.6,40.8-56.8,40.8-91.6c0-68-55.6-123.6-123.6-123.6s-123.6,55.6-123.6,123.6\n c0,35.6,15.6,69.6,42,92.8c19.6,19.6,17.6,61.2,17.6,61.6c0,2,0.8,4,2,5.6c1.6,1.6,3.6,2.4,5.6,2.4h113.2c2,0,4-0.8,5.6-2.4\n s2-3.6,2-5.6c0-0.4-2-42,17.6-61.6C322.712,319.2,323.112,318.8,323.112,318.4z M311.912,308.4c-0.8,0.4-1.2,1.2-1.6,2\n c-17.6,18.8-20.4,49.6-20.8,64h-98c-0.4-14.8-3.6-46.8-22.4-65.6c-23.6-20.8-37.2-50.4-37.2-81.6c0-60,48.8-108.4,108.4-108.4\n c60,0,108.4,48.8,108.4,108.4C348.712,258,335.512,288,311.912,308.4z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M240.312,135.2c-4,0-7.6,3.2-7.6,7.6c0,4,3.2,7.6,7.6,7.6c44.8,0,81.2,36.4,81.2,81.2\n c0,4,3.2,7.6,7.6,7.6c4,0,7.6-3.2,7.6-7.6C336.712,178.4,293.512,135.2,240.312,135.2z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M308.312,417.6c0-10.4-8.4-18.4-18.4-18.4h-98.8c-10.4,0-18.4,8.4-18.4,18.4\n c0,10.4,8.4,18.4,18.4,18.4h98.4C299.912,436,308.312,428,308.312,417.6z M289.512,420.8h-98.4c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h98.4c2,0,3.2,1.6,3.2,3.2C293.112,419.6,291.512,420.8,289.512,420.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M275.112,444h-69.2c-10.4,0-18.4,8.4-18.4,18.4c0,10.4,8.4,18.4,18.4,18.4h69.2\n c10.4,0,18.4-8.4,18.4-18.4C293.512,452.4,285.112,444,275.112,444z M275.112,465.6h-69.2c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h69.2c2,0,3.2,1.6,3.2,3.2C278.312,464.4,277.112,465.6,275.112,465.6z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M247.912,58.8V7.6c0-4-3.2-7.6-7.6-7.6c-4,0-7.6,3.2-7.6,7.6v51.6c0,4,3.2,7.6,7.6,7.6\n C244.712,66.4,247.912,63.2,247.912,58.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M366.312,38c-3.6-2.4-8-1.2-10.4,2l-28.4,42.8c-2.4,3.6-1.2,8,2,10.4c1.2,0.8,2.8,1.2,4,1.2\n c2.4,0,4.8-1.2,6.4-3.2l28.4-42.8C370.712,45.2,369.512,40.4,366.312,38z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M149.912,92.8c1.2,0,2.8-0.4,4-1.2c3.6-2.4,4.4-6.8,2.4-10.4l-27.6-43.2c-2.4-3.6-6.8-4.4-10.4-2.4\n c-3.6,2.4-4.4,6.8-2.4,10.4l27.6,43.2C145.112,91.6,147.512,92.8,149.912,92.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M43.912,128.8l45.2,24.4c1.2,0.8,2.4,0.8,3.6,0.8c2.8,0,5.2-1.6,6.8-4c2-3.6,0.8-8.4-3.2-10.4\n l-45.2-24.4c-3.6-2-8.4-0.8-10.4,3.2C39.112,122.4,40.312,126.8,43.912,128.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M387.912,154.4c1.2,0,2.4-0.4,3.6-0.8l45.2-24.4c3.6-2,5.2-6.4,3.2-10.4c-2-3.6-6.4-5.2-10.4-3.2\n l-45.2,24.4c-3.6,2-5.2,6.4-3.2,10.4C382.312,152.8,385.112,154.4,387.912,154.4z\"\n />\n </g>\n </svg>\n <p>\n There are multiple ways to create a policy on VComply. You can either\n draft it from scratch using VComply's online editor or upload an\n existing DOCX or PDF file.\n </p>\n </div>\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType == 'draft'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('draft')\"\n [checked]=\"selectedDocumentType === 'draft'\"\n />\n <svg id=\"Draft\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20402\" data-name=\"Path 20402\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#565a6f\"/>\n <path id=\"Path_20403\" data-name=\"Path 20403\" d=\"M21.884,8.51,10.549,10.384,12.426,21.06l4.38-.61a.333.333,0,0,1,.326.435c-.051.219-.338.235-.514.267-1.474.266-3.009.388-4.491.631-.416-.032-.321-.718-.441-1l-3-.365c-.213-.12-.2-.273-.2-.492.019-.622.092-1.251.125-1.872.16-3,.316-6,.5-8.993A9.457,9.457,0,0,1,9.152,8.1a.369.369,0,0,1,.265-.3l8.519.681L22.2,7.8c.225.068.246.19.3.393.553,2.288.758,4.775,1.285,7.083.143.531-.507.731-.642.2ZM17.211,21.932a.563.563,0,0,0-.072.24,8.549,8.549,0,0,0,0,1.187c.019.217.088.393.328.421a9.138,9.138,0,0,0,1.448-.021.53.53,0,0,0,.122-.065l3.756-3.771L21,18.13Zm5.329-5.35c-.365.286-.7.757-1.061,1.062L23.3,19.437c.3-.35.777-.687,1.05-1.044.15-.2.174-.312.017-.516a13.851,13.851,0,0,0-1.327-1.327.393.393,0,0,0-.23-.1.476.476,0,0,0-.271.13\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\"><strong>Create</strong> a Policy</div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\">&#xea46;</i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n </div>\n </label>\n\n \n <label\n *ngIf=\"ff_policy_ms_word_integration\"\n class=\"document-box\"\n [class.active]=\"selectedDocumentType == 'word'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('word')\"\n [checked]=\"selectedDocumentType === 'word'\"\n />\n <svg id=\"Word-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20404\" data-name=\"Path 20404\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#1e5dd3\"/>\n <path id=\"Path_20405\" data-name=\"Path 20405\" d=\"M10.419,9.718l1.889,9.121L12.44,20l.132-.885,2.152-9.4,2.626.018,2.187,9.106.174,1.132a13.4,13.4,0,0,1,.174-1.352c.5-2.954,1.188-5.88,1.7-8.832l.04-.07H24L21.085,22.281l-2.818-.026L15.931,12.22l-.16,1.077-2.015,8.986-2.829-.028L8,9.718Z\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">{{createWordPolicyText}}</div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\">&#xea46;</i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n </div>\n </label>\n\n\n\n <label\n class=\"document-box\"\n *ngIf=\"showDocxBlock\"\n [class.active]=\"selectedDocumentType == 'docx' && !docxError?.visible\"\n [class.error]=\"docxError?.visible\"\n >\n <input\n type=\"file\"\n accept=\".docx\"\n id=\"DOCfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #docxUploadButton\n />\n <svg id=\"Word-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20404\" data-name=\"Path 20404\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#1e5dd3\"/>\n <path id=\"Path_20405\" data-name=\"Path 20405\" d=\"M10.419,9.718l1.889,9.121L12.44,20l.132-.885,2.152-9.4,2.626.018,2.187,9.106.174,1.132a13.4,13.4,0,0,1,.174-1.352c.5-2.954,1.188-5.88,1.7-8.832l.04-.07H24L21.085,22.281l-2.818-.026L15.931,12.22l-.16,1.077-2.015,8.986-2.829-.028L8,9.718Z\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'docx' && filename)\"\n >Upload a <strong>DOCX</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'docx' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <div class=\"error-msg-text\" *ngIf=\"docxError?.visible\">\n {{ docxError?.message }}\n </div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\">&#xea97;</i>\n <div class=\"check-circle\" *ngIf=\"!docxError?.visible\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <i class=\"icons error-icon\" *ngIf=\"docxError?.visible\">&#xe914;</i>\n </div>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'docx' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n <label\n class=\"document-box\"\n *ngIf=\"showPdfBlock\"\n [class.active]=\"selectedDocumentType == 'pdf'\"\n >\n <input\n type=\"file\"\n accept=\".pdf\"\n id=\"PDFfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #pdfUploadButton\n />\n <svg id=\"PDF-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20408\" data-name=\"Path 20408\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#a82a1d\"/>\n <path id=\"Path_20409\" data-name=\"Path 20409\" d=\"M16.125,13.778A1.39,1.39,0,0,0,16.285,15a16.106,16.106,0,0,0,2.106,2.554c.312-.045.6-.047,1.2-.092a6.964,6.964,0,0,1,3.616.239,1.31,1.31,0,0,1,.784,1.361,1.176,1.176,0,0,1-1.075.981c-2.224.336-3.305-.9-4.579-1.746a2.094,2.094,0,0,0-.812.021,25.782,25.782,0,0,0-3.412.916c-.253.089-.338.3-.533.609a11.062,11.062,0,0,1-2.82,3.427,2.145,2.145,0,0,1-1.861.445c-1-.222-1.178-1.182-.5-1.942A9.452,9.452,0,0,1,10,20.462a14.714,14.714,0,0,1,2.418-1.109c.491-.461.556-.686.966-1.764.431-1.136.922-2.25,1.324-3.4a1.679,1.679,0,0,0-.035-1.062,7.7,7.7,0,0,1-.638-3.476,1.4,1.4,0,0,1,.959-1.393,1.279,1.279,0,0,1,1.464.8c.2.479.552,1.75-.331,4.728m-.377,1.377-1.418,3.422,3.353-.883-1.935-2.539m3.222,2.882A4.5,4.5,0,0,0,21.92,19.37c.377,0,.714-.131.733-.6.051-1.251-2.656-.864-3.682-.73m-6.96,2.037a9.788,9.788,0,0,0-2.975,1.8c-.218.171-.446.718-.282.984s.81.067,1-.12a9.29,9.29,0,0,0,2.253-2.664m3.246-7.243c-.045-.878.461-2.172.437-3.224-.008-.355-.051-.747-.5-.772-.364-.02-.534.476-.569.762a5.8,5.8,0,0,0,.636,3.234\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'pdf' && filename)\"\n >Upload a <strong>PDF</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'pdf' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\">&#xea97;</i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n </div>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'pdf' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n <!-- Select a template -->\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType === 'template'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('template')\"\n [checked]=\"selectedDocumentType === 'template'\"\n />\n <svg id=\"TMP-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20406\" data-name=\"Path 20406\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#34aa44\"/>\n <path id=\"Path_20410\" data-name=\"Path 20410\" d=\"M16,1.778V3.555H0V1.778A1.783,1.783,0,0,1,1.778,0H14.223A1.783,1.783,0,0,1,16,1.778M0,4.444H16v8.889a1.778,1.778,0,0,1-1.777,1.778H1.778A1.778,1.778,0,0,1,0,13.333ZM6.99,9.928A.891.891,0,0,0,6.1,9.039H3.642a.891.891,0,0,0-.888.889v2.456a.891.891,0,0,0,.888.889H6.1a.891.891,0,0,0,.888-.889Zm6.306,0a.892.892,0,0,0-.889-.889H9.948a.891.891,0,0,0-.888.889v2.456a.891.891,0,0,0,.888.889h2.459a.892.892,0,0,0,.889-.889ZM2.667,7.111A.889.889,0,0,0,3.556,8h8.889a.889.889,0,0,0,0-1.778H3.556a.889.889,0,0,0-.889.889\" transform=\"translate(8 7.999)\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">Draft Using a <strong>Template</strong></div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\">&#xea46;</i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n </div>\n </label>\n <!-- End Select a template -->\n <app-loader-inline *ngIf=\"isLoader\"></app-loader-inline>\n </div>\n</div>\n<div class=\"bottom-button\" [class.grayscale]=\"isTemplateOpened\">\n <button\n type=\"button\"\n (click)=\"editPolicyEmit()\"\n class=\"back\"\n [class.disabled]=\"isTemplateOpened\"\n >\n <i class=\"icons\">&#xe91d;</i> Back\n </button>\n <button\n type=\"button\"\n (click)=\"editor(selectedDocumentType)\"\n class=\"next\"\n [class.disabled]=\"!selectedDocumentType || isTemplateOpened || isLoader\"\n >\n Next <i class=\"icons\">&#xe91e;</i>\n </button>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .document-section{display:flex;align-items:center;height:calc(100vh - 50px);position:absolute;top:0;right:0;background:#fff;z-index:10;padding:50px;width:100%;overflow:hidden;overflow-y:scroll}@media screen and (max-width: 1365px){::ng-deep .document-section{align-items:unset}}::ng-deep .document-section.grayscale{filter:grayscale(1)!important;pointer-events:none!important}::ng-deep .document-section-inner .message-box{background:#fbfbfb;border-radius:4px;border:1px solid #f1f1f1;padding:16px 8px 12px 16px;margin-bottom:20px;display:flex;align-items:flex-start}::ng-deep .document-section-inner .message-box svg{background:#fff;width:33px;min-width:33px;border-radius:4px;box-shadow:0 3px 6px #1e5dd333;margin-right:12px;padding:4px}::ng-deep .document-section-inner .message-box p{font-size:12px;font-weight:500;color:#787a8c;margin:0}::ng-deep .document-section-inner .document-box{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border:1px solid #CDCED6;border-radius:8px;width:100%;background:transparent;height:64px;padding:0 16px;margin-bottom:8px}::ng-deep .document-section-inner .document-box.error{border:1px solid #dbdbdb}::ng-deep .document-section-inner .document-box input{width:100%;position:absolute;inset:0;margin:0;padding:0;z-index:1;opacity:0;height:100%;pointer-events:none}::ng-deep .document-section-inner .document-box svg.doc-svg{width:82px}::ng-deep .document-section-inner .document-box .label-right{width:calc(100% - 64px);display:flex;align-items:center;justify-content:center;position:relative}::ng-deep .document-section-inner .document-box .label-right .value{font-size:16px;font-weight:500;line-height:24px;color:#000;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word;width:270px;margin-right:25px}::ng-deep .document-section-inner .document-box .label-right .value strong{font-weight:500}::ng-deep .document-section-inner .document-box .label-right .error-msg-text{color:#d93b41;font-size:10px;position:absolute;top:24px;left:0;right:0;width:250px}::ng-deep .document-section-inner .document-box .label-right .check-circle{display:none;width:16px;height:16px;position:absolute;right:8px;top:2px}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon{width:16px;height:16px;background:#ddf4e0;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-right:10px;position:static}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .document-section-inner .document-box .label-right .error-icon{color:#d93b41;font-size:16px;position:relative;top:0;right:8px}::ng-deep .document-section-inner .document-box.active{background:#ddf4e0;border:1px solid #B7E2BD}::ng-deep .document-section-inner .document-box.active .document-box-icon{display:none}::ng-deep .document-section-inner .document-box.active .label-right .check-circle{display:block}::ng-deep .document-section-inner .document-box.error{background:#ffeaea;border:1px solid #d93b41}::ng-deep .document-section-inner .document-box-icon{color:#565a6f}.bottom-button{background:#fff;display:flex;align-items:center;position:absolute;bottom:0;right:0;width:100%;z-index:10}.bottom-button button{background:#1e5dd3;border:none;border-radius:0;color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;width:100%;padding:0;position:relative;margin:0!important;height:50px;display:flex;align-items:center;justify-content:center;line-height:19px;letter-spacing:3.08px;outline:none}.bottom-button button i{position:absolute;top:16px;font-size:18px;font-weight:500}.bottom-button button.next i{right:16px}.bottom-button button.disabled{pointer-events:none!important;opacity:.3!important;filter:grayscale(1)!important}.bottom-button button.back{background:#f1f1f1;color:#1e5dd3}.bottom-button button.back i{left:16px}.line-progress{position:absolute;left:0;top:0;height:2px;display:block;width:100%;background-color:#d4e2fc;background-clip:padding-box;overflow:hidden}.line-progress-bar{bottom:0;width:40%;background:#34aa44;border-radius:5px;display:inline-block;position:absolute;animation:linear infinite;animation-name:run;animation-duration:1s;top:0}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}@keyframes run{0%{left:0}50%{left:60%}to{left:0}}\n"] }]
235
+ }], ctorParameters: function () { return [{ type: i1.SnackBarService }, { type: i2.PolicyService }, { type: i3.PolicyAPIService }, { type: i4.Router }, { type: i4.ActivatedRoute }, { type: i5.PlatformLocation }, { type: i6.IframeService }]; }, propDecorators: { selectedDocumentType: [{
236
+ type: Input
237
+ }], feature: [{
207
238
  type: Input
208
239
  }], templateView: [{
209
240
  type: Input
@@ -228,4 +259,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
228
259
  }], openTemplate: [{
229
260
  type: Output
230
261
  }] } });
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2RvY3VtZW50LXNlY3Rpb24vZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2RvY3VtZW50LXNlY3Rpb24vZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBVXZCLE1BQU0sT0FBTyx3QkFBd0I7SUE0Qm5DLFlBQ1UsUUFBeUIsRUFDekIsYUFBNEIsRUFDNUIsTUFBYyxFQUNkLEtBQXFCLEVBQzdCLGdCQUFrQyxFQUMxQixhQUE0QjtRQUw1QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFFckIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFoQ3RDLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsUUFBRyxHQUFHLEtBQUssQ0FBQztRQUNaLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxRQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ1osZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNSLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMxQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixhQUFRLEdB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O0lBQ0QsY0FBYztRQUNaLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDL0IsWUFBWSxDQUFDLE9BQU8sQ0FDbEIscUJBQXFCLEVBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUMvQixJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQXZPVSx3QkFBd0I7bUdBQXhCLHdCQUF3QixrZUNuQnJDLHM1NUJBMHhCQTs7NEZEdndCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCOytPQWF2QixvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXRmb3JtTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XG5pbXBvcnQgeyBQb2xpY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcG9saWN5LnNlcnZpY2UnO1xuaW1wb3J0IHsgSWZyYW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2lmcmFtZS5zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1kb2N1bWVudC1zZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudC1zZWN0aW9uLmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvY3VtZW50U2VjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBmaWxlVG9VcGxvYWQ6IGFueTtcbiAgZmlsZW5hbWUgPSAnJztcbiAgZmlsZVR5cGUgPSAnJztcbiAgcGRmID0gZmFsc2U7XG4gIGRyYWZ0ID0gZmFsc2U7XG4gIGRvYyA9IGZhbHNlO1xuICBpc1VwbG9hZGluZyA9IGZhbHNlO1xuICBpc0xvYWRlciA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWxlY3RlZERvY3VtZW50VHlwZSA9ICcnO1xuICBASW5wdXQoKSB0ZW1wbGF0ZVZpZXcgPSBmYWxzZTtcbiAgQElucHV0KCkgcG9saWN5SWQ6IGFueSA9ICcnO1xuICBASW5wdXQoKSBwb2xpY3lOYW1lOiBhbnkgPSAnJztcbiAgQElucHV0KCkgb3JnYW5pemF0aW9uX2lkOiBhbnkgPSAnJztcbiAgQElucHV0KCkgbWVtYmVyX29ial9pZDogYW55O1xuICBASW5wdXQoKSB1c2VySW5mbzogYW55O1xuICBASW5wdXQoKSB0ZW1wbGF0ZVVybDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGlzVGVtcGxhdGVPcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIGRpc2Nvbm5lY3RSZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZWRpdFBvbGljeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9wZW5UZW1wbGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBiYXNlVVJMID0gJyc7XG4gIGRvY3hFcnJvciA9IHtcbiAgICB2aXNpYmxlOiBmYWxzZSxcbiAgICBtZXNzYWdlOiAnJyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNuYWNrQmFyOiBTbmFja0JhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb2xpY3lTZXJ2aWNlOiBQb2xpY3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcGxhdGZvcm1Mb2NhdGlvbjogUGxhdGZvcm1Mb2NhdGlvbixcbiAgICBwcml2YXRlIGlmcmFtZVNlcnZpY2U6IElmcmFtZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5iYXNlVVJMID0gbG9jYXRpb24/Lm9yaWdpbjtcbiAgICBpZiAodGhpcy5iYXNlVVJMID09ICdodHRwOi8vbG9jYWxob3N0OjQyMDAnKSB7XG4gICAgICB0aGlzLmJhc2VVUkwgPSAnaHR0cHM6Ly9kZXYudi1jb21wbHkuY29tJztcbiAgICB9XG4gIH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzPy50ZW1wbGF0ZVZpZXc/LmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGUgPSAnJztcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShcbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYXN0RmlsZU5hbWVBbmRUeXBlJykgPz8gJ1wie31cIidcbiAgICApO1xuICAgIGlmIChcbiAgICAgIGRhdGEubmFtZSAhPT0gbnVsbCAmJlxuICAgICAgZGF0YS5uYW1lICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGRhdGEudHlwZSAhPT0gbnVsbCAmJlxuICAgICAgZGF0YS50eXBlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGRhdGEucG9saWN5SWQgPT0gdGhpcy5wb2xpY3lJZFxuICAgICkge1xuICAgICAgdGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZSA9IGRhdGEudHlwZTtcbiAgICAgIHRoaXMuZmlsZW5hbWUgPSBkYXRhLm5hbWU7XG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnbGFzdEZpbGVOYW1lQW5kVHlwZScpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUZpbGVJbnB1dChmaWxlczogRmlsZUxpc3QpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVUb1VwbG9hZCA9IGZpbGVzWzBdO1xuICAgIHRoaXMuZmlsZW5hbWUgPSB0aGlzLmZpbGVUb1VwbG9hZC5uYW1lO1xuICAgIHRoaXMuZmlsZVR5cGUgPSB0aGlzLmZpbGVUb1VwbG9hZC5uYW1lXG4gICAgICAuc2xpY2UoXG4gICAgICAgIHRoaXMuZmlsZVRvVXBsb2FkLm5hbWUubGFzdEluZGV4T2YoJy4nKSArIDEsXG4gICAgICAgIHRoaXMuZmlsZVRvVXBsb2FkLm5hbWUubGVuZ3RoXG4gICAgICApXG4gICAgICAudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAodGhpcy5maWxlVHlwZSA9PT0gJ3BkZicpIHtcbiAgICAgIHRoaXMudXBsb2FkRmlsZSh7IGZpbGU6IHRoaXMuZmlsZVRvVXBsb2FkLCBmaWxlVHlwZTogdGhpcy5maWxlVHlwZSB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmlsZVR5cGUgPT09ICdkb2N4Jykge1xuICAgICAgdGhpcy51cGxvYWRGaWxlKHsgZmlsZTogdGhpcy5maWxlVG9VcGxvYWQsIGZpbGVUeXBlOiB0aGlzLmZpbGVUeXBlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNuYWNrQmFyLnNob3coJ1BsZWFzZSB1cGxvYWQgYSB2YWxpZCBmaWxlJywgJ2FsZXJ0Jyk7XG4gICAgfVxuICB9XG4gIHNob3dQZGZCbG9jayA9IHRydWU7XG4gIHNob3dEb2N4QmxvY2sgPSB0cnVlO1xuXG4gIHVwbG9hZEZpbGUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuaXNVcGxvYWRpbmcgPSB0cnVlO1xuICAgIGlmIChldmVudC5maWxlVHlwZSA9PT0gJ2RvY3gnKSB7XG4gICAgICB0aGlzLmNoYW5nZURvY1R5cGUoJ2RvY3gnKTtcbiAgICAgIHRoaXMudXBsb2FkRG9jeGZpbGUoZXZlbnQpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuZmlsZVR5cGUgPT09ICdwZGYnKSB7XG4gICAgICB0aGlzLmNoYW5nZURvY1R5cGUoJ3BkZicpO1xuICAgICAgdGhpcy5zaG93UGRmQmxvY2sgPSBmYWxzZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnNob3dQZGZCbG9jayA9IHRydWU7XG4gICAgICB9LCAxMCk7XG4gICAgICBjb25zdCB1cGxvYWREYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICB1cGxvYWREYXRhLmFwcGVuZCgnZmlsZScsIGV2ZW50LmZpbGUpO1xuICAgICAgY29uc3QgcGF0aCA9ICdvLycgKyB0aGlzLm9yZ2FuaXphdGlvbl9pZCArICcvcG9saWN5Lyc7XG4gICAgICB0aGlzLnBvbGljeVNlcnZpY2UudXBsb2FkRmlsZSh1cGxvYWREYXRhLCB0aGlzLnBvbGljeUlkLCBwYXRoKS5zdWJzY3JpYmUoXG4gICAgICAgIChyZXMpID0+IHtcbiAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICB0aGlzLmlzVXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuc25hY2tCYXIuc2hvdyhcbiAgICAgICAgICAgIFwiT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHdlIHdlcmUgdW5hYmxlIHRvIGNvbXBsZXRlIHRoaXMgYWN0aW9uLiBMZXQncyBnaXZlIGl0IGFub3RoZXIgdHJ5LCBzaGFsbCB3ZT9cIixcbiAgICAgICAgICAgICdhbGVydCdcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHVwbG9hZERvY3hmaWxlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnJlc2V0RG9jc0Vycm9yKCk7XG4gICAgdGhpcy5zaG93RG9jeEJsb2NrID0gZmFsc2U7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNob3dEb2N4QmxvY2sgPSB0cnVlO1xuICAgIH0sIDEwKTtcbiAgICBjb25zdCB1cGxvYWREYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgdXBsb2FkRGF0YS5hcHBlbmQoJ2ZpbGUnLCBldmVudC5maWxlKTtcbiAgICBjb25zdCBwYXRoID0gJ28vJyArIHRoaXMub3JnYW5pemF0aW9uX2lkICsgJy9wb2xpY3kvJztcbiAgICB0aGlzLnBvbGljeVNlcnZpY2VcbiAgICAgIC51cGxvYWREb2N4RmlsZSh1cGxvYWREYXRhLCB0aGlzLnBvbGljeUlkLCBwYXRoKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKHJlcz8ubWVzc2FnZT8uaW5jbHVkZXMoJ2RvbmUnKSkge1xuICAgICAgICAgICAgICB0aGlzLnJlc2V0RG9jc0Vycm9yKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpZiAocmVzLm1lc3NhZ2U/LmluY2x1ZGVzKCdSYW5nZUVycm9yJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3hFcnJvciA9IHtcbiAgICAgICAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICBtZXNzYWdlOiAnVGhlIGZpbGUgc2l6ZSBpcyB0b28gbGFyZ2UgYW5kIGNhbm5vdCBiZSB1cGxvYWRlZC4nLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb2N4RXJyb3IgPSB7XG4gICAgICAgICAgICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ09vcHMhIEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHVwbG9hZGluZyB0aGlzIGZpbGUuJyxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgdGhpcy5zbmFja0Jhci5zaG93KFxuICAgICAgICAgICAgXCJPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgd2Ugd2VyZSB1bmFibGUgdG8gY29tcGxldGUgdGhpcyBhY3Rpb24uIExldCdzIGdpdmUgaXQgYW5vdGhlciB0cnksIHNoYWxsIHdlP1wiLFxuICAgICAgICAgICAgJ2FsZXJ0J1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICByZXNldERvY3NFcnJvcigpIHtcbiAgICB0aGlzLmRvY3hFcnJvciA9IHtcbiAgICAgIHZpc2libGU6IGZhbHNlLFxuICAgICAgbWVzc2FnZTogJycsXG4gICAgfTtcbiAgfVxuXG4gIGNoYW5nZURvY1R5cGUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucmVzZXREb2NzRXJyb3IoKTtcbiAgICB0aGlzLnNlbGVjdGVkRG9jdW1lbnRUeXBlID0gZXZlbnQ7XG4gICAgaWYgKGV2ZW50ID09PSAndGVtcGxhdGUnKSB7XG4gICAgICB0aGlzLm9wZW5UZW1wbGF0ZUxpc3QoKTtcbiAgICB9XG4gIH1cblxuICBlZGl0b3IoZXZlbnQ6IHN0cmluZykge1xuICAgIHRoaXMuZGlzY29ubmVjdFJlZnJlc2guZW1pdChmYWxzZSk7XG5cbiAgICBpZiAoZXZlbnQgPT09ICdkcmFmdCcpIHtcbiAgICAgIC8vIElmIGl0IGlzIGEgZHJhZnQgZ28gZGlyZWN0bHkgdG8gdGhlIGVkaXRvclxuICAgICAgY29uc3QgdW5hbWUgPSB0aGlzLnVzZXJJbmZvID8gdGhpcy51c2VySW5mby5uYW1lIDogJyc7XG4gICAgICBjb25zdCB1aWQgPSB0aGlzLm1lbWJlcl9vYmpfaWQ7XG4gICAgICBjb25zdCBuYW1lID0gdGhpcy5wb2xpY3lOYW1lLnRyaW0oKTtcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5wb2xpY3lJZDtcbiAgICAgIHRoaXMuaXNMb2FkZXIgPSB0cnVlO1xuICAgICAgdGhpcy5wb2xpY3lTZXJ2aWNlXG4gICAgICAgIC5zYXZlUG9saWN5RGV0YWlscyh1bmFtZSwgdWlkLCBpZCwgbmFtZSwgJycsIDApXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVyID0gZmFsc2U7XG4gICAgICAgICAgICAgIGNvbnN0IHVybCA9XG4gICAgICAgICAgICAgICAgdGhpcy5iYXNlVVJMICsgJy9hbGwvcG9saWN5L2VkaXQtcG9saWN5P2lkPScgKyB0aGlzLnBvbGljeUlkO1xuICAgICAgICAgICAgICB0aGlzLmlmcmFtZVNlcnZpY2UucmVkaXJlY3RJZkluSWZyYW1lKHVybCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGVyID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNuYWNrQmFyLnNob3coXG4gICAgICAgICAgICAgIFwiT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHdlIHdlcmUgdW5hYmxlIHRvIGNvbXBsZXRlIHRoaXMgYWN0aW9uLiBMZXQncyBnaXZlIGl0IGFub3RoZXIgdHJ5LCBzaGFsbCB3ZT9cIixcbiAgICAgICAgICAgICAgJ2FsZXJ0J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfSBlbHNlIGlmIChldmVudCA9PT0gJ2RvY3gnKSB7XG4gICAgICBjb25zdCB1cmwgPVxuICAgICAgICB0aGlzLmJhc2VVUkwgKyAnL2FsbC9wb2xpY3kvZWRpdC1wb2xpY3k/aWQ9JyArIHRoaXMucG9saWN5SWQ7XG4gICAgICB0aGlzLmlmcmFtZVNlcnZpY2UucmVkaXJlY3RJZkluSWZyYW1lKHVybCwgdHJ1ZSk7XG4gICAgfSBlbHNlIGlmIChldmVudCA9PT0gJ3BkZicpIHtcbiAgICAgIC8vIElmIGl0IGlzIGEgcGRmIHNlbmQgdG8gdGhlIHdvcmtyb29tXG4gICAgICBjb25zdCB1cmwgPVxuICAgICAgICB0aGlzLmJhc2VVUkwgKyAnL2FsbC9wb2xpY3kvd29ya3Jvb20/aWQ9JyArIHRoaXMucG9saWN5SWQ7XG4gICAgICB0aGlzLmlmcmFtZVNlcnZpY2UucmVkaXJlY3RJZkluSWZyYW1lKHVybCwgdHJ1ZSk7XG4gICAgfSBlbHNlIGlmIChldmVudCA9PT0gJ3RlbXBsYXRlJykge1xuICAgICAgdGhpcy5pZnJhbWVTZXJ2aWNlLnJlZGlyZWN0SWZJbklmcmFtZSh0aGlzLnRlbXBsYXRlVXJsLCB0cnVlKTtcbiAgICB9XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ19kSWQnLCB0aGlzLnBvbGljeUlkKTtcbiAgfVxuICBlZGl0UG9saWN5RW1pdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkRG9jdW1lbnRUeXBlID0gJyc7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICAnbGFzdEZpbGVOYW1lQW5kVHlwZScsXG4gICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHR5cGU6IHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGUsXG4gICAgICAgIG5hbWU6IHRoaXMuZmlsZW5hbWUsXG4gICAgICAgIHBvbGljeUlkOiB0aGlzLnBvbGljeUlkLFxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuZWRpdFBvbGljeS5lbWl0KCk7XG4gIH1cblxuICBvcGVuVGVtcGxhdGVMaXN0KCkge1xuICAgIHRoaXMub3BlblRlbXBsYXRlLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRvY3VtZW50LXNlY3Rpb25cIiBbY2xhc3MuZ3JheXNjYWxlXT1cImlzVGVtcGxhdGVPcGVuZWRcIj5cbiAgPGRpdiBjbGFzcz1cImRvY3VtZW50LXNlY3Rpb24taW5uZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1ib3hcIj5cbiAgICAgIDxzdmdcbiAgICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICAgIGlkPVwiQ2FwYV8xXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgICAgIHg9XCIwcHhcIlxuICAgICAgICB5PVwiMHB4XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCA0ODAuOCA0ODAuOFwiXG4gICAgICAgIHN0eWxlPVwiZW5hYmxlLWJhY2tncm91bmQ6IG5ldyAwIDAgNDgwLjggNDgwLjhcIlxuICAgICAgICB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9XCJmaWxsOiAjZmZkNTE3XCJcbiAgICAgICAgICBkPVwiTTMxNy4xMTIsMzE0LjRjLTIyLjQsMjIuNC0xOS42LDY3LjYtMTkuNiw2Ny42aC0xMTMuNmMwLDAsMi40LTQ1LjItMTkuNi02Ny42XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0yNC40LTIxLjYtNDAtNTIuOC00MC04Ny42YzAtNjQsNTItMTE2LDExNi0xMTZzMTE2LDUyLDExNiwxMTZDMzU2LjMxMiwyNjEuNiwzNDEuMTEyLDI5Mi44LDMxNy4xMTIsMzE0LjRMMzE3LjExMiwzMTQuNHpcIlxuICAgICAgICAvPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgc3R5bGU9XCJmaWxsOiAjZTVlNWU1XCJcbiAgICAgICAgICAgIGQ9XCJNMzAwLjcxMiw0MTcuNmMwLDYtNC44LDEwLjgtMTAuOCwxMC44aC05OC44Yy02LDAtMTAuOC00LjgtMTAuOC0xMC44bDAsMGMwLTYsNC44LTEwLjgsMTAuOC0xMC44XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGg5OC40QzI5NS41MTIsNDA2LjgsMzAwLjcxMiw0MTEuNiwzMDAuNzEyLDQxNy42TDMwMC43MTIsNDE3LjZ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHlsZT1cImZpbGw6ICNlNWU1ZTVcIlxuICAgICAgICAgICAgZD1cIk0yODUuOTEyLDQ2Mi40YzAsNi00LjgsMTAuOC0xMC44LDEwLjhoLTY5LjJjLTYsMC0xMC44LTQuOC0xMC44LTEwLjhsMCwwYzAtNiw0LjgtMTAuOCwxMC44LTEwLjhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaDY5LjJDMjgxLjExMiw0NTEuNiwyODUuOTEyLDQ1Ni40LDI4NS45MTIsNDYyLjRMMjg1LjkxMiw0NjIuNHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTMyMy4xMTIsMzE4LjRjMjYtMjMuNiw0MC44LTU2LjgsNDAuOC05MS42YzAtNjgtNTUuNi0xMjMuNi0xMjMuNi0xMjMuNnMtMTIzLjYsNTUuNi0xMjMuNiwxMjMuNlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMCwzNS42LDE1LjYsNjkuNiw0Miw5Mi44YzE5LjYsMTkuNiwxNy42LDYxLjIsMTcuNiw2MS42YzAsMiwwLjgsNCwyLDUuNmMxLjYsMS42LDMuNiwyLjQsNS42LDIuNGgxMTMuMmMyLDAsNC0wLjgsNS42LTIuNFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzMi0zLjYsMi01LjZjMC0wLjQtMi00MiwxNy42LTYxLjZDMzIyLjcxMiwzMTkuMiwzMjMuMTEyLDMxOC44LDMyMy4xMTIsMzE4LjR6IE0zMTEuOTEyLDMwOC40Yy0wLjgsMC40LTEuMiwxLjItMS42LDJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0xNy42LDE4LjgtMjAuNCw0OS42LTIwLjgsNjRoLTk4Yy0wLjQtMTQuOC0zLjYtNDYuOC0yMi40LTY1LjZjLTIzLjYtMjAuOC0zNy4yLTUwLjQtMzcuMi04MS42YzAtNjAsNDguOC0xMDguNCwxMDguNC0xMDguNFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjNjAsMCwxMDguNCw0OC44LDEwOC40LDEwOC40QzM0OC43MTIsMjU4LDMzNS41MTIsMjg4LDMxMS45MTIsMzA4LjR6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHlsZT1cImZpbGw6ICMyMTBiMjBcIlxuICAgICAgICAgICAgZD1cIk0yNDAuMzEyLDEzNS4yYy00LDAtNy42LDMuMi03LjYsNy42YzAsNCwzLjIsNy42LDcuNiw3LjZjNDQuOCwwLDgxLjIsMzYuNCw4MS4yLDgxLjJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzAsNCwzLjIsNy42LDcuNiw3LjZjNCwwLDcuNi0zLjIsNy42LTcuNkMzMzYuNzEyLDE3OC40LDI5My41MTIsMTM1LjIsMjQwLjMxMiwxMzUuMnpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTMwOC4zMTIsNDE3LjZjMC0xMC40LTguNC0xOC40LTE4LjQtMTguNGgtOTguOGMtMTAuNCwwLTE4LjQsOC40LTE4LjQsMTguNFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMCwxMC40LDguNCwxOC40LDE4LjQsMTguNGg5OC40QzI5OS45MTIsNDM2LDMwOC4zMTIsNDI4LDMwOC4zMTIsNDE3LjZ6IE0yODkuNTEyLDQyMC44aC05OC40Yy0yLDAtMy4yLTEuNi0zLjItMy4yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLTIsMS42LTMuMiwzLjItMy4yaDk4LjRjMiwwLDMuMiwxLjYsMy4yLDMuMkMyOTMuMTEyLDQxOS42LDI5MS41MTIsNDIwLjgsMjg5LjUxMiw0MjAuOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTI3NS4xMTIsNDQ0aC02OS4yYy0xMC40LDAtMTguNCw4LjQtMTguNCwxOC40YzAsMTAuNCw4LjQsMTguNCwxOC40LDE4LjRoNjkuMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMTAuNCwwLDE4LjQtOC40LDE4LjQtMTguNEMyOTMuNTEyLDQ1Mi40LDI4NS4xMTIsNDQ0LDI3NS4xMTIsNDQ0eiBNMjc1LjExMiw0NjUuNmgtNjkuMmMtMiwwLTMuMi0xLjYtMy4yLTMuMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMC0yLDEuNi0zLjIsMy4yLTMuMmg2OS4yYzIsMCwzLjIsMS42LDMuMiwzLjJDMjc4LjMxMiw0NjQuNCwyNzcuMTEyLDQ2NS42LDI3NS4xMTIsNDY1LjZ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHlsZT1cImZpbGw6ICMyMTBiMjBcIlxuICAgICAgICAgICAgZD1cIk0yNDcuOTEyLDU4LjhWNy42YzAtNC0zLjItNy42LTcuNi03LjZjLTQsMC03LjYsMy4yLTcuNiw3LjZ2NTEuNmMwLDQsMy4yLDcuNiw3LjYsNy42XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMyNDQuNzEyLDY2LjQsMjQ3LjkxMiw2My4yLDI0Ny45MTIsNTguOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTM2Ni4zMTIsMzhjLTMuNi0yLjQtOC0xLjItMTAuNCwybC0yOC40LDQyLjhjLTIuNCwzLjYtMS4yLDgsMiwxMC40YzEuMiwwLjgsMi44LDEuMiw0LDEuMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMi40LDAsNC44LTEuMiw2LjQtMy4ybDI4LjQtNDIuOEMzNzAuNzEyLDQ1LjIsMzY5LjUxMiw0MC40LDM2Ni4zMTIsMzh6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHlsZT1cImZpbGw6ICMyMTBiMjBcIlxuICAgICAgICAgICAgZD1cIk0xNDkuOTEyLDkyLjhjMS4yLDAsMi44LTAuNCw0LTEuMmMzLjYtMi40LDQuNC02LjgsMi40LTEwLjRsLTI3LjYtNDMuMmMtMi40LTMuNi02LjgtNC40LTEwLjQtMi40XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMtMy42LDIuNC00LjQsNi44LTIuNCwxMC40bDI3LjYsNDMuMkMxNDUuMTEyLDkxLjYsMTQ3LjUxMiw5Mi44LDE0OS45MTIsOTIuOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTQzLjkxMiwxMjguOGw0NS4yLDI0LjRjMS4yLDAuOCwyLjQsMC44LDMuNiwwLjhjMi44LDAsNS4yLTEuNiw2LjgtNGMyLTMuNiwwLjgtOC40LTMuMi0xMC40XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwtNDUuMi0yNC40Yy0zLjYtMi04LjQtMC44LTEwLjQsMy4yQzM5LjExMiwxMjIuNCw0MC4zMTIsMTI2LjgsNDMuOTEyLDEyOC44elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgc3R5bGU9XCJmaWxsOiAjMjEwYjIwXCJcbiAgICAgICAgICAgIGQ9XCJNMzg3LjkxMiwxNTQuNGMxLjIsMCwyLjQtMC40LDMuNi0wLjhsNDUuMi0yNC40YzMuNi0yLDUuMi02LjQsMy4yLTEwLjRjLTItMy42LTYuNC01LjItMTAuNC0zLjJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbC00NS4yLDI0LjRjLTMuNiwyLTUuMiw2LjQtMy4yLDEwLjRDMzgyLjMxMiwxNTIuOCwzODUuMTEyLDE1NC40LDM4Ny45MTIsMTU0LjR6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxwPlxuICAgICAgICBUaGVyZSBhcmUgbXVsdGlwbGUgd2F5cyB0byBjcmVhdGUgYSBwb2xpY3kgb24gVkNvbXBseS4gWW91IGNhbiBlaXRoZXJcbiAgICAgICAgZHJhZnQgaXQgZnJvbSBzY3JhdGNoIHVzaW5nIFZDb21wbHnigJlzIG9ubGluZSBlZGl0b3Igb3IgdXBsb2FkIGFuXG4gICAgICAgIGV4aXN0aW5nIERPQ1ggb3IgUERGIGZpbGUuXG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGxhYmVsXG4gICAgICBjbGFzcz1cImRvY3VtZW50LWJveFwiXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICdkcmFmdCdcIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBuYW1lPVwic2VsZWN0ZWREb2N1bWVudFR5cGVcIlxuICAgICAgICAoY2hhbmdlKT1cImNoYW5nZURvY1R5cGUoJ2RyYWZ0JylcIlxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZERvY3VtZW50VHlwZSA9PT0gJ2RyYWZ0J1wiXG4gICAgICAvPlxuICAgICAgPHN2Z1xuICAgICAgICBjbGFzcz1cImRvYy1zdmdcIlxuICAgICAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICAgICAgaWQ9XCJMYXllcl8xXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgICAgIHg9XCIwcHhcIlxuICAgICAgICB5PVwiMHB4XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCA2NCA2NFwiXG4gICAgICAgIHN0eWxlPVwiZW5hYmxlLWJhY2tncm91bmQ6IG5ldyAwIDAgNjQgNjRcIlxuICAgICAgICB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiXG4gICAgICA+XG4gICAgICAgIDxzdHlsZSB0eXBlPVwidGV4dC9jc3NcIj5cbiAgICAgICAgICAucDEge1xuICAgICAgICAgICAgZmlsbDogI2Y4ZjhmODtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnAyIHtcbiAgICAgICAgICAgIGZpbGw6ICM3NDc1NzY7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wMyB7XG4gICAgICAgICAgICBmaWxsOiAjYmRiZGJkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAucDQge1xuICAgICAgICAgICAgZmlsbDogI2RiZGJkYjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnA1IHtcbiAgICAgICAgICAgIGZpbGw6ICMxZTVkZDM7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wNiB7XG4gICAgICAgICAgICBmaWxsOiAjZmZmZmZmO1xuICAgICAgICAgIH1cbiAgICAgICAgPC9zdHlsZT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBjbGFzcz1cInAxXCJcbiAgICAgICAgICBkPVwiTTUyLDE2LjJWNThjMCwxLjEtMC45LDItMiwySDE0Yy0xLjEsMC0yLTAuOS0yLTJWNmMwLTEuMSwwLjktMiwyLTJoMjUuOVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxpbWFnZVxuICAgICAgICAgIHN0eWxlPVwib3ZlcmZsb3c6IHZpc2libGVcIlxuICAgICAgICAgIHdpZHRoPVwiMTkyMFwiXG4gICAgICAgICAgaGVpZ2h0PVwiMTA4MFwiXG4gICAgICAgICAgeGxpbms6aHJlZj1cIjk0Nzc4MTQ2LmpwZ1wiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgLTgxNjAgLTgxNjApXCJcbiAgICAgICAgPjwvaW1hZ2U+XG4gICAgICAgIDxwYXRoIGNsYXNzPVwicDJcIiBkPVwiTTUyLDEydjEySDEyVjZjMC0xLjEsMC45LTIsMi0yaDMwXCIgLz5cbiAgICAgICAgPHBhdGggY2xhc3M9XCJwM1wiIGQ9XCJNNDQsNHY2LjdjMCwwLjcsMC42LDEuMywxLjMsMS4zSDUyXCIgLz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicDRcIlxuICAgICAgICAgICAgZD1cIk00Ni4yLDMwLjFIMTcuOWMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMWgyOC4zYzAuNiwwLDEsMC40LDEsMVM0Ni44LDMwLjEsNDYuMiwzMC4xelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJwNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsMzQuNUgxNy45Yy0wLjYsMC0xLTAuNC0xLTFjMC0wLjYsMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxQzQ3LjIsMzQuMSw0Ni44LDM0LjUsNDYuMiwzNC41elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJwNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsMzlIMTcuOWMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMWgyOC4zYzAuNiwwLDEsMC40LDEsMVM0Ni44LDM5LDQ2LjIsMzl6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInA0XCJcbiAgICAgICAgICAgIGQ9XCJNNDYuMiw0My40SDE3LjljLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFoMjguM2MwLjYsMCwxLDAuNCwxLDFTNDYuOCw0My40LDQ2LjIsNDMuNHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicDRcIlxuICAgICAgICAgICAgZD1cIk00Ni4yLDQ3LjhIMTcuOWMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMWgyOC4zYzAuNiwwLDEsMC40LDEsMVM0Ni44LDQ3LjgsNDYuMiw0Ny44elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJwNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsNTIuMkgxNy45Yy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxUzQ2LjgsNTIuMiw0Ni4yLDUyLjJ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInA0XCJcbiAgICAgICAgICAgIGQ9XCJNNDYuMiw1Ni42SDE3LjljLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFoMjguM2MwLjYsMCwxLDAuNCwxLDFTNDYuOCw1Ni42LDQ2LjIsNTYuNnpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicDZcIlxuICAgICAgICAgICAgZD1cIk0yNC42LDE2LjljLTAuMiwwLjQtMC42LDAuOC0xLDFzLTEsMC40LTEuNiwwLjRoLTJ2LTUuNmgyYzAuNiwwLDEuMSwwLjEsMS42LDAuM2MwLjQsMC4yLDAuOCwwLjYsMSwxXG4gICAgICAgICAgICAgICAgICAgIGMwLjIsMC40LDAuNCwwLjksMC40LDEuNUMyNC45LDE2LDI0LjgsMTYuNSwyNC42LDE2Ljl6IE0yMy4zLDE2LjhjMC4zLTAuMywwLjUtMC44LDAuNS0xLjNjMC0wLjYtMC4yLTEtMC41LTEuNFxuICAgICAgICAgICAgICAgICAgICBjLTAuMy0wLjMtMC44LTAuNS0xLjQtMC41aC0wLjh2My43aDAuOEMyMi41LDE3LjIsMjMsMTcuMSwyMy4zLDE2Ljh6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInA2XCJcbiAgICAgICAgICAgIGQ9XCJNMjguNywxOC4yTDI3LjQsMTZoLTAuNXYyLjJoLTEuMXYtNS42aDIuMmMwLjcsMCwxLjIsMC4yLDEuNSwwLjVzMC41LDAuNywwLjUsMS4zYzAsMC40LTAuMSwwLjgtMC40LDEuMVxuICAgICAgICAgICAgICAgICAgICBzLTAuNiwwLjUtMSwwLjZsMS40LDIuM0gyOC43eiBNMjYuOSwxNS4zaDAuOWMwLjYsMCwxLTAuMywxLTAuOWMwLTAuMy0wLjEtMC41LTAuMi0wLjZjLTAuMi0wLjItMC40LTAuMi0wLjctMC4yaC0wLjlWMTUuM3pcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicDZcIlxuICAgICAgICAgICAgZD1cIk0zNC4xLDE3LjFoLTIuM2wtMC40LDEuMWgtMS4ybDIuMS01LjZoMS4zbDIuMSw1LjZoLTEuMkwzNC4xLDE3LjF6IE0zMy44LDE2LjNMMzMsMTMuOWwtMC44LDIuNEgzMy44elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJwNlwiXG4gICAgICAgICAgICBkPVwiTTM5LjgsMTIuNnYwLjloLTIuNFYxNWgxLjl2MC45aC0xLjl2Mi40aC0xLjF2LTUuNkgzOS44elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJwNlwiXG4gICAgICAgICAgICBkPVwiTTQ0LjQsMTIuNnYwLjloLTEuNnY0LjhoLTEuMXYtNC44aC0xLjZ2LTAuOUg0NC40elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGNsYXNzPVwicDVcIlxuICAgICAgICAgIGQ9XCJNMzIsMzMuMWMtNS4yLDAtOS40LDQuMi05LjQsOS40czQuMiw5LjQsOS40LDkuNHM5LjQtNC4yLDkuNC05LjRDNDEuNCwzNy4zLDM3LjIsMzMuMiwzMiwzMy4xelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInA2XCJcbiAgICAgICAgICAgIGQ9XCJNMzYuMSw0MC44bC01LjgsNS44TDI4LDQ0LjRsNS44LTUuOGMwLjItMC4yLDAuNC0wLjIsMC42LDBsMS43LDEuN0MzNi4yLDQwLjQsMzYuMiw0MC43LDM2LjEsNDAuOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicDZcIlxuICAgICAgICAgICAgZD1cIk0zNi44LDM4Yy0wLjUtMC41LTEuMy0wLjUtMS43LDBsLTAuNCwwLjNjMCwwLDAuMSwwLDAuMSwwLjFsMS43LDEuN2MwLDAsMCwwLjEsMC4xLDAuMWwwLjQtMC40XG4gICAgICAgICAgICAgICAgICAgIGMwLjItMC4yLDAuNC0wLjUsMC40LTAuOUMzNy4xLDM4LjUsMzcsMzguMiwzNi44LDM4TDM2LjgsMzh6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInA2XCJcbiAgICAgICAgICAgIGQ9XCJNMjcuOSw0NC45bC0xLDIuNmMtMC4xLDAuMSwwLDAuMiwwLjEsMC40YzAuMSwwLjEsMC4xLDAuMSwwLjIsMC4xYzAuMSwwLDAuMSwwLDAuMSwwbDIuNi0xTDI3LjksNDQuOXpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicDZcIlxuICAgICAgICAgICAgZD1cIk0zMC4yLDQxLjNjMC4xLDAsMC4yLTAuMSwwLjItMC4xbDIuMi0yLjJjMC4xLTAuMSwwLjMtMC4xLDAuNC0wLjFsMC41LTAuNWMtMC40LTAuMy0wLjktMC4zLTEuMywwLjFMMzAsNDAuN1xuICAgICAgICAgICAgICAgICAgICBjLTAuMSwwLjEtMC4xLDAuNCwwLDAuNUMzMCw0MS4yLDMwLDQxLjMsMzAuMiw0MS4zTDMwLjIsNDEuM3pcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXJpZ2h0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPjxzdHJvbmc+Q3JlYXRlPC9zdHJvbmc+IGEgUG9saWN5PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1jaXJjbGVcIj5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvblwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiXG4gICAgICAgICAgICAgIGN4PVwiMjZcIlxuICAgICAgICAgICAgICBjeT1cIjI2XCJcbiAgICAgICAgICAgICAgcj1cIjI1XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xhYmVsPlxuICAgIDwhLS0gU2VsZWN0IGEgdGVtcGxhdGUgLS0+XG4gICAgPGxhYmVsXG4gICAgICBjbGFzcz1cImRvY3VtZW50LWJveFwiXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09PSAndGVtcGxhdGUnXCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgbmFtZT1cInNlbGVjdGVkRG9jdW1lbnRUeXBlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VEb2NUeXBlKCd0ZW1wbGF0ZScpXCJcbiAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT09ICd0ZW1wbGF0ZSdcIlxuICAgICAgLz5cbiAgICAgIDxzdmdcbiAgICAgICAgY2xhc3M9XCJkb2Mtc3ZnXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHdpZHRoPVwiNTAuNDU1XCJcbiAgICAgICAgaGVpZ2h0PVwiNzAuNjUyXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCA1MC40NTUgNzAuNjUyXCJcbiAgICAgID5cbiAgICAgICAgPGcgaWQ9XCJUZW1wbGF0ZUljb25cIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEyIC0zLjk4NSlcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJQYXRoXzI5MFwiXG4gICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDI5MFwiXG4gICAgICAgICAgICBkPVwiTTYyLjQ1MSwxOS40VjcyLjExYTIuNTIyLDIuNTIyLDAsMCwxLTIuNTIzLDIuNTIzSDE0LjUyM0EyLjUyMiwyLjUyMiwwLDAsMSwxMiw3Mi4xMVY2LjUyM0EyLjUyMiwyLjUyMiwwLDAsMSwxNC41MjMsNEg0Ny4xNTdcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMC4wMDQpXCJcbiAgICAgICAgICAgIGZpbGw9XCIjZjhmOGY4XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBpZD1cIlBhdGhfMjkxXCJcbiAgICAgICAgICAgIGRhdGEtbmFtZT1cIlBhdGggMjkxXCJcbiAgICAgICAgICAgIGQ9XCJNNjIuNDUxLDE0LjA5MlYyOS4yMjZIMTJWNi41MjNBMi41MjIsMi41MjIsMCwwLDEsMTQuNTIzLDRINTIuMzYyXCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDAuMDA0KVwiXG4gICAgICAgICAgICBmaWxsPVwiIzM0YWE0NFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJQYXRoXzI5MlwiXG4gICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDI5MlwiXG4gICAgICAgICAgICBkPVwiTTQzLjk1LDMuOTg1djguNDU3YTEuNjg5LDEuNjg5LDAsMCwwLDEuNjg5LDEuNjg4aDguNDY3XCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4LjM0OSAwKVwiXG4gICAgICAgICAgICBmaWxsPVwiIzk3ZDJhMFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJHcm91cF81NDBcIlxuICAgICAgICAgICAgZGF0YS1uYW1lPVwiR3JvdXAgNTQwXCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxOC4xMiAzNC40NSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwiUGF0aF8yOTNcIlxuICAgICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDI5M1wiXG4gICAgICAgICAgICAgIGQ9XCJNNTMuODY2LDMwLjY2MkgxOC4xMTNhMS4yNjEsMS4yNjEsMCwxLDEsMC0yLjUyM0g1My44NjZhMS4yNjEsMS4yNjEsMCwwLDEsMCwyLjUyM1pcIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE2Ljg1MiAtMjguMTM5KVwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjZGJkYmRiXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cIkdyb3VwXzU0MVwiXG4gICAgICAgICAgICBkYXRhLW5hbWU9XCJHcm91cCA1NDFcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE4LjEyIDQwLjAxMilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwiUGF0aF8yOTRcIlxuICAgICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDI5NFwiXG4gICAgICAgICAgICAgIGQ9XCJNNTMuODY2LDM1LjA3MUgxOC4xMTNhMS4yNjEsMS4yNjEsMCwxLDEsMC0yLjUyM0g1My44NjZhMS4yNjEsMS4yNjEsMCwwLDEsMCwyLjUyM1pcIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE2Ljg1MiAtMzIuNTQ4KVwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjZGJkYmRiXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cIkdyb3VwXzU0MlwiXG4gICAgICAgICAgICBkYXRhLW5hbWU9XCJHcm91cCA1NDJcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE4LjEyIDQ1LjU3MylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwiUGF0aF8yOTVcIlxuICAgICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDI5NVwiXG4gICAgICAgICAgICAgIGQ9XCJNNTMuODY2LDM5LjQ4SDE4LjExM2ExLjI2MSwxLjI2MSwwLDEsMSwwLTIuNTIzSDUzLjg2NmExLjI2MSwxLjI2MSwwLDAsMSwwLDIuNTIzWlwiXG4gICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTYuODUyIC0zNi45NTcpXCJcbiAgICAgICAgICAgICAgZmlsbD1cIiNkYmRiZGJcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiR3JvdXBfNTQzXCJcbiAgICAgICAgICAgIGRhdGEtbmFtZT1cIkdyb3VwIDU0M1wiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTguMTIgNTEuMTM0KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJQYXRoXzI5NlwiXG4gICAgICAgICAgICAgIGRhdGEtbmFtZT1cIlBhdGggMjk2XCJcbiAgICAgICAgICAgICAgZD1cIk01My44NjYsNDMuODg5SDE4LjExM2ExLjI2MSwxLjI2MSwwLDEsMSwwLTIuNTIzSDUzLjg2NmExLjI2MSwxLjI2MSwwLDEsMSwwLDIuNTIzWlwiXG4gICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTYuODUyIC00MS4zNjYpXCJcbiAgICAgICAgICAgICAgZmlsbD1cIiNkYmRiZGJcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiR3JvdXBfNTQ0XCJcbiAgICAgICAgICAgIGRhdGEtbmFtZT1cIkdyb3VwIDU0NFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTguMTIgNTYuNjk1KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJQYXRoXzI5N1wiXG4gICAgICAgICAgICAgIGRhdGEtbmFtZT1cIlBhdGggMjk3XCJcbiAgICAgICAgICAgICAgZD1cIk01My44NjYsNDguM0gxOC4xMTNhMS4yNjEsMS4yNjEsMCwxLDEsMC0yLjUyM0g1My44NjZhMS4yNjEsMS4yNjEsMCwwLDEsMCwyLjUyM1pcIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE2Ljg1MiAtNDUuNzc1KVwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjZGJkYmRiXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cIkdyb3VwXzU0NVwiXG4gICAgICAgICAgICBkYXRhLW5hbWU9XCJHcm91cCA1NDVcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE4LjEyIDYyLjI1NylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwiUGF0aF8yOThcIlxuICAgICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDI5OFwiXG4gICAgICAgICAgICAgIGQ9XCJNNTMuODY2LDUyLjcwOEgxOC4xMTNhMS4yNjEsMS4yNjEsMCwxLDEsMC0yLjUyM0g1My44NjZhMS4yNjEsMS4yNjEsMCwwLDEsMCwyLjUyM1pcIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE2Ljg1MiAtNTAuMTg1KVwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjZGJkYmRiXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cIkdyb3VwXzU0NlwiXG4gICAgICAgICAgICBkYXRhLW5hbWU9XCJHcm91cCA1NDZcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE4LjEyIDY3LjgxOClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwiUGF0aF8yOTlcIlxuICAgICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDI5OVwiXG4gICAgICAgICAgICAgIGQ9XCJNNTMuODY2LDU3LjExN0gxOC4xMTNhMS4yNjEsMS4yNjEsMCwxLDEsMC0yLjUyM0g1My44NjZhMS4yNjEsMS4yNjEsMCwwLDEsMCwyLjUyM1pcIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE2Ljg1MiAtNTQuNTk0KVwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjZGJkYmRiXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBpZD1cIlBhdGhfMzA1XCJcbiAgICAgICAgICAgIGRhdGEtbmFtZT1cIlBhdGggMzA1XCJcbiAgICAgICAgICAgIGQ9XCJNMzQuNDUsMzMuMTQ5QTExLjgyNiwxMS44MjYsMCwxLDAsNDYuMjc2LDQ0Ljk3NSwxMS44MjYsMTEuODI2LDAsMCwwLDM0LjQ1LDMzLjE0OVpcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuNzc2IDcuODM1KVwiXG4gICAgICAgICAgICBmaWxsPVwiI2M3MzgxYlwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJQYXRoXzQ4NDFcIlxuICAgICAgICAgICAgZGF0YS1uYW1lPVwiUGF0aCA0ODQxXCJcbiAgICAgICAgICAgIGQ9XCJNNDEuMTU5LDQzLjM1OWwtNy4yLTcuMjA3YS41MTQuNTE0LDAsMCwwLS43MjcsMGwtNy4yLDcuMjA3YS41Mi41MiwwLDAsMC0uMTUuMzY1LjUxMi41MTIsMCwwLDAsLjUxNS41MTNIMzB2Ny43MDVhLjUxNC41MTQsMCwwLDAsLjUxMy41MTVoNi4xN2EuNTE0LjUxNCwwLDAsMCwuNTE1LS41MTVWNDQuMjM3aDMuNmEuNTE0LjUxNCwwLDAsMCwuMzYyLS44NzhaXCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgzLjYyOSA4Ljk4MylcIlxuICAgICAgICAgICAgZmlsbD1cIiNmYWZhZmFcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHRleHRcbiAgICAgICAgICAgIGlkPVwiVE1QXCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyNS45OTkgMjEuOTg0KVwiXG4gICAgICAgICAgICBmaWxsPVwiI2ZmZlwiXG4gICAgICAgICAgICBmb250LXNpemU9XCIxMVwiXG4gICAgICAgICAgICBmb250LWZhbWlseT1cIlBvcHBpbnMtU2VtaUJvbGQsIFBvcHBpbnNcIlxuICAgICAgICAgICAgZm9udC13ZWlnaHQ9XCI2MDBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx0c3BhbiB4PVwiMFwiIHk9XCIwXCI+VE1QPC90c3Bhbj5cbiAgICAgICAgICA8L3RleHQ+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvc3ZnPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtcmlnaHRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+RHJhZnQgVXNpbmcgYSA8c3Ryb25nPlRlbXBsYXRlPC9zdHJvbmc+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1jaXJjbGVcIj5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvblwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiXG4gICAgICAgICAgICAgIGN4PVwiMjZcIlxuICAgICAgICAgICAgICBjeT1cIjI2XCJcbiAgICAgICAgICAgICAgcj1cIjI1XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xhYmVsPlxuICAgIDwhLS0gRW5kIFNlbGVjdCBhIHRlbXBsYXRlIC0tPlxuICAgIDxsYWJlbFxuICAgICAgY2xhc3M9XCJkb2N1bWVudC1ib3hcIlxuICAgICAgKm5nSWY9XCJzaG93RG9jeEJsb2NrXCJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT0gJ2RvY3gnICYmICFkb2N4RXJyb3I/LnZpc2libGVcIlxuICAgICAgW2NsYXNzLmVycm9yXT1cImRvY3hFcnJvcj8udmlzaWJsZVwiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgYWNjZXB0PVwiLmRvY3hcIlxuICAgICAgICBpZD1cIkRPQ2ZpbGVcIlxuICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUZpbGVJbnB1dCgkZXZlbnQudGFyZ2V0LmZpbGVzKVwiXG4gICAgICAgIG9uY2xpY2s9XCJldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgICAgICAjZG9jeFVwbG9hZEJ1dHRvblxuICAgICAgLz5cbiAgICAgIDxzdmdcbiAgICAgICAgY2xhc3M9XCJkb2Mtc3ZnXCJcbiAgICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICAgIGlkPVwiTGF5ZXJfMVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgICAgICB4PVwiMHB4XCJcbiAgICAgICAgeT1cIjBweFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgNjQgNjRcIlxuICAgICAgICBzdHlsZT1cImVuYWJsZS1iYWNrZ3JvdW5kOiBuZXcgMCAwIDY0IDY0XCJcbiAgICAgICAgeG1sOnNwYWNlPVwicHJlc2VydmVcIlxuICAgICAgPlxuICAgICAgICA8c3R5bGUgdHlwZT1cInRleHQvY3NzXCI+XG4gICAgICAgICAgLmQxIHtcbiAgICAgICAgICAgIGZpbGw6ICNmOGY4Zjg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5kMiB7XG4gICAgICAgICAgICBmaWxsOiAjMzM3ZGJlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZDMge1xuICAgICAgICAgICAgZmlsbDogIzNjOTJkZjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmQ0IHtcbiAgICAgICAgICAgIGZpbGw6ICNkYmRiZGI7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5kNSB7XG4gICAgICAgICAgICBmaWxsOiAjZjJiZjE5O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZDYge1xuICAgICAgICAgICAgZmlsbDogI2ZhZmFmYTtcbiAgICAgICAgICB9XG4gICAgICAgIDwvc3R5bGU+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJkMVwiXG4gICAgICAgICAgZD1cIk01MiwxNi4yVjU4YzAsMS4xLTAuOSwyLTIsMkgxNGMtMS4xLDAtMi0wLjktMi0yVjZjMC0xLjEsMC45LTIsMi0yaDI1LjlcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aCBjbGFzcz1cImQyXCIgZD1cIk01MiwxMnYxMkgxMlY2YzAtMS4xLDAuOS0yLDItMmgzMFwiIC8+XG4gICAgICAgIDxwYXRoIGNsYXNzPVwiZDNcIiBkPVwiTTQ0LDR2Ni43YzAsMC43LDAuNiwxLjMsMS4zLDEuM0g1MlwiIC8+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cImQ0XCJcbiAgICAgICAgICAgIGQ9XCJNNDYuMiwzMC4xSDE3LjljLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFoMjguM2MwLjYsMCwxLDAuNCwxLDFTNDYuOCwzMC4xLDQ2LjIsMzAuMXpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwiZDRcIlxuICAgICAgICAgICAgZD1cIk00Ni4yLDM0LjVIMTcuOWMtMC42LDAtMS0wLjQtMS0xYzAtMC42LDAuNC0xLDEtMWgyOC4zYzAuNiwwLDEsMC40LDEsMUM0Ny4yLDM0LjEsNDYuOCwzNC41LDQ2LjIsMzQuNXpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwiZDRcIlxuICAgICAgICAgICAgZD1cIk00Ni4yLDM5SDE3LjljLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFoMjguM2MwLjYsMCwxLDAuNCwxLDFTNDYuOCwzOSw0Ni4yLDM5elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJkNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsNDMuNEgxNy45Yy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxUzQ2LjgsNDMuNCw0Ni4yLDQzLjR6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cImQ0XCJcbiAgICAgICAgICAgIGQ9XCJNNDYuMiw0Ny44SDE3LjljLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFoMjguM2MwLjYsMCwxLDAuNCwxLDFTNDYuOCw0Ny44LDQ2LjIsNDcuOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwiZDRcIlxuICAgICAgICAgICAgZD1cIk00Ni4yLDUyLjJIMTcuOWMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMWgyOC4zYzAuNiwwLDEsMC40LDEsMVM0Ni44LDUyLjIsNDYuMiw1Mi4yelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJkNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsNTYuNkgxNy45Yy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxUzQ2LjgsNTYuNiw0Ni4yLDU2LjZ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cImQxXCJcbiAgICAgICAgICAgIGQ9XCJNMjUuNCwxNi45Yy0wLjIsMC40LTAuNiwwLjgtMSwxcy0xLDAuNC0xLjYsMC40aC0ydi01LjZoMmMwLjYsMCwxLjEsMC4xLDEuNiwwLjNjMC40LDAuMiwwLjgsMC42LDEsMVxuICAgICAgICAgICAgICAgICAgICBjMC4yLDAuNCwwLjQsMC45LDAuNCwxLjVDMjUuNywxNiwyNS42LDE2LjUsMjUuNCwxNi45eiBNMjQuMSwxNi44YzAuMy0wLjMsMC41LTAuOCwwLjUtMS4zYzAtMC42LTAuMi0xLTAuNS0xLjRcbiAgICAgICAgICAgICAgICAgICAgYy0wLjMtMC4zLTAuOC0wLjUtMS40LTAuNWgtMC44djMuN2gwLjhDMjMuMywxNy4yLDIzLjgsMTcuMSwyNC4xLDE2Ljh6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cImQxXCJcbiAgICAgICAgICAgIGQ9XCJNMzAuNywxMi45YzAuNCwwLjIsMC44LDAuNiwxLDFzMC40LDAuOSwwLjQsMS41cy0wLjEsMS4xLTAuNCwxLjVjLTAuMiwwLjQtMC42LDAuOC0xLDFcbiAgICAgICAgICAgICAgICAgICAgYy0wLjQsMC4yLTAuOSwwLjQtMS40LDAuNGMtMC41LDAtMS0wLjEtMS40LTAuNGMtMC40LTAuMi0wLjgtMC42LTEtMWMtMC4yLTAuNC0wLjQtMC45LTAuNC0xLjVzMC4xLTEuMSwwLjQtMS41czAuNi0wLjgsMS0xXG4gICAgICAgICAgICAgICAgICAgIGMwLjQtMC4yLDAuOS0wLjQsMS40LTAuNEMyOS44LDEyLjUsMzAuMiwxMi42LDMwLjcsMTIuOXogTTI4LjQsMTMuOGMtMC4zLDAuMS0wLjQsMC40LTAuNiwwLjZjLTAuMSwwLjMtMC4yLDAuNi0wLjIsMVxuICAgICAgICAgICAgICAgICAgICBjMCwwLjQsMC4xLDAuNywwLjIsMWMwLjEsMC4zLDAuMywwLjUsMC42LDAuNmMwLjMsMC4xLDAuNSwwLjIsMC45LDAuMmMwLjMsMCwwLjYtMC4xLDAuOS0wLjJjMC4zLTAuMSwwLjQtMC40LDAuNi0wLjZcbiAgICAgICAgICAgICAgICAgICAgYzAuMS0wLjMsMC4yLTAuNiwwLjItMWMwLTAuNC0wLjEtMC43LTAuMi0xYy0wLjEtMC4zLTAuMy0wLjUtMC42LTAuNmMtMC4zLTAuMS0wLjUtMC4yLTAuOS0wLjJDMjguOSwxMy42LDI4LjYsMTMuNiwyOC40LDEzLjh6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cImQxXCJcbiAgICAgICAgICAgIGQ9XCJNMzcuMiwxMy4xYzAuNSwwLjQsMC44LDAuOSwwLjksMS41SDM3Yy0wLjEtMC4zLTAuMy0wLjUtMC42LTAuN2MtMC4zLTAuMi0wLjYtMC4zLTAuOS0wLjNcbiAgICAgICAgICAgICAgICAgICAgYy0wLjMsMC0wLjYsMC4xLTAuOCwwLjJzLTAuNCwwLjQtMC42LDAuNmMtMC4xLDAuMy0wLjIsMC42LTAuMiwxYzAsMC40LDAuMSwwLjcsMC4yLDFjMC4xLDAuMywwLjMsMC41LDAuNiwwLjZzMC41LDAuMiwwLjgsMC4yXG4gICAgICAgICAgICAgICAgICAgIGMwLjQsMCwwLjctMC4xLDAuOS0wLjNjMC4zLTAuMiwwLjQtMC40LDAuNi0wLjdoMS4yYy0wLjEsMC42LTAuNSwxLjEtMC45LDEuNWMtMC41LDAuNC0xLDAuNS0xLjgsMC41Yy0wLjUsMC0xLTAuMS0xLjQtMC40XG4gICAgICAgICAgICAgICAgICAgIGMtMC40LTAuMi0wLjctMC42LTEtMWMtMC4yLTAuNC0wLjMtMC45LTAuMy0xLjVjMC0wLjYsMC4xLTEuMSwwLjMtMS41YzAuMi0wLjQsMC41LTAuOCwxLTFjMC40LTAuMiwwLjktMC40LDEuNC0wLjRcbiAgICAgICAgICAgICAgICAgICAgQzM2LjIsMTIuNSwzNi44LDEyLjcsMzcuMiwxMy4xelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJkMVwiXG4gICAgICAgICAgICBkPVwiTTQyLjMsMTguMkw0MSwxNi4zbC0xLjEsMS45aC0xLjNsMS44LTIuOWwtMS44LTIuOGgxLjNsMS4yLDEuOWwxLjEtMS45aDEuM2wtMS44LDIuOGwxLjksMi44SDQyLjN6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJkNVwiXG4gICAgICAgICAgZD1cIk0zMiwzMy4xYy01LjIsMC05LjQsNC4yLTkuNCw5LjRzNC4yLDkuNCw5LjQsOS40czkuNC00LjIsOS40LTkuNEM0MS40LDM3LjMsMzcuMiwzMy4yLDMyLDMzLjF6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBjbGFzcz1cImQ2XCJcbiAgICAgICAgICBkPVwiTTM4LDQxLjhsLTUuNy01LjdjLTAuMi0wLjItMC40LTAuMi0wLjYsMEwyNiw0MS44Yy0wLjEsMC4xLTAuMSwwLjItMC4xLDAuM2MwLDAuMiwwLjIsMC40LDAuNCwwLjRoMi45djYuMVxuICAgICAgICAgICAgICAgIGMwLDAuMiwwLjIsMC40LDAuNCwwLjRoNC45YzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNi4xaDIuOWMwLjIsMCwwLjMtMC4xLDAuNC0wLjNDMzguMSw0Mi4xLDM4LjEsNDIsMzgsNDEuOHpcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtcmlnaHRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEoc2VsZWN0ZWREb2N1bWVudFR5cGUgPT0gJ2RvY3gnICYmIGZpbGVuYW1lKVwiXG4gICAgICAgICAgICA+VXBsb2FkIGEgPHN0cm9uZz5ET0NYPC9zdHJvbmc+PC9uZy1jb250YWluZXJcbiAgICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICdkb2N4JyAmJiBmaWxlbmFtZVwiPnt7XG4gICAgICAgICAgICBmaWxlbmFtZVxuICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItbXNnLXRleHRcIiAqbmdJZj1cImRvY3hFcnJvcj8udmlzaWJsZVwiPlxuICAgICAgICAgIHt7IGRvY3hFcnJvcj8ubWVzc2FnZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrLWNpcmNsZVwiICpuZ0lmPVwiIWRvY3hFcnJvcj8udmlzaWJsZVwiPlxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCA1MiA1MlwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGNpcmNsZVxuICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCJcbiAgICAgICAgICAgICAgY3g9XCIyNlwiXG4gICAgICAgICAgICAgIGN5PVwiMjZcIlxuICAgICAgICAgICAgICByPVwiMjVcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NoZWNrXCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICBkPVwiTTE0LjEgMjcuMmw3LjEgNy4yIDE2LjctMTYuOFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBlcnJvci1pY29uXCIgKm5nSWY9XCJkb2N4RXJyb3I/LnZpc2libGVcIj4mI3hlOTE0OzwvaT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImxpbmUtcHJvZ3Jlc3NcIlxuICAgICAgICAqbmdJZj1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICdkb2N4JyAmJiBpc1VwbG9hZGluZ1wiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lLXByb2dyZXNzLWJhclwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9sYWJlbD5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwiZG9jdW1lbnQtYm94XCJcbiAgICAgICpuZ0lmPVwic2hvd1BkZkJsb2NrXCJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT0gJ3BkZidcIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgIGFjY2VwdD1cIi5wZGZcIlxuICAgICAgICBpZD1cIlBERmZpbGVcIlxuICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUZpbGVJbnB1dCgkZXZlbnQudGFyZ2V0LmZpbGVzKVwiXG4gICAgICAgIG9uY2xpY2s9XCJldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgICAgICAjcGRmVXBsb2FkQnV0dG9uXG4gICAgICAvPlxuICAgICAgPHN2Z1xuICAgICAgICBjbGFzcz1cImRvYy1zdmdcIlxuICAgICAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICAgICAgaWQ9XCJMYXllcl8xXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgICAgIHg9XCIwcHhcIlxuICAgICAgICB5PVwiMHB4XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCA2NCA2NFwiXG4gICAgICAgIHN0eWxlPVwiZW5hYmxlLWJhY2tncm91bmQ6IG5ldyAwIDAgNjQgNjRcIlxuICAgICAgICB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiXG4gICAgICA+XG4gICAgICAgIDxzdHlsZSB0eXBlPVwidGV4dC9jc3NcIj5cbiAgICAgICAgICAucGQxIHtcbiAgICAgICAgICAgIGZpbGw6ICNmOGY4Zjg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wZDIge1xuICAgICAgICAgICAgZmlsbDogI2VlMzkzOTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnBkMyB7XG4gICAgICAgICAgICBmaWxsOiAjZjk1ODU4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAucGQ0IHtcbiAgICAgICAgICAgIGZpbGw6ICNkYmRiZGI7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wZDUge1xuICAgICAgICAgICAgZmlsbDogIzM0YWE0NDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnBkNiB7XG4gICAgICAgICAgICBmaWxsOiAjZmFmYWZhO1xuICAgICAgICAgIH1cbiAgICAgICAgPC9zdHlsZT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBjbGFzcz1cInBkMVwiXG4gICAgICAgICAgZD1cIk01MiwxNi4yVjU4YzAsMS4xLTAuOSwyLTIsMkgxNGMtMS4xLDAtMi0wLjktMi0yVjZjMC0xLjEsMC45LTIsMi0yaDI1LjlcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aCBjbGFzcz1cInBkMlwiIGQ9XCJNNTIsMTJ2MTJIMTJWNmMwLTEuMSwwLjktMiwyLTJoMzBcIiAvPlxuICAgICAgICA8cGF0aCBjbGFzcz1cInBkM1wiIGQ9XCJNNDQsNHY2LjdjMCwwLjcsMC42LDEuMywxLjMsMS4zSDUyXCIgLz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicGQ0XCJcbiAgICAgICAgICAgIGQ9XCJNNDYuMiwzMC4xSDE3LjljLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFoMjguM2MwLjYsMCwxLDAuNCwxLDFTNDYuOCwzMC4xLDQ2LjIsMzAuMXpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicGQ0XCJcbiAgICAgICAgICAgIGQ9XCJNNDYuMiwzNC41SDE3LjljLTAuNiwwLTEtMC40LTEtMWMwLTAuNiwwLjQtMSwxLTFoMjguM2MwLjYsMCwxLDAuNCwxLDFDNDcuMiwzNC4xLDQ2LjgsMzQuNSw0Ni4yLDM0LjV6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInBkNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsMzlIMTcuOWMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMWgyOC4zYzAuNiwwLDEsMC40LDEsMVM0Ni44LDM5LDQ2LjIsMzl6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInBkNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsNDMuNEgxNy45Yy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxUzQ2LjgsNDMuNCw0Ni4yLDQzLjR6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInBkNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsNDcuOEgxNy45Yy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxUzQ2LjgsNDcuOCw0Ni4yLDQ3Ljh6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInBkNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsNTIuMkgxNy45Yy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxUzQ2LjgsNTIuMiw0Ni4yLDUyLjJ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInBkNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsNTYuNkgxNy45Yy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxUzQ2LjgsNTYuNiw0Ni4yLDU2LjZ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInBkMVwiXG4gICAgICAgICAgICBkPVwiTTI2LjIsMTYuMnYyLjFoLTEuMXYtNS42aDIuMWMwLjcsMCwxLjIsMC4yLDEuNSwwLjVjMC4zLDAuMywwLjUsMC44LDAuNSwxLjNjMCwwLjUtMC4yLDEtMC41LDEuM1xuICAgICAgICAgICAgICAgICAgICBjLTAuMywwLjMtMC44LDAuNS0xLjUsMC41SDI2LjJ6IE0yOCwxNC40YzAtMC4zLTAuMS0wLjUtMC4yLTAuNmMtMC4yLTAuMS0wLjQtMC4yLTAuOC0wLjJoLTAuOHYxLjdIMjdDMjcuNywxNS4yLDI4LDE1LDI4LDE0LjR6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInBkMVwiXG4gICAgICAgICAgICBkPVwiTTM0LjUsMTYuOWMtMC4yLDAuNC0wLjYsMC44LTEsMXMtMSwwLjQtMS42LDAuNGgtMnYtNS42aDJjMC42LDAsMS4xLDAuMSwxLjYsMC4zYzAuNCwwLjIsMC44LDAuNiwxLDFcbiAgICAgICAgICAgICAgICAgICAgYzAuMiwwLjQsMC40LDAuOSwwLjQsMS41QzM0LjgsMTYsMzQuNywxNi41LDM0LjUsMTYuOXogTTMzLjIsMTYuOGMwLjMtMC4zLDAuNS0wLjgsMC41LTEuM2MwLTAuNi0wLjItMS0wLjUtMS40XG4gICAgICAgICAgICAgICAgICAgIGMtMC4zLTAuMy0wLjgtMC41LTEuNC0wLjVIMzF2My43aDAuOEMzMi40LDE3LjIsMzIuOSwxNy4xLDMzLjIsMTYuOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicGQxXCJcbiAgICAgICAgICAgIGQ9XCJNMzkuMiwxMi42djAuOWgtMi40VjE1aDEuOXYwLjloLTEuOXYyLjRoLTEuMXYtNS42SDM5LjJ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJwZDVcIlxuICAgICAgICAgIGQ9XCJNMzIsMzMuMWMtNS4yLDAtOS40LDQuMi05LjQsOS40czQuMiw5LjQsOS40LDkuNHM5LjQtNC4yLDkuNC05LjRDNDEuNCwzNy4zLDM3LjIsMzMuMiwzMiwzMy4xelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJwZDZcIlxuICAgICAgICAgIGQ9XCJNMzgsNDEuOGwtNS43LTUuN2MtMC4yLTAuMi0wLjQtMC4yLTAuNiwwTDI2LDQxLjhjLTAuMSwwLjEtMC4xLDAuMi0wLjEsMC4zYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgyLjl2Ni4xXG4gICAgICAgICAgICAgICAgYzAsMC4yLDAuMiwwLjQsMC40LDAuNGg0LjljMC4yLDAsMC40LTAuMiwwLjQtMC40di02LjFoMi45YzAuMiwwLDAuMy0wLjEsMC40LTAuM0MzOC4xLDQyLjEsMzguMSw0MiwzOCw0MS44elwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1yaWdodFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShzZWxlY3RlZERvY3VtZW50VHlwZSA9PSAncGRmJyAmJiBmaWxlbmFtZSlcIlxuICAgICAgICAgICAgPlVwbG9hZCBhIDxzdHJvbmc+UERGPC9zdHJvbmc+PC9uZy1jb250YWluZXJcbiAgICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICdwZGYnICYmIGZpbGVuYW1lXCI+e3tcbiAgICAgICAgICAgIGZpbGVuYW1lXG4gICAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1jaXJjbGVcIj5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvblwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiXG4gICAgICAgICAgICAgIGN4PVwiMjZcIlxuICAgICAgICAgICAgICBjeT1cIjI2XCJcbiAgICAgICAgICAgICAgcj1cIjI1XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJsaW5lLXByb2dyZXNzXCJcbiAgICAgICAgKm5nSWY9XCJzZWxlY3RlZERvY3VtZW50VHlwZSA9PSAncGRmJyAmJiBpc1VwbG9hZGluZ1wiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lLXByb2dyZXNzLWJhclwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJib3R0b20tYnV0dG9uXCIgW2NsYXNzLmdyYXlzY2FsZV09XCJpc1RlbXBsYXRlT3BlbmVkXCI+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAoY2xpY2spPVwiZWRpdFBvbGljeUVtaXQoKVwiXG4gICAgY2xhc3M9XCJiYWNrXCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiaXNUZW1wbGF0ZU9wZW5lZFwiXG4gID5cbiAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxZDs8L2k+IEJhY2tcbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAoY2xpY2spPVwiZWRpdG9yKHNlbGVjdGVkRG9jdW1lbnRUeXBlKVwiXG4gICAgY2xhc3M9XCJuZXh0XCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIXNlbGVjdGVkRG9jdW1lbnRUeXBlIHx8IGlzVGVtcGxhdGVPcGVuZWRcIlxuICA+XG4gICAgTmV4dCA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxZTs8L2k+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2RvY3VtZW50LXNlY3Rpb24vZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2RvY3VtZW50LXNlY3Rpb24vZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7O0FBTzdGLE1BQU0sT0FBTyx3QkFBd0I7SUFnQ25DLFlBQ1UsUUFBeUIsRUFDekIsYUFBNEIsRUFDNUIsZ0JBQWtDLEVBQ2xDLE1BQWMsRUFDZCxLQUFxQixFQUM3QixnQkFBa0MsRUFDMUIsYUFBNEI7UUFONUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFFckIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFyQ3RDLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsUUFBRyxHQUFHLEtBQUssQ0FBQztRQUNaLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxRQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ1osZ0JBQVcsR0FBRyxL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QUFDO1NBQy9EO1FBQ0QsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMvQixZQUFZLENBQUMsT0FBTyxDQUNsQixxQkFBcUIsRUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQy9CLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNuQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQyxDQUNILENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7K0dBMVFVLHdCQUF3QjttR0FBeEIsd0JBQXdCLHNmQ3RCckMsaXNoQkFvV0E7OzRGRDlVYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCOzhRQWdCdkIsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhdGZvcm1Mb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7IFBvbGljeVNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9wb2xpY3kuc2VydmljZSc7XG5pbXBvcnQgeyBQb2xpY3lBUElTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcG9saWN5LWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IElmcmFtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pZnJhbWUuc2VydmljZSc7XG5pbXBvcnQgeyBXT1JEX0NPTlNUQU5UUywgV09SRF9VUkxfQ09OU1RBTlRTIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctcG9saWN5L21zLXdvcmQuY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWRvY3VtZW50LXNlY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RvY3VtZW50LXNlY3Rpb24uY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRTZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIGZpbGVUb1VwbG9hZDogYW55O1xuICBmaWxlbmFtZSA9ICcnO1xuICBmaWxlVHlwZSA9ICcnO1xuICBwZGYgPSBmYWxzZTtcbiAgZHJhZnQgPSBmYWxzZTtcbiAgZG9jID0gZmFsc2U7XG4gIGlzVXBsb2FkaW5nID0gZmFsc2U7XG4gIGlzTG9hZGVyID0gZmFsc2U7XG4gIGZmX3BvbGljeV9tc193b3JkX2ludGVncmF0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gIGNyZWF0ZVdvcmRQb2xpY3lUZXh0ID0gV09SRF9DT05TVEFOVFMuTVNfV09SRF9PUFRJT047XG5cbiAgQElucHV0KCkgc2VsZWN0ZWREb2N1bWVudFR5cGUgPSAnJztcbiAgQElucHV0KCkgZmVhdHVyZTogYW55O1xuICBASW5wdXQoKSB0ZW1wbGF0ZVZpZXcgPSBmYWxzZTtcbiAgQElucHV0KCkgcG9saWN5SWQ6IGFueSA9ICcnO1xuICBASW5wdXQoKSBwb2xpY3lOYW1lOiBhbnkgPSAnJztcbiAgQElucHV0KCkgb3JnYW5pemF0aW9uX2lkOiBhbnkgPSAnJztcbiAgQElucHV0KCkgbWVtYmVyX29ial9pZDogYW55O1xuICBASW5wdXQoKSB1c2VySW5mbzogYW55O1xuICBASW5wdXQoKSB0ZW1wbGF0ZVVybDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGlzVGVtcGxhdGVPcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIGRpc2Nvbm5lY3RSZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZWRpdFBvbGljeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9wZW5UZW1wbGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBiYXNlVVJMID0gJyc7XG4gIGRvY3hFcnJvciA9IHtcbiAgICB2aXNpYmxlOiBmYWxzZSxcbiAgICBtZXNzYWdlOiAnJyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNuYWNrQmFyOiBTbmFja0JhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb2xpY3lTZXJ2aWNlOiBQb2xpY3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgcG9saWN5QVBJU2VydmljZTogUG9saWN5QVBJU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHBsYXRmb3JtTG9jYXRpb246IFBsYXRmb3JtTG9jYXRpb24sXG4gICAgcHJpdmF0ZSBpZnJhbWVTZXJ2aWNlOiBJZnJhbWVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYmFzZVVSTCA9IGxvY2F0aW9uPy5vcmlnaW47XG4gICAgaWYgKHRoaXMuYmFzZVVSTCA9PSAnaHR0cDovL2xvY2FsaG9zdDo0MjAwJykge1xuICAgICAgdGhpcy5iYXNlVVJMID0gJ2h0dHBzOi8vZGV2LnYtY29tcGx5LmNvbSc7XG4gICAgfVxuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcz8udGVtcGxhdGVWaWV3Py5jdXJyZW50VmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRG9jdW1lbnRUeXBlID0gJyc7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsaXNlRmVhdHVyZUZsYWdzKCk7XG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoXG4gICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFzdEZpbGVOYW1lQW5kVHlwZScpID8/ICdcInt9XCInXG4gICAgKTtcbiAgICBpZiAoXG4gICAgICBkYXRhLm5hbWUgIT09IG51bGwgJiZcbiAgICAgIGRhdGEubmFtZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBkYXRhLnR5cGUgIT09IG51bGwgJiZcbiAgICAgIGRhdGEudHlwZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBkYXRhLnBvbGljeUlkID09IHRoaXMucG9saWN5SWRcbiAgICApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGUgPSBkYXRhLnR5cGU7XG4gICAgICB0aGlzLmZpbGVuYW1lID0gZGF0YS5uYW1lO1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ2xhc3RGaWxlTmFtZUFuZFR5cGUnKTtcbiAgICB9XG4gIH1cblxuICBpbml0aWFsaXNlRmVhdHVyZUZsYWdzKCkge1xuICAgIHRoaXMuZmZfcG9saWN5X21zX3dvcmRfaW50ZWdyYXRpb24gPSAgdGhpcy5mZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoV09SRF9DT05TVEFOVFMuZmZfcG9saWN5X21zX3dvcmRfaW50ZWdyYXRpb24pO1xuICB9XG5cbnJlZGlyZWN0VXNlclRvV29yZFBvbGljeSgpIHtcbiAgd2luZG93Lm9wZW4oV09SRF9VUkxfQ09OU1RBTlRTLm5ld193b3JkX3BvbGljeV91cmwsICdfYmxhbmsnKTtcbiAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAgdGhpcy5iYXNlVVJMICsgV09SRF9VUkxfQ09OU1RBTlRTLndvcmtyb29tX3VybCArIHRoaXMucG9saWN5SWQ7XG59XG5cbiAgY3JlYXRlV29yZFBvbGljeSgpIHtcbiAgICB0aGlzLmlzTG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLnBvbGljeUFQSVNlcnZpY2UuY3JlYXRlV29yZFBvbGljeSh0aGlzLnBvbGljeUlkKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgaWYocmVzKXtcbiAgICAgICAgdGhpcy5yZWRpcmVjdFVzZXJUb1dvcmRQb2xpY3koKTtcbiAgICAgIH0gICAgICAgXG4gICAgICB0aGlzLmlzTG9hZGVyID0gZmFsc2U7XG4gICAgfSxcbiAgICAoZXJyKSA9PiB7XG4gICAgICB0aGlzLmlzTG9hZGVyID0gZmFsc2U7XG4gICAgICB0aGlzLnNuYWNrQmFyLnNob3coXG4gICAgICAgIFdPUkRfQ09OU1RBTlRTLmNyZWF0ZVdvcmRQb2xpY3lfc25hY2tiYXJfbWVzc2FnZSxcbiAgICAgICAgJ2FsZXJ0J1xuICAgICAgKTtcbiAgICB9XG4gICk7XG4gIH1cblxuICBoYW5kbGVGaWxlSW5wdXQoZmlsZXM6IEZpbGVMaXN0KTogdm9pZCB7XG4gICAgdGhpcy5maWxlVG9VcGxvYWQgPSBmaWxlc1swXTtcbiAgICB0aGlzLmZpbGVuYW1lID0gdGhpcy5maWxlVG9VcGxvYWQubmFtZTtcbiAgICB0aGlzLmZpbGVUeXBlID0gdGhpcy5maWxlVG9VcGxvYWQubmFtZVxuICAgICAgLnNsaWNlKFxuICAgICAgICB0aGlzLmZpbGVUb1VwbG9hZC5uYW1lLmxhc3RJbmRleE9mKCcuJykgKyAxLFxuICAgICAgICB0aGlzLmZpbGVUb1VwbG9hZC5uYW1lLmxlbmd0aFxuICAgICAgKVxuICAgICAgLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKHRoaXMuZmlsZVR5cGUgPT09ICdwZGYnKSB7XG4gICAgICB0aGlzLnVwbG9hZEZpbGUoeyBmaWxlOiB0aGlzLmZpbGVUb1VwbG9hZCwgZmlsZVR5cGU6IHRoaXMuZmlsZVR5cGUgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmZpbGVUeXBlID09PSAnZG9jeCcpIHtcbiAgICAgIHRoaXMudXBsb2FkRmlsZSh7IGZpbGU6IHRoaXMuZmlsZVRvVXBsb2FkLCBmaWxlVHlwZTogdGhpcy5maWxlVHlwZSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zbmFja0Jhci5zaG93KCdQbGVhc2UgdXBsb2FkIGEgdmFsaWQgZmlsZScsICdhbGVydCcpO1xuICAgIH1cbiAgfVxuICBzaG93UGRmQmxvY2sgPSB0cnVlO1xuICBzaG93RG9jeEJsb2NrID0gdHJ1ZTtcblxuICB1cGxvYWRGaWxlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmlzVXBsb2FkaW5nID0gdHJ1ZTtcbiAgICBpZiAoZXZlbnQuZmlsZVR5cGUgPT09ICdkb2N4Jykge1xuICAgICAgdGhpcy5jaGFuZ2VEb2NUeXBlKCdkb2N4Jyk7XG4gICAgICB0aGlzLnVwbG9hZERvY3hmaWxlKGV2ZW50KTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmZpbGVUeXBlID09PSAncGRmJykge1xuICAgICAgdGhpcy5jaGFuZ2VEb2NUeXBlKCdwZGYnKTtcbiAgICAgIHRoaXMuc2hvd1BkZkJsb2NrID0gZmFsc2U7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zaG93UGRmQmxvY2sgPSB0cnVlO1xuICAgICAgfSwgMTApO1xuICAgICAgY29uc3QgdXBsb2FkRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgdXBsb2FkRGF0YS5hcHBlbmQoJ2ZpbGUnLCBldmVudC5maWxlKTtcbiAgICAgIGNvbnN0IHBhdGggPSAnby8nICsgdGhpcy5vcmdhbml6YXRpb25faWQgKyAnL3BvbGljeS8nO1xuICAgICAgdGhpcy5wb2xpY3lTZXJ2aWNlLnVwbG9hZEZpbGUodXBsb2FkRGF0YSwgdGhpcy5wb2xpY3lJZCwgcGF0aCkuc3Vic2NyaWJlKFxuICAgICAgICAocmVzKSA9PiB7XG4gICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHRoaXMuaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnNuYWNrQmFyLnNob3coXG4gICAgICAgICAgICBcIk9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB3ZSB3ZXJlIHVuYWJsZSB0byBjb21wbGV0ZSB0aGlzIGFjdGlvbi4gTGV0J3MgZ2l2ZSBpdCBhbm90aGVyIHRyeSwgc2hhbGwgd2U/XCIsXG4gICAgICAgICAgICAnYWxlcnQnXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICB1cGxvYWREb2N4ZmlsZShldmVudDogYW55KSB7XG4gICAgdGhpcy5yZXNldERvY3NFcnJvcigpO1xuICAgIHRoaXMuc2hvd0RvY3hCbG9jayA9IGZhbHNlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zaG93RG9jeEJsb2NrID0gdHJ1ZTtcbiAgICB9LCAxMCk7XG4gICAgY29uc3QgdXBsb2FkRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIHVwbG9hZERhdGEuYXBwZW5kKCdmaWxlJywgZXZlbnQuZmlsZSk7XG4gICAgY29uc3QgcGF0aCA9ICdvLycgKyB0aGlzLm9yZ2FuaXphdGlvbl9pZCArICcvcG9saWN5Lyc7XG4gICAgdGhpcy5wb2xpY3lTZXJ2aWNlXG4gICAgICAudXBsb2FkRG9jeEZpbGUodXBsb2FkRGF0YSwgdGhpcy5wb2xpY3lJZCwgcGF0aClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgIHRoaXMuaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChyZXM/Lm1lc3NhZ2U/LmluY2x1ZGVzKCdkb25lJykpIHtcbiAgICAgICAgICAgICAgdGhpcy5yZXNldERvY3NFcnJvcigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaWYgKHJlcy5tZXNzYWdlPy5pbmNsdWRlcygnUmFuZ2VFcnJvcicpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb2N4RXJyb3IgPSB7XG4gICAgICAgICAgICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ1RoZSBmaWxlIHNpemUgaXMgdG9vIGxhcmdlIGFuZCBjYW5ub3QgYmUgdXBsb2FkZWQuJyxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jeEVycm9yID0ge1xuICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdPb3BzISBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSB1cGxvYWRpbmcgdGhpcyBmaWxlLicsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHRoaXMuaXNVcGxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgIHRoaXMuc25hY2tCYXIuc2hvdyhcbiAgICAgICAgICAgIFwiT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHdlIHdlcmUgdW5hYmxlIHRvIGNvbXBsZXRlIHRoaXMgYWN0aW9uLiBMZXQncyBnaXZlIGl0IGFub3RoZXIgdHJ5LCBzaGFsbCB3ZT9cIixcbiAgICAgICAgICAgICdhbGVydCdcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgcmVzZXREb2NzRXJyb3IoKSB7XG4gICAgdGhpcy5kb2N4RXJyb3IgPSB7XG4gICAgICB2aXNpYmxlOiBmYWxzZSxcbiAgICAgIG1lc3NhZ2U6ICcnLFxuICAgIH07XG4gIH1cblxuICBjaGFuZ2VEb2NUeXBlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnJlc2V0RG9jc0Vycm9yKCk7XG4gICAgdGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZSA9IGV2ZW50O1xuICAgIGlmIChldmVudCA9PT0gJ3RlbXBsYXRlJykge1xuICAgICAgdGhpcy5vcGVuVGVtcGxhdGVMaXN0KCk7XG4gICAgfVxuICB9XG5cbiAgZWRpdG9yKGV2ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLmRpc2Nvbm5lY3RSZWZyZXNoLmVtaXQoZmFsc2UpO1xuXG4gICAgaWYgKGV2ZW50ID09PSAnZHJhZnQnKSB7XG4gICAgICAvLyBJZiBpdCBpcyBhIGRyYWZ0IGdvIGRpcmVjdGx5IHRvIHRoZSBlZGl0b3JcbiAgICAgIGNvbnN0IHVuYW1lID0gdGhpcy51c2VySW5mbyA/IHRoaXMudXNlckluZm8ubmFtZSA6ICcnO1xuICAgICAgY29uc3QgdWlkID0gdGhpcy5tZW1iZXJfb2JqX2lkO1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMucG9saWN5TmFtZS50cmltKCk7XG4gICAgICBjb25zdCBpZCA9IHRoaXMucG9saWN5SWQ7XG4gICAgICB0aGlzLmlzTG9hZGVyID0gdHJ1ZTtcbiAgICAgIHRoaXMucG9saWN5U2VydmljZVxuICAgICAgICAuc2F2ZVBvbGljeURldGFpbHModW5hbWUsIHVpZCwgaWQsIG5hbWUsICcnLCAwKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIChyZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlciA9IGZhbHNlO1xuICAgICAgICAgICAgICBjb25zdCB1cmwgPVxuICAgICAgICAgICAgICAgIHRoaXMuYmFzZVVSTCArICcvYWxsL3BvbGljeS9lZGl0LXBvbGljeT9pZD0nICsgdGhpcy5wb2xpY3lJZDtcbiAgICAgICAgICAgICAgdGhpcy5pZnJhbWVTZXJ2aWNlLnJlZGlyZWN0SWZJbklmcmFtZSh1cmwsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRlciA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5zaG93KFxuICAgICAgICAgICAgICBcIk9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB3ZSB3ZXJlIHVuYWJsZSB0byBjb21wbGV0ZSB0aGlzIGFjdGlvbi4gTGV0J3MgZ2l2ZSBpdCBhbm90aGVyIHRyeSwgc2hhbGwgd2U/XCIsXG4gICAgICAgICAgICAgICdhbGVydCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQgPT09ICdkb2N4Jykge1xuICAgICAgY29uc3QgdXJsID1cbiAgICAgICAgdGhpcy5iYXNlVVJMICsgJy9hbGwvcG9saWN5L2VkaXQtcG9saWN5P2lkPScgKyB0aGlzLnBvbGljeUlkO1xuICAgICAgdGhpcy5pZnJhbWVTZXJ2aWNlLnJlZGlyZWN0SWZJbklmcmFtZSh1cmwsIHRydWUpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQgPT09ICd3b3JkJykge1xuICAgICAgICB0aGlzLmNyZWF0ZVdvcmRQb2xpY3koKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50ID09PSAncGRmJykge1xuICAgICAgLy8gSWYgaXQgaXMgYSBwZGYgc2VuZCB0byB0aGUgd29ya3Jvb21cbiAgICAgIGNvbnN0IHVybCA9XG4gICAgICAgIHRoaXMuYmFzZVVSTCArICcvYWxsL3BvbGljeS93b3Jrcm9vbT9pZD0nICsgdGhpcy5wb2xpY3lJZDtcbiAgICAgIHRoaXMuaWZyYW1lU2VydmljZS5yZWRpcmVjdElmSW5JZnJhbWUodXJsLCB0cnVlKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50ID09PSAndGVtcGxhdGUnKSB7XG4gICAgICB0aGlzLmlmcmFtZVNlcnZpY2UucmVkaXJlY3RJZkluSWZyYW1lKHRoaXMudGVtcGxhdGVVcmwsIHRydWUpO1xuICAgIH1cbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnX2RJZCcsIHRoaXMucG9saWN5SWQpO1xuICB9XG4gIGVkaXRQb2xpY3lFbWl0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGUgPSAnJztcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICdsYXN0RmlsZU5hbWVBbmRUeXBlJyxcbiAgICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZSxcbiAgICAgICAgbmFtZTogdGhpcy5maWxlbmFtZSxcbiAgICAgICAgcG9saWN5SWQ6IHRoaXMucG9saWN5SWQsXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5lZGl0UG9saWN5LmVtaXQoKTtcbiAgfVxuXG4gIG9wZW5UZW1wbGF0ZUxpc3QoKSB7XG4gICAgdGhpcy5vcGVuVGVtcGxhdGUuZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZG9jdW1lbnQtc2VjdGlvblwiIFtjbGFzcy5ncmF5c2NhbGVdPVwiaXNUZW1wbGF0ZU9wZW5lZFwiPlxuICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnQtc2VjdGlvbi1pbm5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWJveFwiPlxuICAgICAgPHN2Z1xuICAgICAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICAgICAgaWQ9XCJDYXBhXzFcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICAgICAgeD1cIjBweFwiXG4gICAgICAgIHk9XCIwcHhcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDQ4MC44IDQ4MC44XCJcbiAgICAgICAgc3R5bGU9XCJlbmFibGUtYmFja2dyb3VuZDogbmV3IDAgMCA0ODAuOCA0ODAuOFwiXG4gICAgICAgIHhtbDpzcGFjZT1cInByZXNlcnZlXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT1cImZpbGw6ICNmZmQ1MTdcIlxuICAgICAgICAgIGQ9XCJNMzE3LjExMiwzMTQuNGMtMjIuNCwyMi40LTE5LjYsNjcuNi0xOS42LDY3LjZoLTExMy42YzAsMCwyLjQtNDUuMi0xOS42LTY3LjZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTI0LjQtMjEuNi00MC01Mi44LTQwLTg3LjZjMC02NCw1Mi0xMTYsMTE2LTExNnMxMTYsNTIsMTE2LDExNkMzNTYuMzEyLDI2MS42LDM0MS4xMTIsMjkyLjgsMzE3LjExMiwzMTQuNEwzMTcuMTEyLDMxNC40elwiXG4gICAgICAgIC8+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHlsZT1cImZpbGw6ICNlNWU1ZTVcIlxuICAgICAgICAgICAgZD1cIk0zMDAuNzEyLDQxNy42YzAsNi00LjgsMTAuOC0xMC44LDEwLjhoLTk4LjhjLTYsMC0xMC44LTQuOC0xMC44LTEwLjhsMCwwYzAtNiw0LjgtMTAuOCwxMC44LTEwLjhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaDk4LjRDMjk1LjUxMiw0MDYuOCwzMDAuNzEyLDQxMS42LDMwMC43MTIsNDE3LjZMMzAwLjcxMiw0MTcuNnpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogI2U1ZTVlNVwiXG4gICAgICAgICAgICBkPVwiTTI4NS45MTIsNDYyLjRjMCw2LTQuOCwxMC44LTEwLjgsMTAuOGgtNjkuMmMtNiwwLTEwLjgtNC44LTEwLjgtMTAuOGwwLDBjMC02LDQuOC0xMC44LDEwLjgtMTAuOFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoNjkuMkMyODEuMTEyLDQ1MS42LDI4NS45MTIsNDU2LjQsMjg1LjkxMiw0NjIuNEwyODUuOTEyLDQ2Mi40elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgc3R5bGU9XCJmaWxsOiAjMjEwYjIwXCJcbiAgICAgICAgICAgIGQ9XCJNMzIzLjExMiwzMTguNGMyNi0yMy42LDQwLjgtNTYuOCw0MC44LTkxLjZjMC02OC01NS42LTEyMy42LTEyMy42LTEyMy42cy0xMjMuNiw1NS42LTEyMy42LDEyMy42XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLDM1LjYsMTUuNiw2OS42LDQyLDkyLjhjMTkuNiwxOS42LDE3LjYsNjEuMiwxNy42LDYxLjZjMCwyLDAuOCw0LDIsNS42YzEuNiwxLjYsMy42LDIuNCw1LjYsMi40aDExMy4yYzIsMCw0LTAuOCw1LjYtMi40XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMyLTMuNiwyLTUuNmMwLTAuNC0yLTQyLDE3LjYtNjEuNkMzMjIuNzEyLDMxOS4yLDMyMy4xMTIsMzE4LjgsMzIzLjExMiwzMTguNHogTTMxMS45MTIsMzA4LjRjLTAuOCwwLjQtMS4yLDEuMi0xLjYsMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLTE3LjYsMTguOC0yMC40LDQ5LjYtMjAuOCw2NGgtOThjLTAuNC0xNC44LTMuNi00Ni44LTIyLjQtNjUuNmMtMjMuNi0yMC44LTM3LjItNTAuNC0zNy4yLTgxLjZjMC02MCw0OC44LTEwOC40LDEwOC40LTEwOC40XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGM2MCwwLDEwOC40LDQ4LjgsMTA4LjQsMTA4LjRDMzQ4LjcxMiwyNTgsMzM1LjUxMiwyODgsMzExLjkxMiwzMDguNHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTI0MC4zMTIsMTM1LjJjLTQsMC03LjYsMy4yLTcuNiw3LjZjMCw0LDMuMiw3LjYsNy42LDcuNmM0NC44LDAsODEuMiwzNi40LDgxLjIsODEuMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMCw0LDMuMiw3LjYsNy42LDcuNmM0LDAsNy42LTMuMiw3LjYtNy42QzMzNi43MTIsMTc4LjQsMjkzLjUxMiwxMzUuMiwyNDAuMzEyLDEzNS4yelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgc3R5bGU9XCJmaWxsOiAjMjEwYjIwXCJcbiAgICAgICAgICAgIGQ9XCJNMzA4LjMxMiw0MTcuNmMwLTEwLjQtOC40LTE4LjQtMTguNC0xOC40aC05OC44Yy0xMC40LDAtMTguNCw4LjQtMTguNCwxOC40XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLDEwLjQsOC40LDE4LjQsMTguNCwxOC40aDk4LjRDMjk5LjkxMiw0MzYsMzA4LjMxMiw0MjgsMzA4LjMxMiw0MTcuNnogTTI4OS41MTIsNDIwLjhoLTk4LjRjLTIsMC0zLjItMS42LTMuMi0zLjJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzAtMiwxLjYtMy4yLDMuMi0zLjJoOTguNGMyLDAsMy4yLDEuNiwzLjIsMy4yQzI5My4xMTIsNDE5LjYsMjkxLjUxMiw0MjAuOCwyODkuNTEyLDQyMC44elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgc3R5bGU9XCJmaWxsOiAjMjEwYjIwXCJcbiAgICAgICAgICAgIGQ9XCJNMjc1LjExMiw0NDRoLTY5LjJjLTEwLjQsMC0xOC40LDguNC0xOC40LDE4LjRjMCwxMC40LDguNCwxOC40LDE4LjQsMTguNGg2OS4yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMxMC40LDAsMTguNC04LjQsMTguNC0xOC40QzI5My41MTIsNDUyLjQsMjg1LjExMiw0NDQsMjc1LjExMiw0NDR6IE0yNzUuMTEyLDQ2NS42aC02OS4yYy0yLDAtMy4yLTEuNi0zLjItMy4yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLTIsMS42LTMuMiwzLjItMy4yaDY5LjJjMiwwLDMuMiwxLjYsMy4yLDMuMkMyNzguMzEyLDQ2NC40LDI3Ny4xMTIsNDY1LjYsMjc1LjExMiw0NjUuNnpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTI0Ny45MTIsNTguOFY3LjZjMC00LTMuMi03LjYtNy42LTcuNmMtNCwwLTcuNiwzLjItNy42LDcuNnY1MS42YzAsNCwzLjIsNy42LDcuNiw3LjZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQzI0NC43MTIsNjYuNCwyNDcuOTEyLDYzLjIsMjQ3LjkxMiw1OC44elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgc3R5bGU9XCJmaWxsOiAjMjEwYjIwXCJcbiAgICAgICAgICAgIGQ9XCJNMzY2LjMxMiwzOGMtMy42LTIuNC04LTEuMi0xMC40LDJsLTI4LjQsNDIuOGMtMi40LDMuNi0xLjIsOCwyLDEwLjRjMS4yLDAuOCwyLjgsMS4yLDQsMS4yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMyLjQsMCw0LjgtMS4yLDYuNC0zLjJsMjguNC00Mi44QzM3MC43MTIsNDUuMiwzNjkuNTEyLDQwLjQsMzY2LjMxMiwzOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTE0OS45MTIsOTIuOGMxLjIsMCwyLjgtMC40LDQtMS4yYzMuNi0yLjQsNC40LTYuOCwyLjQtMTAuNGwtMjcuNi00My4yYy0yLjQtMy42LTYuOC00LjQtMTAuNC0yLjRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0zLjYsMi40LTQuNCw2LjgtMi40LDEwLjRsMjcuNiw0My4yQzE0NS4xMTIsOTEuNiwxNDcuNTEyLDkyLjgsMTQ5LjkxMiw5Mi44elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgc3R5bGU9XCJmaWxsOiAjMjEwYjIwXCJcbiAgICAgICAgICAgIGQ9XCJNNDMuOTEyLDEyOC44bDQ1LjIsMjQuNGMxLjIsMC44LDIuNCwwLjgsMy42LDAuOGMyLjgsMCw1LjItMS42LDYuOC00YzItMy42LDAuOC04LjQtMy4yLTEwLjRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbC00NS4yLTI0LjRjLTMuNi0yLTguNC0wLjgtMTAuNCwzLjJDMzkuMTEyLDEyMi40LDQwLjMxMiwxMjYuOCw0My45MTIsMTI4Ljh6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHlsZT1cImZpbGw6ICMyMTBiMjBcIlxuICAgICAgICAgICAgZD1cIk0zODcuOTEyLDE1NC40YzEuMiwwLDIuNC0wLjQsMy42LTAuOGw0NS4yLTI0LjRjMy42LTIsNS4yLTYuNCwzLjItMTAuNGMtMi0zLjYtNi40LTUuMi0xMC40LTMuMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsLTQ1LjIsMjQuNGMtMy42LDItNS4yLDYuNC0zLjIsMTAuNEMzODIuMzEyLDE1Mi44LDM4NS4xMTIsMTU0LjQsMzg3LjkxMiwxNTQuNHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPHA+XG4gICAgICAgIFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIHRvIGNyZWF0ZSBhIHBvbGljeSBvbiBWQ29tcGx5LiBZb3UgY2FuIGVpdGhlclxuICAgICAgICBkcmFmdCBpdCBmcm9tIHNjcmF0Y2ggdXNpbmcgVkNvbXBseSdzIG9ubGluZSBlZGl0b3Igb3IgdXBsb2FkIGFuXG4gICAgICAgIGV4aXN0aW5nIERPQ1ggb3IgUERGIGZpbGUuXG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGxhYmVsXG4gICAgICBjbGFzcz1cImRvY3VtZW50LWJveFwiXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICdkcmFmdCdcIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBuYW1lPVwic2VsZWN0ZWREb2N1bWVudFR5cGVcIlxuICAgICAgICAoY2hhbmdlKT1cImNoYW5nZURvY1R5cGUoJ2RyYWZ0JylcIlxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZERvY3VtZW50VHlwZSA9PT0gJ2RyYWZ0J1wiXG4gICAgICAvPlxuICAgICAgPHN2ZyBpZD1cIkRyYWZ0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICAgICAgPHBhdGggaWQ9XCJQYXRoXzIwNDAyXCIgZGF0YS1uYW1lPVwiUGF0aCAyMDQwMlwiIGQ9XCJNMjgsMzJINGE0LDQsMCwwLDEtNC00VjRBNCw0LDAsMCwxLDQsMEgyOGE0LDQsMCwwLDEsNCw0VjI4YTQsNCwwLDAsMS00LDRcIiBmaWxsPVwiIzU2NWE2ZlwiLz5cbiAgICAgICAgPHBhdGggaWQ9XCJQYXRoXzIwNDAzXCIgZGF0YS1uYW1lPVwiUGF0aCAyMDQwM1wiIGQ9XCJNMjEuODg0LDguNTEsMTAuNTQ5LDEwLjM4NCwxMi40MjYsMjEuMDZsNC4zOC0uNjFhLjMzMy4zMzMsMCwwLDEsLjMyNi40MzVjLS4wNTEuMjE5LS4zMzguMjM1LS41MTQuMjY3LTEuNDc0LjI2Ni0zLjAwOS4zODgtNC40OTEuNjMxLS40MTYtLjAzMi0uMzIxLS43MTgtLjQ0MS0xbC0zLS4zNjVjLS4yMTMtLjEyLS4yLS4yNzMtLjItLjQ5Mi4wMTktLjYyMi4wOTItMS4yNTEuMTI1LTEuODcyLjE2LTMsLjMxNi02LC41LTguOTkzQTkuNDU3LDkuNDU3LDAsMCwxLDkuMTUyLDguMWEuMzY5LjM2OSwwLDAsMSwuMjY1LS4zbDguNTE5LjY4MUwyMi4yLDcuOGMuMjI1LjA2OC4yNDYuMTkuMy4zOTMuNTUzLDIuMjg4Ljc1OCw0Ljc3NSwxLjI4NSw3LjA4My4xNDMuNTMxLS41MDcuNzMxLS42NDIuMlpNMTcuMjExLDIxLjkzMmEuNTYzLjU2MywwLDAsMC0uMDcyLjI0LDguNTQ5LDguNTQ5LDAsMCwwLDAsMS4xODdjLjAxOS4yMTcuMDg4LjM5My4zMjguNDIxYTkuMTM4LDkuMTM4LDAsMCwwLDEuNDQ4LS4wMjEuNTMuNTMsMCwwLDAsLjEyMi0uMDY1bDMuNzU2LTMuNzcxTDIxLDE4LjEzWm01LjMyOS01LjM1Yy0uMzY1LjI4Ni0uNy43NTctMS4wNjEsMS4wNjJMMjMuMywxOS40MzdjLjMtLjM1Ljc3Ny0uNjg3LDEuMDUtMS4wNDQuMTUtLjIuMTc0LS4zMTIuMDE3LS41MTZhMTMuODUxLDEzLjg1MSwwLDAsMC0xLjMyNy0xLjMyNy4zOTMuMzkzLDAsMCwwLS4yMy0uMS40NzYuNDc2LDAsMCwwLS4yNzEuMTNcIiBmaWxsPVwiI2ZmZlwiLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgXG4gICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtcmlnaHRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+PHN0cm9uZz5DcmVhdGU8L3N0cm9uZz4gYSBQb2xpY3k8L2Rpdj5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBkb2N1bWVudC1ib3gtaWNvbiB2eC1mcy0xNiB2eC1tci0yXCI+JiN4ZWE0Njs8L2k+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1jaXJjbGVcIj5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvblwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiXG4gICAgICAgICAgICAgIGN4PVwiMjZcIlxuICAgICAgICAgICAgICBjeT1cIjI2XCJcbiAgICAgICAgICAgICAgcj1cIjI1XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xhYmVsPlxuXG4gICAgXG4gICAgPGxhYmVsXG4gICAgICAqbmdJZj1cImZmX3BvbGljeV9tc193b3JkX2ludGVncmF0aW9uXCJcbiAgICAgIGNsYXNzPVwiZG9jdW1lbnQtYm94XCJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT0gJ3dvcmQnXCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgbmFtZT1cInNlbGVjdGVkRG9jdW1lbnRUeXBlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VEb2NUeXBlKCd3b3JkJylcIlxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZERvY3VtZW50VHlwZSA9PT0gJ3dvcmQnXCJcbiAgICAgIC8+XG4gICAgICA8c3ZnIGlkPVwiV29yZC1JY29uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICAgICAgPHBhdGggaWQ9XCJQYXRoXzIwNDA0XCIgZGF0YS1uYW1lPVwiUGF0aCAyMDQwNFwiIGQ9XCJNMjgsMzJINGE0LDQsMCwwLDEtNC00VjRBNCw0LDAsMCwxLDQsMEgyOGE0LDQsMCwwLDEsNCw0VjI4YTQsNCwwLDAsMS00LDRcIiBmaWxsPVwiIzFlNWRkM1wiLz5cbiAgICAgICAgPHBhdGggaWQ9XCJQYXRoXzIwNDA1XCIgZGF0YS1uYW1lPVwiUGF0aCAyMDQwNVwiIGQ9XCJNMTAuNDE5LDkuNzE4bDEuODg5LDkuMTIxTDEyLjQ0LDIwbC4xMzItLjg4NSwyLjE1Mi05LjQsMi42MjYuMDE4LDIuMTg3LDkuMTA2LjE3NCwxLjEzMmExMy40LDEzLjQsMCwwLDEsLjE3NC0xLjM1MmMuNS0yLjk1NCwxLjE4OC01Ljg4LDEuNy04LjgzMmwuMDQtLjA3SDI0TDIxLjA4NSwyMi4yODFsLTIuODE4LS4wMjZMMTUuOTMxLDEyLjIybC0uMTYsMS4wNzctMi4wMTUsOC45ODYtMi44MjktLjAyOEw4LDkuNzE4WlwiIGZpbGw9XCIjZmZmXCIvPlxuICAgICAgPC9zdmc+XG4gICAgICBcbiAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1yaWdodFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj57e2NyZWF0ZVdvcmRQb2xpY3lUZXh0fX08L2Rpdj5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBkb2N1bWVudC1ib3gtaWNvbiB2eC1mcy0xNiB2eC1tci0yXCI+JiN4ZWE0Njs8L2k+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1jaXJjbGVcIj5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvblwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiXG4gICAgICAgICAgICAgIGN4PVwiMjZcIlxuICAgICAgICAgICAgICBjeT1cIjI2XCJcbiAgICAgICAgICAgICAgcj1cIjI1XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xhYmVsPlxuXG5cblxuICAgIDxsYWJlbFxuICAgICAgY2xhc3M9XCJkb2N1bWVudC1ib3hcIlxuICAgICAgKm5nSWY9XCJzaG93RG9jeEJsb2NrXCJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT0gJ2RvY3gnICYmICFkb2N4RXJyb3I/LnZpc2libGVcIlxuICAgICAgW2NsYXNzLmVycm9yXT1cImRvY3hFcnJvcj8udmlzaWJsZVwiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgYWNjZXB0PVwiLmRvY3hcIlxuICAgICAgICBpZD1cIkRPQ2ZpbGVcIlxuICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUZpbGVJbnB1dCgkZXZlbnQudGFyZ2V0LmZpbGVzKVwiXG4gICAgICAgIG9uY2xpY2s9XCJldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgICAgICAjZG9jeFVwbG9hZEJ1dHRvblxuICAgICAgLz5cbiAgICAgIDxzdmcgaWQ9XCJXb3JkLUljb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPlxuICAgICAgICA8cGF0aCBpZD1cIlBhdGhfMjA0MDRcIiBkYXRhLW5hbWU9XCJQYXRoIDIwNDA0XCIgZD1cIk0yOCwzMkg0YTQsNCwwLDAsMS00LTRWNEE0LDQsMCwwLDEsNCwwSDI4YTQsNCwwLDAsMSw0LDRWMjhhNCw0LDAsMCwxLTQsNFwiIGZpbGw9XCIjMWU1ZGQzXCIvPlxuICAgICAgICA8cGF0aCBpZD1cIlBhdGhfMjA0MDVcIiBkYXRhLW5hbWU9XCJQYXRoIDIwNDA1XCIgZD1cIk0xMC40MTksOS43MThsMS44ODksOS4xMjFMMTIuNDQsMjBsLjEzMi0uODg1LDIuMTUyLTkuNCwyLjYyNi4wMTgsMi4xODcsOS4xMDYuMTc0LDEuMTMyYTEzLjQsMTMuNCwwLDAsMSwuMTc0LTEuMzUyYy41LTIuOTU0LDEuMTg4LTUuODgsMS43LTguODMybC4wNC0uMDdIMjRMMjEuMDg1LDIyLjI4MWwtMi44MTgtLjAyNkwxNS45MzEsMTIuMjJsLS4xNiwxLjA3Ny0yLjAxNSw4Ljk4Ni0yLjgyOS0uMDI4TDgsOS43MThaXCIgZmlsbD1cIiNmZmZcIi8+XG4gICAgICA8L3N2Zz5cbiAgICAgIFxuICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXJpZ2h0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKHNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICdkb2N4JyAmJiBmaWxlbmFtZSlcIlxuICAgICAgICAgICAgPlVwbG9hZCBhIDxzdHJvbmc+RE9DWDwvc3Ryb25nPjwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZERvY3VtZW50VHlwZSA9PSAnZG9jeCcgJiYgZmlsZW5hbWVcIj57e1xuICAgICAgICAgICAgZmlsZW5hbWVcbiAgICAgICAgICB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLW1zZy10ZXh0XCIgKm5nSWY9XCJkb2N4RXJyb3I/LnZpc2libGVcIj5cbiAgICAgICAgICB7eyBkb2N4RXJyb3I/Lm1lc3NhZ2UgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgZG9jdW1lbnQtYm94LWljb24gdngtZnMtMTYgdngtbXItMlwiPiYjeGVhOTc7PC9pPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2stY2lyY2xlXCIgKm5nSWY9XCIhZG9jeEVycm9yPy52aXNpYmxlXCI+XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25cIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDUyIDUyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Y2lyY2xlXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaXJjbGVcIlxuICAgICAgICAgICAgICBjeD1cIjI2XCJcbiAgICAgICAgICAgICAgY3k9XCIyNlwiXG4gICAgICAgICAgICAgIHI9XCIyNVwiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aSBjbGFzcz1cImljb25zIGVycm9yLWljb25cIiAqbmdJZj1cImRvY3hFcnJvcj8udmlzaWJsZVwiPiYjeGU5MTQ7PC9pPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibGluZS1wcm9ncmVzc1wiXG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT0gJ2RvY3gnICYmIGlzVXBsb2FkaW5nXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxpbmUtcHJvZ3Jlc3MtYmFyXCI+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xhYmVsPlxuICAgIDxsYWJlbFxuICAgICAgY2xhc3M9XCJkb2N1bWVudC1ib3hcIlxuICAgICAgKm5nSWY9XCJzaG93UGRmQmxvY2tcIlxuICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZERvY3VtZW50VHlwZSA9PSAncGRmJ1wiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgYWNjZXB0PVwiLnBkZlwiXG4gICAgICAgIGlkPVwiUERGZmlsZVwiXG4gICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlRmlsZUlucHV0KCRldmVudC50YXJnZXQuZmlsZXMpXCJcbiAgICAgICAgb25jbGljaz1cImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXG4gICAgICAgICNwZGZVcGxvYWRCdXR0b25cbiAgICAgIC8+XG4gICAgICA8c3ZnIGlkPVwiUERGLUljb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPlxuICAgICAgICA8cGF0aCBpZD1cIlBhdGhfMjA0MDhcIiBkYXRhLW5hbWU9XCJQYXRoIDIwNDA4XCIgZD1cIk0yOCwzMkg0YTQsNCwwLDAsMS00LTRWNEE0LDQsMCwwLDEsNCwwSDI4YTQsNCwwLDAsMSw0LDRWMjhhNCw0LDAsMCwxLTQsNFwiIGZpbGw9XCIjYTgyYTFkXCIvPlxuICAgICAgICA8cGF0aCBpZD1cIlBhdGhfMjA0MDlcIiBkYXRhLW5hbWU9XCJQYXRoIDIwNDA5XCIgZD1cIk0xNi4xMjUsMTMuNzc4QTEuMzksMS4zOSwwLDAsMCwxNi4yODUsMTVhMTYuMTA2LDE2LjEwNiwwLDAsMCwyLjEwNiwyLjU1NGMuMzEyLS4wNDUuNi0uMDQ3LDEuMi0uMDkyYTYuOTY0LDYuOTY0LDAsMCwxLDMuNjE2LjIzOSwxLjMxLDEuMzEsMCwwLDEsLjc4NCwxLjM2MSwxLjE3NiwxLjE3NiwwLDAsMS0xLjA3NS45ODFjLTIuMjI0LjMzNi0zLjMwNS0uOS00LjU3OS0xLjc0NmEyLjA5NCwyLjA5NCwwLDAsMC0uODEyLjAyMSwyNS43ODIsMjUuNzgyLDAsMCwwLTMuNDEyLjkxNmMtLjI1My4wODktLjMzOC4zLS41MzMuNjA5YTExLjA2MiwxMS4wNjIsMCwwLDEtMi44MiwzLjQyNywyLjE0NSwyLjE0NSwwLDAsMS0xLjg2MS40NDVjLTEtLjIyMi0xLjE3OC0xLjE4Mi0uNS0xLjk0MkE5LjQ1Miw5LjQ1MiwwLDAsMSwxMCwyMC40NjJhMTQuNzE0LDE0LjcxNCwwLDAsMSwyLjQxOC0xLjEwOWMuNDkxLS40NjEuNTU2LS42ODYuOTY2LTEuNzY0LjQzMS0xLjEzNi45MjItMi4yNSwxLjMyNC0zLjRhMS42NzksMS42NzksMCwwLDAtLjAzNS0xLjA2Miw3LjcsNy43LDAsMCwxLS42MzgtMy40NzYsMS40LDEuNCwwLDAsMSwuOTU5LTEuMzkzLDEuMjc5LDEuMjc5LDAsMCwxLDEuNDY0LjhjLjIuNDc5LjU1MiwxLjc1LS4zMzEsNC43MjhtLS4zNzcsMS4zNzctMS40MTgsMy40MjIsMy4zNTMtLjg4My0xLjkzNS0yLjUzOW0zLjIyMiwyLjg4MkE0LjUsNC41LDAsMCwwLDIxLjkyLDE5LjM3Yy4zNzcsMCwuNzE0LS4xMzEuNzMzLS42LjA1MS0xLjI1MS0yLjY1Ni0uODY0LTMuNjgyLS43M20tNi45NiwyLjAzN2E5Ljc4OCw5Ljc4OCwwLDAsMC0yLjk3NSwxLjhjLS4yMTguMTcxLS40NDYuNzE4LS4yODIuOTg0cy44MS4wNjcsMS0uMTJhOS4yOSw5LjI5LDAsMCwwLDIuMjUzLTIuNjY0bTMuMjQ2LTcuMjQzYy0uMDQ1LS44NzguNDYxLTIuMTcyLjQzNy0zLjIyNC0uMDA4LS4zNTUtLjA1MS0uNzQ3LS41LS43NzItLjM2NC0uMDItLjUzNC40NzYtLjU2OS43NjJhNS44LDUuOCwwLDAsMCwuNjM2LDMuMjM0XCIgZmlsbD1cIiNmZmZcIi8+XG4gICAgICA8L3N2Zz5cbiAgICAgIFxuICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXJpZ2h0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhKHNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICdwZGYnICYmIGZpbGVuYW1lKVwiXG4gICAgICAgICAgICA+VXBsb2FkIGEgPHN0cm9uZz5QREY8L3N0cm9uZz48L25nLWNvbnRhaW5lclxuICAgICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT0gJ3BkZicgJiYgZmlsZW5hbWVcIj57e1xuICAgICAgICAgICAgZmlsZW5hbWVcbiAgICAgICAgICB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBkb2N1bWVudC1ib3gtaWNvbiB2eC1mcy0xNiB2eC1tci0yXCI+JiN4ZWE5Nzs8L2k+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1jaXJjbGVcIj5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvblwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiXG4gICAgICAgICAgICAgIGN4PVwiMjZcIlxuICAgICAgICAgICAgICBjeT1cIjI2XCJcbiAgICAgICAgICAgICAgcj1cIjI1XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJsaW5lLXByb2dyZXNzXCJcbiAgICAgICAgKm5nSWY9XCJzZWxlY3RlZERvY3VtZW50VHlwZSA9PSAncGRmJyAmJiBpc1VwbG9hZGluZ1wiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lLXByb2dyZXNzLWJhclwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9sYWJlbD5cbiAgICA8IS0tIFNlbGVjdCBhIHRlbXBsYXRlIC0tPlxuICAgIDxsYWJlbFxuICAgICAgY2xhc3M9XCJkb2N1bWVudC1ib3hcIlxuICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZERvY3VtZW50VHlwZSA9PT0gJ3RlbXBsYXRlJ1wiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIG5hbWU9XCJzZWxlY3RlZERvY3VtZW50VHlwZVwiXG4gICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlRG9jVHlwZSgndGVtcGxhdGUnKVwiXG4gICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09PSAndGVtcGxhdGUnXCJcbiAgICAgIC8+XG4gICAgICA8c3ZnIGlkPVwiVE1QLUljb25cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPlxuICAgICAgICA8cGF0aCBpZD1cIlBhdGhfMjA0MDZcIiBkYXRhLW5hbWU9XCJQYXRoIDIwNDA2XCIgZD1cIk0yOCwzMkg0YTQsNCwwLDAsMS00LTRWNEE0LDQsMCwwLDEsNCwwSDI4YTQsNCwwLDAsMSw0LDRWMjhhNCw0LDAsMCwxLTQsNFwiIGZpbGw9XCIjMzRhYTQ0XCIvPlxuICAgICAgICA8cGF0aCBpZD1cIlBhdGhfMjA0MTBcIiBkYXRhLW5hbWU9XCJQYXRoIDIwNDEwXCIgZD1cIk0xNiwxLjc3OFYzLjU1NUgwVjEuNzc4QTEuNzgzLDEuNzgzLDAsMCwxLDEuNzc4LDBIMTQuMjIzQTEuNzgzLDEuNzgzLDAsMCwxLDE2LDEuNzc4TTAsNC40NDRIMTZ2OC44ODlhMS43NzgsMS43NzgsMCwwLDEtMS43NzcsMS43NzhIMS43NzhBMS43NzgsMS43NzgsMCwwLDEsMCwxMy4zMzNaTTYuOTksOS45MjhBLjg5MS44OTEsMCwwLDAsNi4xLDkuMDM5SDMuNjQyYS44OTEuODkxLDAsMCwwLS44ODguODg5djIuNDU2YS44OTEuODkxLDAsMCwwLC44ODguODg5SDYuMWEuODkxLjg5MSwwLDAsMCwuODg4LS44ODlabTYuMzA2LDBhLjg5Mi44OTIsMCwwLDAtLjg4OS0uODg5SDkuOTQ4YS44OTEuODkxLDAsMCwwLS44ODguODg5djIuNDU2YS44OTEuODkxLDAsMCwwLC44ODguODg5aDIuNDU5YS44OTIuODkyLDAsMCwwLC44ODktLjg4OVpNMi42NjcsNy4xMTFBLjg4OS44ODksMCwwLDAsMy41NTYsOGg4Ljg4OWEuODg5Ljg4OSwwLDAsMCwwLTEuNzc4SDMuNTU2YS44ODkuODg5LDAsMCwwLS44ODkuODg5XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDggNy45OTkpXCIgZmlsbD1cIiNmZmZcIi8+XG4gICAgICA8L3N2Zz5cbiAgICAgIFxuICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXJpZ2h0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPkRyYWZ0IFVzaW5nIGEgPHN0cm9uZz5UZW1wbGF0ZTwvc3Ryb25nPjwvZGl2PlxuICAgICAgICA8aSBjbGFzcz1cImljb25zIGRvY3VtZW50LWJveC1pY29uIHZ4LWZzLTE2IHZ4LW1yLTJcIj4mI3hlYTQ2OzwvaT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrLWNpcmNsZVwiPlxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCA1MiA1MlwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGNpcmNsZVxuICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCJcbiAgICAgICAgICAgICAgY3g9XCIyNlwiXG4gICAgICAgICAgICAgIGN5PVwiMjZcIlxuICAgICAgICAgICAgICByPVwiMjVcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NoZWNrXCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICBkPVwiTTE0LjEgMjcuMmw3LjEgNy4yIDE2LjctMTYuOFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbGFiZWw+XG4gICAgPCEtLSBFbmQgU2VsZWN0IGEgdGVtcGxhdGUgLS0+XG4gICAgPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwiaXNMb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImJvdHRvbS1idXR0b25cIiBbY2xhc3MuZ3JheXNjYWxlXT1cImlzVGVtcGxhdGVPcGVuZWRcIj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJlZGl0UG9saWN5RW1pdCgpXCJcbiAgICBjbGFzcz1cImJhY2tcIlxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJpc1RlbXBsYXRlT3BlbmVkXCJcbiAgPlxuICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFkOzwvaT4gQmFja1xuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJlZGl0b3Ioc2VsZWN0ZWREb2N1bWVudFR5cGUpXCJcbiAgICBjbGFzcz1cIm5leHRcIlxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCIhc2VsZWN0ZWREb2N1bWVudFR5cGUgfHwgaXNUZW1wbGF0ZU9wZW5lZCB8fCBpc0xvYWRlclwiXG4gID5cbiAgICBOZXh0IDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFlOzwvaT5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==