valtech-components 4.0.1025 → 4.0.1027
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/molecules/comment/comment.component.mjs +55 -4
- package/esm2022/lib/components/molecules/comment/types.mjs +1 -1
- package/esm2022/lib/components/organisms/login/login.component.mjs +3 -3
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +57 -6
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/comment/types.d.ts +16 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ import { IonIcon, IonButton, IonPopover, IonList, IonItem, IonLabel } from '@ion
|
|
|
4
4
|
import { I18nService } from '../../../services/i18n';
|
|
5
5
|
import { AvatarComponent } from '../../atoms/avatar/avatar.component';
|
|
6
6
|
import { addIcons } from 'ionicons';
|
|
7
|
-
import { ellipsisHorizontal, checkmarkCircle, chatbubbleOutline, heartOutline, heart, thumbsUpOutline, thumbsUp, happyOutline, happy, sadOutline, sad, chevronDown, chevronUp, pin, pencil, trash, flag, share, } from 'ionicons/icons';
|
|
7
|
+
import { ellipsisHorizontal, checkmarkCircle, chatbubbleOutline, heartOutline, heart, thumbsUpOutline, thumbsUp, happyOutline, happy, sadOutline, sad, chevronDown, chevronUp, pin, pencil, trash, flag, share, documentOutline, } from 'ionicons/icons';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
addIcons({
|
|
10
10
|
ellipsisHorizontal,
|
|
@@ -25,6 +25,7 @@ addIcons({
|
|
|
25
25
|
trash,
|
|
26
26
|
flag,
|
|
27
27
|
share,
|
|
28
|
+
documentOutline,
|
|
28
29
|
});
|
|
29
30
|
/**
|
|
30
31
|
* Defaults i18n (es/en) — auto-registrados si el consumer no proveyó el
|
|
@@ -252,6 +253,7 @@ export class CommentComponent {
|
|
|
252
253
|
[class.highlighted]="props.highlighted"
|
|
253
254
|
[class.pinned]="props.pinned"
|
|
254
255
|
[class.collapsed]="props.collapsed"
|
|
256
|
+
[class.comment--social]="props.variant === 'social'"
|
|
255
257
|
[style.--depth]="props.depth || 0"
|
|
256
258
|
>
|
|
257
259
|
@if (props.pinned) {
|
|
@@ -332,6 +334,30 @@ export class CommentComponent {
|
|
|
332
334
|
@if (!props.collapsed) {
|
|
333
335
|
<div class="comment-content" [innerHTML]="processContent(displayContent)"></div>
|
|
334
336
|
|
|
337
|
+
@if (props.attachments && props.attachments.length > 0) {
|
|
338
|
+
<div class="comment-attachments">
|
|
339
|
+
@for (attachment of props.attachments; track attachment.token) {
|
|
340
|
+
@if (attachment.type === 'image') {
|
|
341
|
+
<img class="comment-attachment-image" [src]="attachment.url" [alt]="attachment.label || ''" />
|
|
342
|
+
} @else if (attachment.type === 'video') {
|
|
343
|
+
<video
|
|
344
|
+
class="comment-attachment-video"
|
|
345
|
+
[src]="attachment.url"
|
|
346
|
+
[poster]="attachment.thumbnailUrl || ''"
|
|
347
|
+
[attr.aria-label]="attachment.label || null"
|
|
348
|
+
controls
|
|
349
|
+
preload="metadata"
|
|
350
|
+
></video>
|
|
351
|
+
} @else {
|
|
352
|
+
<a class="comment-attachment-file" [href]="attachment.url" target="_blank" rel="noopener">
|
|
353
|
+
<ion-icon name="document-outline" aria-hidden="true"></ion-icon>
|
|
354
|
+
<span>{{ attachment.label || attachment.url }}</span>
|
|
355
|
+
</a>
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
</div>
|
|
359
|
+
}
|
|
360
|
+
|
|
335
361
|
@if ((props.reactions && props.reactions.length > 0) || (props.actions && props.actions.length > 0)) {
|
|
336
362
|
<div class="comment-footer">
|
|
337
363
|
@if (props.reactions && props.reactions.length > 0) {
|
|
@@ -421,7 +447,7 @@ export class CommentComponent {
|
|
|
421
447
|
</div>
|
|
422
448
|
}
|
|
423
449
|
</div>
|
|
424
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--val-radius-xs: 10px;--val-radius-sm: 16px;--val-radius-md: 20px;--val-radius-lg: 28px;--val-radius-xl: 36px;--val-radius-full: 999px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #737478;--ion-color-medium-rgb: 115,116,120;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255,255,255;--ion-color-medium-shade: #65666a;--ion-color-medium-tint: #818286;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}:host{display:block}.comment{--indent-size: 20px;--max-indent: 64px;--comment-surface: rgba(var(--ion-color-medium-rgb), .06);--comment-surface-highlighted: rgba(var(--ion-color-primary-rgb), .1);background:var(--comment-surface);border-radius:var(--val-radius-sm, 16px);padding:14px 16px}.comment.highlighted{background-color:var(--comment-surface-highlighted)}.comment.pinned{box-shadow:inset 3px 0 0 var(--ion-color-primary)}.comment.collapsed{opacity:.7}.pinned-indicator{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--ion-color-primary);margin-bottom:8px;padding-left:48px}.pinned-indicator ion-icon{font-size:.875rem}.comment-main{display:flex;gap:12px}.comment-avatar{flex-shrink:0;cursor:pointer;padding:0;border:none;background:none;line-height:0;border-radius:50%}.comment-avatar:focus{outline:none}.comment-avatar:focus-visible{outline:.125rem solid var(--ion-color-primary, #7026df);outline-offset:2px;border-radius:inherit}.comment-avatar val-avatar{--size: 36px}.comment-avatar .avatar-placeholder{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--ion-color-primary),var(--ion-color-secondary));display:flex;align-items:center;justify-content:center;color:#fff;font-size:.875rem;font-weight:600}.comment-body{flex:1;min-width:0}.comment-header{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:4px}.author-info{display:flex;align-items:center;gap:4px;cursor:pointer;padding:0;border:none;background:none;font:inherit;color:inherit;text-align:inherit}.author-info:focus{outline:none}.author-info:focus-visible{outline:.125rem solid var(--ion-color-primary, #7026df);outline-offset:2px;border-radius:inherit}.author-info:hover .author-name{text-decoration:underline}.author-name{font-weight:600;font-size:.875rem;color:var(--ion-text-color)}.verified-badge{color:var(--ion-color-primary);font-size:1rem}.author-username{font-size:.8125rem;color:var(--ion-color-dark)}.comment-meta{display:flex;align-items:center;gap:6px;margin-left:auto}.timestamp{font-size:.75rem;color:var(--ion-color-dark)}.edited-label{font-size:.6875rem;color:var(--ion-color-dark);font-style:italic}.more-button{--padding-start: 4px;--padding-end: 4px;margin:0;height:28px}.more-button ion-icon{font-size:1.125rem;color:var(--ion-color-dark)}.menu-divider{height:1px;background-color:var(--ion-color-light);margin:4px 0}.comment-content{font-size:.875rem;line-height:1.5;color:var(--ion-text-color);word-wrap:break-word;overflow-wrap:break-word}.comment-content :global(.comment-link){color:var(--ion-color-primary);text-decoration:none}.comment-content :global(.comment-link):hover{text-decoration:underline}.comment-content :global(.comment-mention),.comment-content :global(.comment-hashtag){display:inline-block;background:rgba(var(--ion-color-primary-rgb),.14);color:var(--ion-color-primary);font-weight:600;padding:1px 8px;border-radius:var(--val-radius-full, 999px);cursor:pointer;transition:background-color .15s ease}.comment-content :global(.comment-mention):hover,.comment-content :global(.comment-hashtag):hover{background:rgba(var(--ion-color-primary-rgb),.22);text-decoration:none}.comment-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.comment-reactions{display:flex;flex-wrap:wrap;gap:8px}.reaction-button{display:flex;align-items:center;justify-content:center;gap:4px;width:32px;height:32px;padding:0;background:transparent;border:1px solid rgba(var(--ion-color-medium-rgb),.22);border-radius:var(--val-radius-full, 999px);cursor:pointer;font-size:.8125rem;color:var(--reaction-color, var(--ion-color-medium));transition:background-color .15s ease,border-color .15s ease}.reaction-button.has-count{width:auto;padding:0 10px}.reaction-button:hover{background-color:rgba(var(--ion-color-medium-rgb),.1)}.reaction-button.active{background-color:rgba(var(--ion-color-primary-rgb),.12);border-color:rgba(var(--ion-color-primary-rgb),.32)}.reaction-button.active ion-icon{transform:scale(1.1)}.reaction-button ion-icon{font-size:1.0625rem;transition:transform .2s ease}.reaction-button .reaction-count{font-weight:600}.comment-actions{display:flex;flex-wrap:wrap;gap:4px}.comment-action-button{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--ion-color-medium);transition:background-color .15s ease}.comment-action-button:hover{background-color:rgba(var(--ion-color-medium-rgb),.1)}.comment-action-button:disabled{opacity:.5;cursor:default}.comment-action-button ion-icon{font-size:1rem}.comment-action-button.action-color-primary{color:var(--ion-color-primary)}.comment-action-button.action-color-danger{color:var(--ion-color-danger)}.comment-action-button.action-color-dark{color:var(--ion-color-dark)}.expand-button,.collapse-button{display:flex;align-items:center;gap:6px;background:none;border:none;padding:8px 12px;cursor:pointer;font-size:.8125rem;color:var(--ion-color-primary);border-radius:8px;transition:background-color .2s}.expand-button:hover,.collapse-button:hover{background-color:rgba(var(--ion-color-primary-rgb),.1)}.expand-button ion-icon,.collapse-button ion-icon{font-size:1rem}.load-more-button,.view-replies-button{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid rgba(var(--ion-color-medium-rgb),.24);padding:5px 10px;cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--ion-text-color);border-radius:var(--val-radius-full, 999px);transition:background-color .15s ease}.load-more-button:hover,.view-replies-button:hover{background-color:rgba(var(--ion-color-medium-rgb),.1)}.load-more-button ion-icon,.view-replies-button ion-icon{font-size:.9375rem}.expand-button{margin-top:4px;color:var(--ion-color-dark)}.comment-children{margin-top:10px;padding-left:min(var(--indent-size),var(--max-indent));display:flex;flex-direction:column;gap:10px}.comment-children val-comment{display:block}.load-more-button,.view-replies-button{margin-top:4px;margin-left:0}ion-popover{--width: 200px}ion-popover ion-list{padding:4px 0}ion-popover ion-item{--min-height: 40px;--padding-start: 12px;font-size:.875rem}ion-popover ion-item ion-icon{font-size:1.125rem;margin-right:8px}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 2px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 2px);height:max(28px,36px - 2px);font-size:max(.6875rem,.8125rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 4px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 4px);height:max(28px,36px - 4px);font-size:max(.6875rem,.75rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 6px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 6px);height:max(28px,36px - 6px);font-size:max(.6875rem,.6875rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 8px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 8px);height:max(28px,36px - 8px);font-size:max(.6875rem,.625rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 10px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 10px);height:max(28px,36px - 10px);font-size:max(.6875rem,.5625rem)}:host-context(.dark) .comment,:host-context(.ion-palette-dark) .comment,:host-context(html.ion-palette-dark) .comment,:host-context(body.dark) .comment,:host-context([data-theme=dark]) .comment{--comment-surface: rgba(255, 255, 255, .06);--comment-surface-highlighted: rgba(var(--ion-color-primary-rgb), .16)}:host-context(.dark) .avatar-placeholder,:host-context(.ion-palette-dark) .avatar-placeholder,:host-context(html.ion-palette-dark) .avatar-placeholder,:host-context(body.dark) .avatar-placeholder,:host-context([data-theme=dark]) .avatar-placeholder{background:linear-gradient(135deg,var(--ion-color-primary-shade),var(--ion-color-secondary-shade))}\n"], dependencies: [{ kind: "component", type: CommentComponent, selector: "val-comment", inputs: ["props"], outputs: ["authorClick", "reactionClick", "actionClick", "menuItemClick", "loadMoreClick", "collapseToggle"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonPopover, selector: "ion-popover" }, { kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: AvatarComponent, selector: "val-avatar", inputs: ["preset", "props"], outputs: ["onClick"] }] }); }
|
|
450
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--val-radius-xs: 10px;--val-radius-sm: 16px;--val-radius-md: 20px;--val-radius-lg: 28px;--val-radius-xl: 36px;--val-radius-full: 999px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #737478;--ion-color-medium-rgb: 115,116,120;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255,255,255;--ion-color-medium-shade: #65666a;--ion-color-medium-tint: #818286;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}:host{display:block}.comment{--indent-size: 20px;--max-indent: 64px;--comment-surface: rgba(var(--ion-color-medium-rgb), .06);--comment-surface-highlighted: rgba(var(--ion-color-primary-rgb), .1);background:var(--comment-surface);border-radius:var(--val-radius-sm, 16px);padding:14px 16px}.comment.highlighted{background-color:var(--comment-surface-highlighted)}.comment.pinned{box-shadow:inset 3px 0 0 var(--ion-color-primary)}.comment.collapsed{opacity:.7}.comment--social{--comment-surface: var(--ion-card-background, var(--ion-background-color, #fff));padding:18px;border-radius:24px;box-shadow:0 1px rgba(var(--ion-color-medium-rgb),.08)}.comment--social .comment-main{gap:14px;align-items:flex-start}.comment--social .comment-avatar{align-self:flex-start}.comment--social .comment-avatar val-avatar{--size: 48px}.comment--social .comment-avatar .avatar-placeholder{width:48px;height:48px;font-size:1rem}.comment--social .comment-header{gap:8px;margin-bottom:10px}.comment--social .author-name{font-size:1rem;font-weight:700}.comment--social .author-username,.comment--social .timestamp{font-size:.875rem}.comment--social .more-button{width:32px;height:32px}.comment--social .comment-content{font-size:1rem;line-height:1.45;font-weight:600;margin-bottom:12px}.comment--social .comment-footer{margin-top:12px}.comment--social .reaction-button{min-width:44px;height:34px;border-color:rgba(var(--ion-color-medium-rgb),.3);background:var(--ion-card-background, var(--ion-background-color, #fff))}.comment--social .comment-action-button{font-size:1rem;color:var(--ion-color-dark)}.pinned-indicator{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--ion-color-primary);margin-bottom:8px;padding-left:48px}.pinned-indicator ion-icon{font-size:.875rem}.comment-main{display:flex;gap:12px}.comment-avatar{flex-shrink:0;cursor:pointer;padding:0;border:none;background:none;line-height:0;border-radius:50%}.comment-avatar:focus{outline:none}.comment-avatar:focus-visible{outline:.125rem solid var(--ion-color-primary, #7026df);outline-offset:2px;border-radius:inherit}.comment-avatar val-avatar{--size: 36px}.comment-avatar .avatar-placeholder{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--ion-color-primary),var(--ion-color-secondary));display:flex;align-items:center;justify-content:center;color:#fff;font-size:.875rem;font-weight:600}.comment-body{flex:1;min-width:0}.comment-header{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:4px}.author-info{display:flex;align-items:center;gap:4px;cursor:pointer;padding:0;border:none;background:none;font:inherit;color:inherit;text-align:inherit}.author-info:focus{outline:none}.author-info:focus-visible{outline:.125rem solid var(--ion-color-primary, #7026df);outline-offset:2px;border-radius:inherit}.author-info:hover .author-name{text-decoration:underline}.author-name{font-weight:600;font-size:.875rem;color:var(--ion-text-color)}.verified-badge{color:var(--ion-color-primary);font-size:1rem}.author-username{font-size:.8125rem;color:var(--ion-color-dark)}.comment-meta{display:flex;align-items:center;gap:6px;margin-left:auto}.timestamp{font-size:.75rem;color:var(--ion-color-dark)}.edited-label{font-size:.6875rem;color:var(--ion-color-dark);font-style:italic}.more-button{--padding-start: 4px;--padding-end: 4px;margin:0;height:28px}.more-button ion-icon{font-size:1.125rem;color:var(--ion-color-dark)}.menu-divider{height:1px;background-color:var(--ion-color-light);margin:4px 0}.comment-content{font-size:.875rem;line-height:1.5;color:var(--ion-text-color);word-wrap:break-word;overflow-wrap:break-word}.comment-content :global(.comment-link){color:var(--ion-color-primary);text-decoration:none}.comment-content :global(.comment-link):hover{text-decoration:underline}.comment-content :global(.comment-mention),.comment-content :global(.comment-hashtag){display:inline-block;background:rgba(var(--ion-color-primary-rgb),.14);color:var(--ion-color-primary);font-weight:600;padding:1px 8px;border-radius:var(--val-radius-full, 999px);cursor:pointer;transition:background-color .15s ease}.comment-content :global(.comment-mention):hover,.comment-content :global(.comment-hashtag):hover{background:rgba(var(--ion-color-primary-rgb),.22);text-decoration:none}.comment-attachments{display:flex;flex-direction:column;gap:10px}.comment-attachment-image,.comment-attachment-video{display:block;width:100%;max-height:360px;aspect-ratio:16/9;border-radius:14px;border:1px solid var(--val-border-color, rgba(0, 0, 0, .08));object-fit:cover;background:rgba(var(--ion-color-medium-rgb),.08)}.comment-attachment-file{display:inline-flex;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:8px 12px;border-radius:var(--val-radius-full, 999px);border:1px solid rgba(var(--ion-color-medium-rgb),.24);color:var(--ion-color-dark);text-decoration:none;font-size:.875rem;font-weight:600}.comment-attachment-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comment-attachment-file ion-icon{flex-shrink:0;font-size:1rem}.comment-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.comment-reactions{display:flex;flex-wrap:wrap;gap:8px}.reaction-button{display:flex;align-items:center;justify-content:center;gap:4px;width:32px;height:32px;padding:0;background:transparent;border:1px solid rgba(var(--ion-color-medium-rgb),.22);border-radius:var(--val-radius-full, 999px);cursor:pointer;font-size:.8125rem;color:var(--reaction-color, var(--ion-color-medium));transition:background-color .15s ease,border-color .15s ease}.reaction-button.has-count{width:auto;padding:0 10px}.reaction-button:hover{background-color:rgba(var(--ion-color-medium-rgb),.1)}.reaction-button.active{background-color:rgba(var(--ion-color-primary-rgb),.12);border-color:rgba(var(--ion-color-primary-rgb),.32)}.reaction-button.active ion-icon{transform:scale(1.1)}.reaction-button ion-icon{font-size:1.0625rem;transition:transform .2s ease}.reaction-button .reaction-count{font-weight:600}.comment-actions{display:flex;flex-wrap:wrap;gap:4px}.comment-action-button{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--ion-color-medium);transition:background-color .15s ease}.comment-action-button:hover{background-color:rgba(var(--ion-color-medium-rgb),.1)}.comment-action-button:disabled{opacity:.5;cursor:default}.comment-action-button ion-icon{font-size:1rem}.comment-action-button.action-color-primary{color:var(--ion-color-primary)}.comment-action-button.action-color-danger{color:var(--ion-color-danger)}.comment-action-button.action-color-dark{color:var(--ion-color-dark)}.expand-button,.collapse-button{display:flex;align-items:center;gap:6px;background:none;border:none;padding:8px 12px;cursor:pointer;font-size:.8125rem;color:var(--ion-color-primary);border-radius:8px;transition:background-color .2s}.expand-button:hover,.collapse-button:hover{background-color:rgba(var(--ion-color-primary-rgb),.1)}.expand-button ion-icon,.collapse-button ion-icon{font-size:1rem}.load-more-button,.view-replies-button{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid rgba(var(--ion-color-medium-rgb),.24);padding:5px 10px;cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--ion-text-color);border-radius:var(--val-radius-full, 999px);transition:background-color .15s ease}.load-more-button:hover,.view-replies-button:hover{background-color:rgba(var(--ion-color-medium-rgb),.1)}.load-more-button ion-icon,.view-replies-button ion-icon{font-size:.9375rem}.expand-button{margin-top:4px;color:var(--ion-color-dark)}.comment-children{margin-top:10px;padding-left:min(var(--indent-size),var(--max-indent));display:flex;flex-direction:column;gap:10px}.comment-children val-comment{display:block}.load-more-button,.view-replies-button{margin-top:4px;margin-left:0}ion-popover{--width: 200px}ion-popover ion-list{padding:4px 0}ion-popover ion-item{--min-height: 40px;--padding-start: 12px;font-size:.875rem}ion-popover ion-item ion-icon{font-size:1.125rem;margin-right:8px}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 2px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 2px);height:max(28px,36px - 2px);font-size:max(.6875rem,.8125rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 4px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 4px);height:max(28px,36px - 4px);font-size:max(.6875rem,.75rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 6px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 6px);height:max(28px,36px - 6px);font-size:max(.6875rem,.6875rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 8px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 8px);height:max(28px,36px - 8px);font-size:max(.6875rem,.625rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 10px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 10px);height:max(28px,36px - 10px);font-size:max(.6875rem,.5625rem)}:host-context(.dark) .comment,:host-context(.ion-palette-dark) .comment,:host-context(html.ion-palette-dark) .comment,:host-context(body.dark) .comment,:host-context([data-theme=dark]) .comment{--comment-surface: rgba(255, 255, 255, .06);--comment-surface-highlighted: rgba(var(--ion-color-primary-rgb), .16)}:host-context(.dark) .comment--social,:host-context(.ion-palette-dark) .comment--social,:host-context(html.ion-palette-dark) .comment--social,:host-context(body.dark) .comment--social,:host-context([data-theme=dark]) .comment--social{--comment-surface: var(--ion-card-background, rgba(255, 255, 255, .08))}:host-context(.dark) .avatar-placeholder,:host-context(.ion-palette-dark) .avatar-placeholder,:host-context(html.ion-palette-dark) .avatar-placeholder,:host-context(body.dark) .avatar-placeholder,:host-context([data-theme=dark]) .avatar-placeholder{background:linear-gradient(135deg,var(--ion-color-primary-shade),var(--ion-color-secondary-shade))}\n"], dependencies: [{ kind: "component", type: CommentComponent, selector: "val-comment", inputs: ["props"], outputs: ["authorClick", "reactionClick", "actionClick", "menuItemClick", "loadMoreClick", "collapseToggle"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonPopover, selector: "ion-popover" }, { kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: AvatarComponent, selector: "val-avatar", inputs: ["preset", "props"], outputs: ["onClick"] }] }); }
|
|
425
451
|
}
|
|
426
452
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CommentComponent, decorators: [{
|
|
427
453
|
type: Component,
|
|
@@ -431,6 +457,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
431
457
|
[class.highlighted]="props.highlighted"
|
|
432
458
|
[class.pinned]="props.pinned"
|
|
433
459
|
[class.collapsed]="props.collapsed"
|
|
460
|
+
[class.comment--social]="props.variant === 'social'"
|
|
434
461
|
[style.--depth]="props.depth || 0"
|
|
435
462
|
>
|
|
436
463
|
@if (props.pinned) {
|
|
@@ -511,6 +538,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
511
538
|
@if (!props.collapsed) {
|
|
512
539
|
<div class="comment-content" [innerHTML]="processContent(displayContent)"></div>
|
|
513
540
|
|
|
541
|
+
@if (props.attachments && props.attachments.length > 0) {
|
|
542
|
+
<div class="comment-attachments">
|
|
543
|
+
@for (attachment of props.attachments; track attachment.token) {
|
|
544
|
+
@if (attachment.type === 'image') {
|
|
545
|
+
<img class="comment-attachment-image" [src]="attachment.url" [alt]="attachment.label || ''" />
|
|
546
|
+
} @else if (attachment.type === 'video') {
|
|
547
|
+
<video
|
|
548
|
+
class="comment-attachment-video"
|
|
549
|
+
[src]="attachment.url"
|
|
550
|
+
[poster]="attachment.thumbnailUrl || ''"
|
|
551
|
+
[attr.aria-label]="attachment.label || null"
|
|
552
|
+
controls
|
|
553
|
+
preload="metadata"
|
|
554
|
+
></video>
|
|
555
|
+
} @else {
|
|
556
|
+
<a class="comment-attachment-file" [href]="attachment.url" target="_blank" rel="noopener">
|
|
557
|
+
<ion-icon name="document-outline" aria-hidden="true"></ion-icon>
|
|
558
|
+
<span>{{ attachment.label || attachment.url }}</span>
|
|
559
|
+
</a>
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
</div>
|
|
563
|
+
}
|
|
564
|
+
|
|
514
565
|
@if ((props.reactions && props.reactions.length > 0) || (props.actions && props.actions.length > 0)) {
|
|
515
566
|
<div class="comment-footer">
|
|
516
567
|
@if (props.reactions && props.reactions.length > 0) {
|
|
@@ -600,7 +651,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
600
651
|
</div>
|
|
601
652
|
}
|
|
602
653
|
</div>
|
|
603
|
-
`, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--val-radius-xs: 10px;--val-radius-sm: 16px;--val-radius-md: 20px;--val-radius-lg: 28px;--val-radius-xl: 36px;--val-radius-full: 999px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #737478;--ion-color-medium-rgb: 115,116,120;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255,255,255;--ion-color-medium-shade: #65666a;--ion-color-medium-tint: #818286;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}:host{display:block}.comment{--indent-size: 20px;--max-indent: 64px;--comment-surface: rgba(var(--ion-color-medium-rgb), .06);--comment-surface-highlighted: rgba(var(--ion-color-primary-rgb), .1);background:var(--comment-surface);border-radius:var(--val-radius-sm, 16px);padding:14px 16px}.comment.highlighted{background-color:var(--comment-surface-highlighted)}.comment.pinned{box-shadow:inset 3px 0 0 var(--ion-color-primary)}.comment.collapsed{opacity:.7}.pinned-indicator{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--ion-color-primary);margin-bottom:8px;padding-left:48px}.pinned-indicator ion-icon{font-size:.875rem}.comment-main{display:flex;gap:12px}.comment-avatar{flex-shrink:0;cursor:pointer;padding:0;border:none;background:none;line-height:0;border-radius:50%}.comment-avatar:focus{outline:none}.comment-avatar:focus-visible{outline:.125rem solid var(--ion-color-primary, #7026df);outline-offset:2px;border-radius:inherit}.comment-avatar val-avatar{--size: 36px}.comment-avatar .avatar-placeholder{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--ion-color-primary),var(--ion-color-secondary));display:flex;align-items:center;justify-content:center;color:#fff;font-size:.875rem;font-weight:600}.comment-body{flex:1;min-width:0}.comment-header{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:4px}.author-info{display:flex;align-items:center;gap:4px;cursor:pointer;padding:0;border:none;background:none;font:inherit;color:inherit;text-align:inherit}.author-info:focus{outline:none}.author-info:focus-visible{outline:.125rem solid var(--ion-color-primary, #7026df);outline-offset:2px;border-radius:inherit}.author-info:hover .author-name{text-decoration:underline}.author-name{font-weight:600;font-size:.875rem;color:var(--ion-text-color)}.verified-badge{color:var(--ion-color-primary);font-size:1rem}.author-username{font-size:.8125rem;color:var(--ion-color-dark)}.comment-meta{display:flex;align-items:center;gap:6px;margin-left:auto}.timestamp{font-size:.75rem;color:var(--ion-color-dark)}.edited-label{font-size:.6875rem;color:var(--ion-color-dark);font-style:italic}.more-button{--padding-start: 4px;--padding-end: 4px;margin:0;height:28px}.more-button ion-icon{font-size:1.125rem;color:var(--ion-color-dark)}.menu-divider{height:1px;background-color:var(--ion-color-light);margin:4px 0}.comment-content{font-size:.875rem;line-height:1.5;color:var(--ion-text-color);word-wrap:break-word;overflow-wrap:break-word}.comment-content :global(.comment-link){color:var(--ion-color-primary);text-decoration:none}.comment-content :global(.comment-link):hover{text-decoration:underline}.comment-content :global(.comment-mention),.comment-content :global(.comment-hashtag){display:inline-block;background:rgba(var(--ion-color-primary-rgb),.14);color:var(--ion-color-primary);font-weight:600;padding:1px 8px;border-radius:var(--val-radius-full, 999px);cursor:pointer;transition:background-color .15s ease}.comment-content :global(.comment-mention):hover,.comment-content :global(.comment-hashtag):hover{background:rgba(var(--ion-color-primary-rgb),.22);text-decoration:none}.comment-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.comment-reactions{display:flex;flex-wrap:wrap;gap:8px}.reaction-button{display:flex;align-items:center;justify-content:center;gap:4px;width:32px;height:32px;padding:0;background:transparent;border:1px solid rgba(var(--ion-color-medium-rgb),.22);border-radius:var(--val-radius-full, 999px);cursor:pointer;font-size:.8125rem;color:var(--reaction-color, var(--ion-color-medium));transition:background-color .15s ease,border-color .15s ease}.reaction-button.has-count{width:auto;padding:0 10px}.reaction-button:hover{background-color:rgba(var(--ion-color-medium-rgb),.1)}.reaction-button.active{background-color:rgba(var(--ion-color-primary-rgb),.12);border-color:rgba(var(--ion-color-primary-rgb),.32)}.reaction-button.active ion-icon{transform:scale(1.1)}.reaction-button ion-icon{font-size:1.0625rem;transition:transform .2s ease}.reaction-button .reaction-count{font-weight:600}.comment-actions{display:flex;flex-wrap:wrap;gap:4px}.comment-action-button{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--ion-color-medium);transition:background-color .15s ease}.comment-action-button:hover{background-color:rgba(var(--ion-color-medium-rgb),.1)}.comment-action-button:disabled{opacity:.5;cursor:default}.comment-action-button ion-icon{font-size:1rem}.comment-action-button.action-color-primary{color:var(--ion-color-primary)}.comment-action-button.action-color-danger{color:var(--ion-color-danger)}.comment-action-button.action-color-dark{color:var(--ion-color-dark)}.expand-button,.collapse-button{display:flex;align-items:center;gap:6px;background:none;border:none;padding:8px 12px;cursor:pointer;font-size:.8125rem;color:var(--ion-color-primary);border-radius:8px;transition:background-color .2s}.expand-button:hover,.collapse-button:hover{background-color:rgba(var(--ion-color-primary-rgb),.1)}.expand-button ion-icon,.collapse-button ion-icon{font-size:1rem}.load-more-button,.view-replies-button{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid rgba(var(--ion-color-medium-rgb),.24);padding:5px 10px;cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--ion-text-color);border-radius:var(--val-radius-full, 999px);transition:background-color .15s ease}.load-more-button:hover,.view-replies-button:hover{background-color:rgba(var(--ion-color-medium-rgb),.1)}.load-more-button ion-icon,.view-replies-button ion-icon{font-size:.9375rem}.expand-button{margin-top:4px;color:var(--ion-color-dark)}.comment-children{margin-top:10px;padding-left:min(var(--indent-size),var(--max-indent));display:flex;flex-direction:column;gap:10px}.comment-children val-comment{display:block}.load-more-button,.view-replies-button{margin-top:4px;margin-left:0}ion-popover{--width: 200px}ion-popover ion-list{padding:4px 0}ion-popover ion-item{--min-height: 40px;--padding-start: 12px;font-size:.875rem}ion-popover ion-item ion-icon{font-size:1.125rem;margin-right:8px}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 2px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 2px);height:max(28px,36px - 2px);font-size:max(.6875rem,.8125rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 4px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 4px);height:max(28px,36px - 4px);font-size:max(.6875rem,.75rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 6px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 6px);height:max(28px,36px - 6px);font-size:max(.6875rem,.6875rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 8px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 8px);height:max(28px,36px - 8px);font-size:max(.6875rem,.625rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 10px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 10px);height:max(28px,36px - 10px);font-size:max(.6875rem,.5625rem)}:host-context(.dark) .comment,:host-context(.ion-palette-dark) .comment,:host-context(html.ion-palette-dark) .comment,:host-context(body.dark) .comment,:host-context([data-theme=dark]) .comment{--comment-surface: rgba(255, 255, 255, .06);--comment-surface-highlighted: rgba(var(--ion-color-primary-rgb), .16)}:host-context(.dark) .avatar-placeholder,:host-context(.ion-palette-dark) .avatar-placeholder,:host-context(html.ion-palette-dark) .avatar-placeholder,:host-context(body.dark) .avatar-placeholder,:host-context([data-theme=dark]) .avatar-placeholder{background:linear-gradient(135deg,var(--ion-color-primary-shade),var(--ion-color-secondary-shade))}\n"] }]
|
|
654
|
+
`, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--val-radius-xs: 10px;--val-radius-sm: 16px;--val-radius-md: 20px;--val-radius-lg: 28px;--val-radius-xl: 36px;--val-radius-full: 999px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #737478;--ion-color-medium-rgb: 115,116,120;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255,255,255;--ion-color-medium-shade: #65666a;--ion-color-medium-tint: #818286;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}:host{display:block}.comment{--indent-size: 20px;--max-indent: 64px;--comment-surface: rgba(var(--ion-color-medium-rgb), .06);--comment-surface-highlighted: rgba(var(--ion-color-primary-rgb), .1);background:var(--comment-surface);border-radius:var(--val-radius-sm, 16px);padding:14px 16px}.comment.highlighted{background-color:var(--comment-surface-highlighted)}.comment.pinned{box-shadow:inset 3px 0 0 var(--ion-color-primary)}.comment.collapsed{opacity:.7}.comment--social{--comment-surface: var(--ion-card-background, var(--ion-background-color, #fff));padding:18px;border-radius:24px;box-shadow:0 1px rgba(var(--ion-color-medium-rgb),.08)}.comment--social .comment-main{gap:14px;align-items:flex-start}.comment--social .comment-avatar{align-self:flex-start}.comment--social .comment-avatar val-avatar{--size: 48px}.comment--social .comment-avatar .avatar-placeholder{width:48px;height:48px;font-size:1rem}.comment--social .comment-header{gap:8px;margin-bottom:10px}.comment--social .author-name{font-size:1rem;font-weight:700}.comment--social .author-username,.comment--social .timestamp{font-size:.875rem}.comment--social .more-button{width:32px;height:32px}.comment--social .comment-content{font-size:1rem;line-height:1.45;font-weight:600;margin-bottom:12px}.comment--social .comment-footer{margin-top:12px}.comment--social .reaction-button{min-width:44px;height:34px;border-color:rgba(var(--ion-color-medium-rgb),.3);background:var(--ion-card-background, var(--ion-background-color, #fff))}.comment--social .comment-action-button{font-size:1rem;color:var(--ion-color-dark)}.pinned-indicator{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--ion-color-primary);margin-bottom:8px;padding-left:48px}.pinned-indicator ion-icon{font-size:.875rem}.comment-main{display:flex;gap:12px}.comment-avatar{flex-shrink:0;cursor:pointer;padding:0;border:none;background:none;line-height:0;border-radius:50%}.comment-avatar:focus{outline:none}.comment-avatar:focus-visible{outline:.125rem solid var(--ion-color-primary, #7026df);outline-offset:2px;border-radius:inherit}.comment-avatar val-avatar{--size: 36px}.comment-avatar .avatar-placeholder{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--ion-color-primary),var(--ion-color-secondary));display:flex;align-items:center;justify-content:center;color:#fff;font-size:.875rem;font-weight:600}.comment-body{flex:1;min-width:0}.comment-header{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:4px}.author-info{display:flex;align-items:center;gap:4px;cursor:pointer;padding:0;border:none;background:none;font:inherit;color:inherit;text-align:inherit}.author-info:focus{outline:none}.author-info:focus-visible{outline:.125rem solid var(--ion-color-primary, #7026df);outline-offset:2px;border-radius:inherit}.author-info:hover .author-name{text-decoration:underline}.author-name{font-weight:600;font-size:.875rem;color:var(--ion-text-color)}.verified-badge{color:var(--ion-color-primary);font-size:1rem}.author-username{font-size:.8125rem;color:var(--ion-color-dark)}.comment-meta{display:flex;align-items:center;gap:6px;margin-left:auto}.timestamp{font-size:.75rem;color:var(--ion-color-dark)}.edited-label{font-size:.6875rem;color:var(--ion-color-dark);font-style:italic}.more-button{--padding-start: 4px;--padding-end: 4px;margin:0;height:28px}.more-button ion-icon{font-size:1.125rem;color:var(--ion-color-dark)}.menu-divider{height:1px;background-color:var(--ion-color-light);margin:4px 0}.comment-content{font-size:.875rem;line-height:1.5;color:var(--ion-text-color);word-wrap:break-word;overflow-wrap:break-word}.comment-content :global(.comment-link){color:var(--ion-color-primary);text-decoration:none}.comment-content :global(.comment-link):hover{text-decoration:underline}.comment-content :global(.comment-mention),.comment-content :global(.comment-hashtag){display:inline-block;background:rgba(var(--ion-color-primary-rgb),.14);color:var(--ion-color-primary);font-weight:600;padding:1px 8px;border-radius:var(--val-radius-full, 999px);cursor:pointer;transition:background-color .15s ease}.comment-content :global(.comment-mention):hover,.comment-content :global(.comment-hashtag):hover{background:rgba(var(--ion-color-primary-rgb),.22);text-decoration:none}.comment-attachments{display:flex;flex-direction:column;gap:10px}.comment-attachment-image,.comment-attachment-video{display:block;width:100%;max-height:360px;aspect-ratio:16/9;border-radius:14px;border:1px solid var(--val-border-color, rgba(0, 0, 0, .08));object-fit:cover;background:rgba(var(--ion-color-medium-rgb),.08)}.comment-attachment-file{display:inline-flex;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:8px 12px;border-radius:var(--val-radius-full, 999px);border:1px solid rgba(var(--ion-color-medium-rgb),.24);color:var(--ion-color-dark);text-decoration:none;font-size:.875rem;font-weight:600}.comment-attachment-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comment-attachment-file ion-icon{flex-shrink:0;font-size:1rem}.comment-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.comment-reactions{display:flex;flex-wrap:wrap;gap:8px}.reaction-button{display:flex;align-items:center;justify-content:center;gap:4px;width:32px;height:32px;padding:0;background:transparent;border:1px solid rgba(var(--ion-color-medium-rgb),.22);border-radius:var(--val-radius-full, 999px);cursor:pointer;font-size:.8125rem;color:var(--reaction-color, var(--ion-color-medium));transition:background-color .15s ease,border-color .15s ease}.reaction-button.has-count{width:auto;padding:0 10px}.reaction-button:hover{background-color:rgba(var(--ion-color-medium-rgb),.1)}.reaction-button.active{background-color:rgba(var(--ion-color-primary-rgb),.12);border-color:rgba(var(--ion-color-primary-rgb),.32)}.reaction-button.active ion-icon{transform:scale(1.1)}.reaction-button ion-icon{font-size:1.0625rem;transition:transform .2s ease}.reaction-button .reaction-count{font-weight:600}.comment-actions{display:flex;flex-wrap:wrap;gap:4px}.comment-action-button{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--ion-color-medium);transition:background-color .15s ease}.comment-action-button:hover{background-color:rgba(var(--ion-color-medium-rgb),.1)}.comment-action-button:disabled{opacity:.5;cursor:default}.comment-action-button ion-icon{font-size:1rem}.comment-action-button.action-color-primary{color:var(--ion-color-primary)}.comment-action-button.action-color-danger{color:var(--ion-color-danger)}.comment-action-button.action-color-dark{color:var(--ion-color-dark)}.expand-button,.collapse-button{display:flex;align-items:center;gap:6px;background:none;border:none;padding:8px 12px;cursor:pointer;font-size:.8125rem;color:var(--ion-color-primary);border-radius:8px;transition:background-color .2s}.expand-button:hover,.collapse-button:hover{background-color:rgba(var(--ion-color-primary-rgb),.1)}.expand-button ion-icon,.collapse-button ion-icon{font-size:1rem}.load-more-button,.view-replies-button{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid rgba(var(--ion-color-medium-rgb),.24);padding:5px 10px;cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--ion-text-color);border-radius:var(--val-radius-full, 999px);transition:background-color .15s ease}.load-more-button:hover,.view-replies-button:hover{background-color:rgba(var(--ion-color-medium-rgb),.1)}.load-more-button ion-icon,.view-replies-button ion-icon{font-size:.9375rem}.expand-button{margin-top:4px;color:var(--ion-color-dark)}.comment-children{margin-top:10px;padding-left:min(var(--indent-size),var(--max-indent));display:flex;flex-direction:column;gap:10px}.comment-children val-comment{display:block}.load-more-button,.view-replies-button{margin-top:4px;margin-left:0}ion-popover{--width: 200px}ion-popover ion-list{padding:4px 0}ion-popover ion-item{--min-height: 40px;--padding-start: 12px;font-size:.875rem}ion-popover ion-item ion-icon{font-size:1.125rem;margin-right:8px}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 2px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 2px);height:max(28px,36px - 2px);font-size:max(.6875rem,.8125rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 4px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 4px);height:max(28px,36px - 4px);font-size:max(.6875rem,.75rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 6px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 6px);height:max(28px,36px - 6px);font-size:max(.6875rem,.6875rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 8px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 8px);height:max(28px,36px - 8px);font-size:max(.6875rem,.625rem)}:host-context(val-comment) .comment-avatar val-avatar{--size: max(28px, 36px - 10px)}:host-context(val-comment) .comment-avatar .avatar-placeholder{width:max(28px,36px - 10px);height:max(28px,36px - 10px);font-size:max(.6875rem,.5625rem)}:host-context(.dark) .comment,:host-context(.ion-palette-dark) .comment,:host-context(html.ion-palette-dark) .comment,:host-context(body.dark) .comment,:host-context([data-theme=dark]) .comment{--comment-surface: rgba(255, 255, 255, .06);--comment-surface-highlighted: rgba(var(--ion-color-primary-rgb), .16)}:host-context(.dark) .comment--social,:host-context(.ion-palette-dark) .comment--social,:host-context(html.ion-palette-dark) .comment--social,:host-context(body.dark) .comment--social,:host-context([data-theme=dark]) .comment--social{--comment-surface: var(--ion-card-background, rgba(255, 255, 255, .08))}:host-context(.dark) .avatar-placeholder,:host-context(.ion-palette-dark) .avatar-placeholder,:host-context(html.ion-palette-dark) .avatar-placeholder,:host-context(body.dark) .avatar-placeholder,:host-context([data-theme=dark]) .avatar-placeholder{background:linear-gradient(135deg,var(--ion-color-primary-shade),var(--ion-color-secondary-shade))}\n"] }]
|
|
604
655
|
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
605
656
|
type: Input
|
|
606
657
|
}], authorClick: [{
|
|
@@ -616,4 +667,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
616
667
|
}], collapseToggle: [{
|
|
617
668
|
type: Output
|
|
618
669
|
}] } });
|
|
619
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbW1lbnQvY29tbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLEtBQUssRUFDTCxlQUFlLEVBQ2YsUUFBUSxFQUNSLFlBQVksRUFDWixLQUFLLEVBQ0wsVUFBVSxFQUNWLEdBQUcsRUFDSCxXQUFXLEVBQ1gsU0FBUyxFQUNULEdBQUcsRUFDSCxNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksRUFDSixLQUFLLEdBQ04sTUFBTSxnQkFBZ0IsQ0FBQzs7QUFjeEIsUUFBUSxDQUFDO0lBQ1Asa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsWUFBWTtJQUNaLEtBQUs7SUFDTCxlQUFlO0lBQ2YsUUFBUTtJQUNSLFlBQVk7SUFDWixLQUFLO0lBQ0wsVUFBVTtJQUNWLEdBQUc7SUFDSCxXQUFXO0lBQ1gsU0FBUztJQUNULEdBQUc7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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStLVCwraldBMkNVLGdCQUFnQix3TEEzTmpCLFlBQVksK0JBQUUsT0FBTywySkFBRSxTQUFTLG9QQUFFLFVBQVUsd0RBQUUsT0FBTyx5RkFBRSxPQUFPLDBOQUFFLFFBQVEsNkZBQUUsZUFBZTs7NEZBMk54RixnQkFBZ0I7a0JBOU41QixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxDQUFDLFlBQzFGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0tUO3dEQThDUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJb25JY29uLCBJb25CdXR0b24sIElvblBvcG92ZXIsIElvbkxpc3QsIElvbkl0ZW0sIElvbkxhYmVsIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQge1xuICBlbGxpcHNpc0hvcml6b250YWwsXG4gIGNoZWNrbWFya0NpcmNsZSxcbiAgY2hhdGJ1YmJsZU91dGxpbmUsXG4gIGhlYXJ0T3V0bGluZSxcbiAgaGVhcnQsXG4gIHRodW1ic1VwT3V0bGluZSxcbiAgdGh1bWJzVXAsXG4gIGhhcHB5T3V0bGluZSxcbiAgaGFwcHksXG4gIHNhZE91dGxpbmUsXG4gIHNhZCxcbiAgY2hldnJvbkRvd24sXG4gIGNoZXZyb25VcCxcbiAgcGluLFxuICBwZW5jaWwsXG4gIHRyYXNoLFxuICBmbGFnLFxuICBzaGFyZSxcbn0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHtcbiAgQ29tbWVudE1ldGFkYXRhLFxuICBDb21tZW50QXV0aG9yLFxuICBDb21tZW50UmVhY3Rpb24sXG4gIENvbW1lbnRBY3Rpb24sXG4gIENvbW1lbnRNZW51SXRlbSxcbiAgQ29tbWVudEF1dGhvckNsaWNrRXZlbnQsXG4gIENvbW1lbnRSZWFjdGlvbkNsaWNrRXZlbnQsXG4gIENvbW1lbnRBY3Rpb25DbGlja0V2ZW50LFxuICBDb21tZW50TWVudUl0ZW1DbGlja0V2ZW50LFxuICBDb21tZW50TG9hZE1vcmVFdmVudCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHtcbiAgZWxsaXBzaXNIb3Jpem9udGFsLFxuICBjaGVja21hcmtDaXJjbGUsXG4gIGNoYXRidWJibGVPdXRsaW5lLFxuICBoZWFydE91dGxpbmUsXG4gIGhlYXJ0LFxuICB0aHVtYnNVcE91dGxpbmUsXG4gIHRodW1ic1VwLFxuICBoYXBweU91dGxpbmUsXG4gIGhhcHB5LFxuICBzYWRPdXRsaW5lLFxuICBzYWQsXG4gIGNoZXZyb25Eb3duLFxuICBjaGV2cm9uVXAsXG4gIHBpbixcbiAgcGVuY2lsLFxuICB0cmFzaCxcbiAgZmxhZyxcbiAgc2hhcmUsXG59KTtcblxuLyoqXG4gKiBEZWZhdWx0cyBpMThuIChlcy9lbikg4oCUIGF1dG8tcmVnaXN0cmFkb3Mgc2kgZWwgY29uc3VtZXIgbm8gcHJvdmV5w7MgZWxcbiAqIG5hbWVzcGFjZSBgQ29tbWVudGAuIEN1YnJlIGVsIGFyaWEtbGFiZWwgZGVsIGF1dG9yIChhdmF0YXIgKyBub21icmUpLlxuICovXG5jb25zdCBDT01NRU5UX0kxOE4gPSB7XG4gIGVzOiB7IHZpZXdQcm9maWxlT2Y6ICdWZXIgcGVyZmlsIGRlIHtuYW1lfScgfSxcbiAgZW46IHsgdmlld1Byb2ZpbGVPZjogJ1ZpZXcgcHJvZmlsZSBvZiB7bmFtZX0nIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtY29tbWVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkljb24sIElvbkJ1dHRvbiwgSW9uUG9wb3ZlciwgSW9uTGlzdCwgSW9uSXRlbSwgSW9uTGFiZWwsIEF2YXRhckNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJjb21tZW50XCJcbiAgICAgIFtjbGFzcy5oaWdobGlnaHRlZF09XCJwcm9wcy5oaWdobGlnaHRlZFwiXG4gICAgICBbY2xhc3MucGlubmVkXT1cInByb3BzLnBpbm5lZFwiXG4gICAgICBbY2xhc3MuY29sbGFwc2VkXT1cInByb3BzLmNvbGxhcHNlZFwiXG4gICAgICBbc3R5bGUuLS1kZXB0aF09XCJwcm9wcy5kZXB0aCB8fCAwXCJcbiAgICA+XG4gICAgICBAaWYgKHByb3BzLnBpbm5lZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicGlubmVkLWluZGljYXRvclwiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwicGluXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBpMThuLnQoJ3Bpbm5lZCcpIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtbWFpblwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNvbW1lbnQtYXZhdGFyXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhdXRob3JMYWJlbCgpXCIgKGNsaWNrKT1cIm9uQXV0aG9yQ2xpY2soKVwiPlxuICAgICAgICAgIEBpZiAocHJvcHMuYXV0aG9yLmF2YXRhcikge1xuICAgICAgICAgICAgPHZhbC1hdmF0YXIgW3Byb3BzXT1cInByb3BzLmF1dGhvci5hdmF0YXJcIj48L3ZhbC1hdmF0YXI+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLXBsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgICAgIHt7IGdldEluaXRpYWxzKHByb3BzLmF1dGhvci5uYW1lKSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1ib2R5XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtaGVhZGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImF1dGhvci1pbmZvXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhdXRob3JMYWJlbCgpXCIgKGNsaWNrKT1cIm9uQXV0aG9yQ2xpY2soKVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF1dGhvci1uYW1lXCI+e3sgcHJvcHMuYXV0aG9yLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIEBpZiAocHJvcHMuYXV0aG9yLnZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGVja21hcmstY2lyY2xlXCIgY2xhc3M9XCJ2ZXJpZmllZC1iYWRnZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChwcm9wcy5hdXRob3IudXNlcm5hbWUpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF1dGhvci11c2VybmFtZVwiPiYjNjQ7e3sgcHJvcHMuYXV0aG9yLnVzZXJuYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtbWV0YVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWVzdGFtcFwiPnt7IGZvcm1hdFRpbWVzdGFtcChwcm9wcy50aW1lc3RhbXApIH19PC9zcGFuPlxuICAgICAgICAgICAgICBAaWYgKHByb3BzLmVkaXRlZCkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWRpdGVkLWxhYmVsXCI+e3sgaTE4bi50KCdlZGl0ZWQnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIEBpZiAocHJvcHMubWVudUl0ZW1zICYmIHByb3BzLm1lbnVJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9yZS1idXR0b25cIlxuICAgICAgICAgICAgICAgIFtpZF09XCInbWVudS10cmlnZ2VyLScgKyBwcm9wcy50b2tlblwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTcOhcyBvcGNpb25lcydcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJlbGxpcHNpcy1ob3Jpem9udGFsXCIgc2xvdD1cImljb24tb25seVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgICAgICA8aW9uLXBvcG92ZXIgW3RyaWdnZXJdPVwiJ21lbnUtdHJpZ2dlci0nICsgcHJvcHMudG9rZW5cIiBbZGlzbWlzc09uU2VsZWN0XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8aW9uLWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgcHJvcHMubWVudUl0ZW1zOyB0cmFjayBpdGVtLnRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmRpdmlkZXJCZWZvcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICBbYnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2RldGFpbF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25NZW51SXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiaXRlbS5pY29uXCIgc2xvdD1cInN0YXJ0XCIgW2NvbG9yXT1cIml0ZW0uY29sb3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1sYWJlbCBbY29sb3JdPVwiaXRlbS5jb2xvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRNZW51SXRlbUxhYmVsKGl0ZW0pIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L2lvbi1saXN0PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvaW9uLXBvcG92ZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICBAaWYgKCFwcm9wcy5jb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LWNvbnRlbnRcIiBbaW5uZXJIVE1MXT1cInByb2Nlc3NDb250ZW50KGRpc3BsYXlDb250ZW50KVwiPjwvZGl2PlxuXG4gICAgICAgICAgICBAaWYgKChwcm9wcy5yZWFjdGlvbnMgJiYgcHJvcHMucmVhY3Rpb25zLmxlbmd0aCA+IDApIHx8IChwcm9wcy5hY3Rpb25zICYmIHByb3BzLmFjdGlvbnMubGVuZ3RoID4gMCkpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtZm9vdGVyXCI+XG4gICAgICAgICAgICAgICAgQGlmIChwcm9wcy5yZWFjdGlvbnMgJiYgcHJvcHMucmVhY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LXJlYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChyZWFjdGlvbiBvZiBwcm9wcy5yZWFjdGlvbnM7IHRyYWNrIHJlYWN0aW9uLnRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInJlYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInJlYWN0aW9uLmFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaGFzLWNvdW50XT1cInJlYWN0aW9uLmNvdW50ID4gMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuLS1yZWFjdGlvbi1jb2xvcl09XCJnZXRSZWFjdGlvbkNvbG9yKHJlYWN0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlYWN0aW9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblJlYWN0aW9uQ2xpY2socmVhY3Rpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwicmVhY3Rpb24uaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHJlYWN0aW9uLmNvdW50ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlYWN0aW9uLWNvdW50XCI+e3sgZm9ybWF0Q291bnQocmVhY3Rpb24uY291bnQpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKHByb3BzLmFjdGlvbnMgJiYgcHJvcHMuYWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGFjdGlvbiBvZiBwcm9wcy5hY3Rpb25zOyB0cmFjayBhY3Rpb24udG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29tbWVudC1hY3Rpb24tYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCInYWN0aW9uLWNvbG9yLScgKyAoYWN0aW9uLmNvbG9yIHx8ICdtZWRpdW0nKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiYWN0aW9uLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrKGFjdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYWN0aW9uLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cImFjdGlvbi5pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGdldEFjdGlvbkxhYmVsKGFjdGlvbikgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJleHBhbmQtYnV0dG9uXCIgKGNsaWNrKT1cIm9uVG9nZ2xlQ29sbGFwc2UoKVwiPlxuICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZXZyb24tZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IGkxOG4udCgnc2hvd0NvbW1lbnQnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmICghcHJvcHMuY29sbGFwc2VkICYmIGhhc0NoaWxkcmVuKCkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtY2hpbGRyZW5cIj5cbiAgICAgICAgICBAaWYgKHByb3BzLmNvbGxhcHNlZCkge1xuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNvbGxhcHNlLWJ1dHRvblwiIChjbGljayk9XCJvblRvZ2dsZUNvbGxhcHNlKClcIj5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGV2cm9uLXVwXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgaTE4bi50KCdoaWRlUmVwbGllcycpIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIChjYW5TaG93Q2hpbGRyZW4oKSkge1xuICAgICAgICAgICAgQGZvciAoY2hpbGQgb2YgcHJvcHMuY2hpbGRyZW47IHRyYWNrIGNoaWxkLnRva2VuKSB7XG4gICAgICAgICAgICAgIDx2YWwtY29tbWVudFxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJnZXRDaGlsZFByb3BzKGNoaWxkKVwiXG4gICAgICAgICAgICAgICAgKGF1dGhvckNsaWNrKT1cImF1dGhvckNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKHJlYWN0aW9uQ2xpY2spPVwicmVhY3Rpb25DbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIChhY3Rpb25DbGljayk9XCJhY3Rpb25DbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIChtZW51SXRlbUNsaWNrKT1cIm1lbnVJdGVtQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAobG9hZE1vcmVDbGljayk9XCJsb2FkTW9yZUNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGNvbGxhcHNlVG9nZ2xlKT1cImNvbGxhcHNlVG9nZ2xlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgID48L3ZhbC1jb21tZW50PlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKGhhc01vcmVSZXBsaWVzKCkpIHtcbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImxvYWQtbW9yZS1idXR0b25cIiAoY2xpY2spPVwib25Mb2FkTW9yZUNsaWNrKClcIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBnZXRMb2FkTW9yZVJlcGxpZXNUZXh0KCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGV2cm9uLWRvd25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJ2aWV3LXJlcGxpZXMtYnV0dG9uXCIgKGNsaWNrKT1cIm9uTG9hZE1vcmVDbGljaygpXCI+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IGdldFZpZXdSZXBsaWVzVGV4dCgpIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZXZyb24tZG93blwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9jb21tZW50LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtY29tbWVudFxuICpcbiAqIEEgdmVyc2F0aWxlIGNvbW1lbnQgY29tcG9uZW50IGZvciBmb3J1bXMsIHJldmlld3MsIGFuZCBzb2NpYWwgbWVkaWEuXG4gKiBTdXBwb3J0cyBhdXRob3IgaW5mbywgcmVhY3Rpb25zLCBhY3Rpb25zLCBuZXN0ZWQgcmVwbGllcywgYW5kIG1vcmUuXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgY29tbWVudFxuICogPHZhbC1jb21tZW50IFtwcm9wc109XCJ7XG4gKiAgIHRva2VuOiAnMScsXG4gKiAgIGF1dGhvcjogeyBuYW1lOiAnSm9obiBEb2UnLCB1c2VybmFtZTogJ2pvaG5kJyB9LFxuICogICBjb250ZW50OiAnVGhpcyBpcyBhIGdyZWF0IHBvc3QhJyxcbiAqICAgdGltZXN0YW1wOiAnMiBob3VycyBhZ28nXG4gKiB9XCI+PC92YWwtY29tbWVudD5cbiAqXG4gKiBAZXhhbXBsZSBXaXRoIHJlYWN0aW9ucyBhbmQgYWN0aW9uc1xuICogPHZhbC1jb21tZW50IFtwcm9wc109XCJ7XG4gKiAgIHRva2VuOiAnMScsXG4gKiAgIGF1dGhvcjogeyBuYW1lOiAnSmFuZScsIGF2YXRhcjogYXZhdGFyUHJvcHMsIHZlcmlmaWVkOiB0cnVlIH0sXG4gKiAgIGNvbnRlbnQ6ICdBbWF6aW5nIGNvbnRlbnQhIENoZWNrIG91dCBodHRwczovL2V4YW1wbGUuY29tJyxcbiAqICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLFxuICogICByZWFjdGlvbnM6IFtcbiAqICAgICB7IHRva2VuOiAnbGlrZScsIGljb246ICdoZWFydC1vdXRsaW5lJywgY291bnQ6IDQyLCBhY3RpdmU6IGZhbHNlIH1cbiAqICAgXSxcbiAqICAgYWN0aW9uczogW1xuICogICAgIHsgdG9rZW46ICdyZXBseScsIGxhYmVsOiAnUmVwbHknLCBpY29uOiAnY2hhdGJ1YmJsZS1vdXRsaW5lJyB9XG4gKiAgIF0sXG4gKiAgIG1lbnVJdGVtczogW1xuICogICAgIHsgdG9rZW46ICdlZGl0JywgbGFiZWw6ICdFZGl0JywgaWNvbjogJ3BlbmNpbCcgfSxcbiAqICAgICB7IHRva2VuOiAnZGVsZXRlJywgbGFiZWw6ICdEZWxldGUnLCBpY29uOiAndHJhc2gnLCBjb2xvcjogJ2RhbmdlcicgfVxuICogICBdXG4gKiB9XCI+PC92YWwtY29tbWVudD5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IENvbW1lbnRNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBjb21tZW50XG4gKiBAb3V0cHV0IGF1dGhvckNsaWNrIC0gRW1pdHMgd2hlbiBhdXRob3IgbmFtZS9hdmF0YXIgaXMgY2xpY2tlZFxuICogQG91dHB1dCByZWFjdGlvbkNsaWNrIC0gRW1pdHMgd2hlbiBhIHJlYWN0aW9uIGlzIGNsaWNrZWRcbiAqIEBvdXRwdXQgYWN0aW9uQ2xpY2sgLSBFbWl0cyB3aGVuIGFuIGFjdGlvbiBidXR0b24gaXMgY2xpY2tlZFxuICogQG91dHB1dCBtZW51SXRlbUNsaWNrIC0gRW1pdHMgd2hlbiBhIG1lbnUgaXRlbSBpcyBjbGlja2VkXG4gKiBAb3V0cHV0IGxvYWRNb3JlQ2xpY2sgLSBFbWl0cyB3aGVuIGxvYWQgbW9yZSByZXBsaWVzIGlzIGNsaWNrZWRcbiAqIEBvdXRwdXQgY29sbGFwc2VUb2dnbGUgLSBFbWl0cyB3aGVuIGNvbW1lbnQgaXMgY29sbGFwc2VkL2V4cGFuZGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21tZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvdGVjdGVkIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIEBJbnB1dCgpIHByb3BzOiBDb21tZW50TWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpIGF1dGhvckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50QXV0aG9yQ2xpY2tFdmVudD4oKTtcbiAgQE91dHB1dCgpIHJlYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRSZWFjdGlvbkNsaWNrRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBhY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudEFjdGlvbkNsaWNrRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBtZW51SXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50TWVudUl0ZW1DbGlja0V2ZW50PigpO1xuICBAT3V0cHV0KCkgbG9hZE1vcmVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudExvYWRNb3JlRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBjb2xsYXBzZVRvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyB0b2tlbjogc3RyaW5nOyBjb2xsYXBzZWQ6IGJvb2xlYW4gfT4oKTtcblxuICBkaXNwbGF5Q29udGVudDogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoJ0NvbW1lbnQnLCBDT01NRU5UX0kxOE4pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5Q29udGVudCA9IHRoaXMucHJvcHMuY29udGVudCB8fCB0aGlzLnByb3BzLmNvbnRlbnRGYWxsYmFjayB8fCAnJztcbiAgfVxuXG4gIC8qKiBBcmlhLWxhYmVsIGFjY2VzaWJsZSBkZWwgYXV0b3IgKGF2YXRhciArIG5vbWJyZSBjbGljYWJsZXMpLiAqL1xuICBhdXRob3JMYWJlbCgpOiBzdHJpbmcge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCd2aWV3UHJvZmlsZU9mJywgJ0NvbW1lbnQnLCB7IG5hbWU6IHRoaXMucHJvcHMuYXV0aG9yLm5hbWUgfSk7XG4gIH1cblxuICBnZXRJbml0aWFscyhuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBuYW1lXG4gICAgICAuc3BsaXQoJyAnKVxuICAgICAgLm1hcChuID0+IG5bMF0pXG4gICAgICAuam9pbignJylcbiAgICAgIC5zdWJzdHJpbmcoMCwgMilcbiAgICAgIC50b1VwcGVyQ2FzZSgpO1xuICB9XG5cbiAgZm9ybWF0VGltZXN0YW1wKHRpbWVzdGFtcDogc3RyaW5nIHwgRGF0ZSk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiB0aW1lc3RhbXAgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdGltZXN0YW1wO1xuICAgIH1cblxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZGlmZiA9IG5vdy5nZXRUaW1lKCkgLSB0aW1lc3RhbXAuZ2V0VGltZSgpO1xuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKGRpZmYgLyAxMDAwKTtcbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gNjApO1xuICAgIGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcihtaW51dGVzIC8gNjApO1xuICAgIGNvbnN0IGRheXMgPSBNYXRoLmZsb29yKGhvdXJzIC8gMjQpO1xuXG4gICAgaWYgKHNlY29uZHMgPCA2MCkgcmV0dXJuIHRoaXMuaTE4bi50KCdqdXN0Tm93Jyk7XG4gICAgaWYgKG1pbnV0ZXMgPCA2MCkgcmV0dXJuIHRoaXMuaTE4bi50KCdtaW51dGVzQWdvJywgJ19nbG9iYWwnLCB7IG1pbnV0ZXM6IG1pbnV0ZXMudG9TdHJpbmcoKSB9KTtcbiAgICBpZiAoaG91cnMgPCAyNCkgcmV0dXJuIHRoaXMuaTE4bi50KCdob3Vyc0FnbycsICdfZ2xvYmFsJywgeyBob3VyczogaG91cnMudG9TdHJpbmcoKSB9KTtcbiAgICBpZiAoZGF5cyA8IDcpIHJldHVybiB0aGlzLmkxOG4udCgnZGF5c0FnbycsICdfZ2xvYmFsJywgeyBkYXlzOiBkYXlzLnRvU3RyaW5nKCkgfSk7XG5cbiAgICByZXR1cm4gdGltZXN0YW1wLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICB9XG5cbiAgZ2V0TG9hZE1vcmVSZXBsaWVzVGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5nZXRSZW1haW5pbmdDb3VudCgpO1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgnbG9hZE1vcmVSZXBsaWVzJykgKyBgICgke2NvdW50fSlgO1xuICB9XG5cbiAgZ2V0Vmlld1JlcGxpZXNUZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgY291bnQgPSB0aGlzLnByb3BzLnJlcGx5Q291bnQgfHwgdGhpcy5wcm9wcy5jaGlsZHJlbj8ubGVuZ3RoIHx8IDA7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KCd2aWV3UmVwbGllcycpICsgYCAoJHtjb3VudH0pYDtcbiAgfVxuXG4gIGZvcm1hdENvdW50KGNvdW50OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChjb3VudCA+PSAxMDAwMDAwKSB7XG4gICAgICByZXR1cm4gKGNvdW50IC8gMTAwMDAwMCkudG9GaXhlZCgxKS5yZXBsYWNlKC9cXC4wJC8sICcnKSArICdNJztcbiAgICB9XG4gICAgaWYgKGNvdW50ID49IDEwMDApIHtcbiAgICAgIHJldHVybiAoY291bnQgLyAxMDAwKS50b0ZpeGVkKDEpLnJlcGxhY2UoL1xcLjAkLywgJycpICsgJ0snO1xuICAgIH1cbiAgICByZXR1cm4gY291bnQudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHByb2Nlc3NDb250ZW50KGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucHJvcHMuYXV0b0xpbmtpZnkgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5lc2NhcGVIdG1sKGNvbnRlbnQpO1xuICAgIH1cblxuICAgIC8vIEVzY2FwZSBIVE1MIGZpcnN0XG4gICAgbGV0IHByb2Nlc3NlZCA9IHRoaXMuZXNjYXBlSHRtbChjb250ZW50KTtcblxuICAgIC8vIFVSTCByZWdleFxuICAgIGNvbnN0IHVybFJlZ2V4ID0gLyhodHRwcz86XFwvXFwvW15cXHM8XStbXlxcczwuLDs6IT8pXFxdJ1wiXSkvZ2k7XG4gICAgcHJvY2Vzc2VkID0gcHJvY2Vzc2VkLnJlcGxhY2UoXG4gICAgICB1cmxSZWdleCxcbiAgICAgICc8YSBocmVmPVwiJDFcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgY2xhc3M9XCJjb21tZW50LWxpbmtcIj4kMTwvYT4nXG4gICAgKTtcblxuICAgIC8vIEBtZW50aW9uc1xuICAgIGNvbnN0IG1lbnRpb25SZWdleCA9IC9AKFxcdyspL2c7XG4gICAgcHJvY2Vzc2VkID0gcHJvY2Vzc2VkLnJlcGxhY2UobWVudGlvblJlZ2V4LCAnPHNwYW4gY2xhc3M9XCJjb21tZW50LW1lbnRpb25cIj5AJDE8L3NwYW4+Jyk7XG5cbiAgICAvLyAjaGFzaHRhZ3NcbiAgICBjb25zdCBoYXNodGFnUmVnZXggPSAvIyhcXHcrKS9nO1xuICAgIHByb2Nlc3NlZCA9IHByb2Nlc3NlZC5yZXBsYWNlKGhhc2h0YWdSZWdleCwgJzxzcGFuIGNsYXNzPVwiY29tbWVudC1oYXNodGFnXCI+IyQxPC9zcGFuPicpO1xuXG4gICAgLy8gUHJlc2VydmUgbGluZSBicmVha3NcbiAgICBwcm9jZXNzZWQgPSBwcm9jZXNzZWQucmVwbGFjZSgvXFxuL2csICc8YnI+Jyk7XG5cbiAgICByZXR1cm4gcHJvY2Vzc2VkO1xuICB9XG5cbiAgcHJpdmF0ZSBlc2NhcGVIdG1sKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZGl2LnRleHRDb250ZW50ID0gdGV4dDtcbiAgICByZXR1cm4gZGl2LmlubmVySFRNTDtcbiAgfVxuXG4gIGdldFJlYWN0aW9uQ29sb3IocmVhY3Rpb246IENvbW1lbnRSZWFjdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKHJlYWN0aW9uLmFjdGl2ZSAmJiByZWFjdGlvbi5hY3RpdmVDb2xvcikge1xuICAgICAgcmV0dXJuIGB2YXIoLS1pb24tY29sb3ItJHtyZWFjdGlvbi5hY3RpdmVDb2xvcn0pYDtcbiAgICB9XG4gICAgaWYgKHJlYWN0aW9uLmFjdGl2ZSkge1xuICAgICAgcmV0dXJuICd2YXIoLS1pb24tY29sb3ItcHJpbWFyeSknO1xuICAgIH1cbiAgICBpZiAocmVhY3Rpb24uY29sb3IpIHtcbiAgICAgIHJldHVybiBgdmFyKC0taW9uLWNvbG9yLSR7cmVhY3Rpb24uY29sb3J9KWA7XG4gICAgfVxuICAgIHJldHVybiAndmFyKC0taW9uLWNvbG9yLW1lZGl1bSknO1xuICB9XG5cbiAgZ2V0QWN0aW9uTGFiZWwoYWN0aW9uOiBDb21tZW50QWN0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYWN0aW9uLmxhYmVsIHx8IGFjdGlvbi5jb250ZW50RmFsbGJhY2sgfHwgJyc7XG4gIH1cblxuICBnZXRNZW51SXRlbUxhYmVsKGl0ZW06IENvbW1lbnRNZW51SXRlbSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGl0ZW0ubGFiZWwgfHwgaXRlbS5jb250ZW50RmFsbGJhY2sgfHwgJyc7XG4gIH1cblxuICBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISEodGhpcy5wcm9wcy5jaGlsZHJlbiAmJiB0aGlzLnByb3BzLmNoaWxkcmVuLmxlbmd0aCA+IDApIHx8XG4gICAgICAhISh0aGlzLnByb3BzLnJlcGx5Q291bnQgJiYgdGhpcy5wcm9wcy5yZXBseUNvdW50ID4gMClcbiAgICApO1xuICB9XG5cbiAgY2FuU2hvd0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1heERlcHRoID0gdGhpcy5wcm9wcy5tYXhEZXB0aCA/PyAzO1xuICAgIGNvbnN0IGN1cnJlbnREZXB0aCA9IHRoaXMucHJvcHMuZGVwdGggPz8gMDtcbiAgICByZXR1cm4gY3VycmVudERlcHRoIDwgbWF4RGVwdGggJiYgISEodGhpcy5wcm9wcy5jaGlsZHJlbiAmJiB0aGlzLnByb3BzLmNoaWxkcmVuLmxlbmd0aCA+IDApO1xuICB9XG5cbiAgZ2V0Q2hpbGRQcm9wcyhjaGlsZDogQ29tbWVudE1ldGFkYXRhKTogQ29tbWVudE1ldGFkYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY2hpbGQsXG4gICAgICBkZXB0aDogKHRoaXMucHJvcHMuZGVwdGggPz8gMCkgKyAxLFxuICAgICAgbWF4RGVwdGg6IHRoaXMucHJvcHMubWF4RGVwdGggPz8gMyxcbiAgICB9O1xuICB9XG5cbiAgaGFzTW9yZVJlcGxpZXMoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnByb3BzLnJlcGx5Q291bnQpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBsb2FkZWRDb3VudCA9IHRoaXMucHJvcHMuY2hpbGRyZW4/Lmxlbmd0aCA/PyAwO1xuICAgIHJldHVybiB0aGlzLnByb3BzLnJlcGx5Q291bnQgPiBsb2FkZWRDb3VudDtcbiAgfVxuXG4gIGdldFJlbWFpbmluZ0NvdW50KCk6IG51bWJlciB7XG4gICAgY29uc3QgdG90YWwgPSB0aGlzLnByb3BzLnJlcGx5Q291bnQgPz8gMDtcbiAgICBjb25zdCBsb2FkZWQgPSB0aGlzLnByb3BzLmNoaWxkcmVuPy5sZW5ndGggPz8gMDtcbiAgICByZXR1cm4gdG90YWwgLSBsb2FkZWQ7XG4gIH1cblxuICBvbkF1dGhvckNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuYXV0aG9yQ2xpY2suZW1pdCh7XG4gICAgICBhdXRob3I6IHRoaXMucHJvcHMuYXV0aG9yLFxuICAgICAgY29tbWVudFRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgIH0pO1xuICB9XG5cbiAgb25SZWFjdGlvbkNsaWNrKHJlYWN0aW9uOiBDb21tZW50UmVhY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLnJlYWN0aW9uQ2xpY2suZW1pdCh7XG4gICAgICByZWFjdGlvbixcbiAgICAgIGNvbW1lbnRUb2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICAgIGlzQWN0aXZlOiAhcmVhY3Rpb24uYWN0aXZlLFxuICAgIH0pO1xuICB9XG5cbiAgb25BY3Rpb25DbGljayhhY3Rpb246IENvbW1lbnRBY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoe1xuICAgICAgYWN0aW9uLFxuICAgICAgY29tbWVudFRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgIH0pO1xuICB9XG5cbiAgb25NZW51SXRlbUNsaWNrKGl0ZW06IENvbW1lbnRNZW51SXRlbSk6IHZvaWQge1xuICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KHtcbiAgICAgIG1lbnVJdGVtOiBpdGVtLFxuICAgICAgY29tbWVudFRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgIH0pO1xuICB9XG5cbiAgb25Mb2FkTW9yZUNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMubG9hZE1vcmVDbGljay5lbWl0KHtcbiAgICAgIGNvbW1lbnRUb2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICAgIGN1cnJlbnRDb3VudDogdGhpcy5wcm9wcy5jaGlsZHJlbj8ubGVuZ3RoID8/IDAsXG4gICAgfSk7XG4gIH1cblxuICBvblRvZ2dsZUNvbGxhcHNlKCk6IHZvaWQge1xuICAgIHRoaXMuY29sbGFwc2VUb2dnbGUuZW1pdCh7XG4gICAgICB0b2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICAgIGNvbGxhcHNlZDogIXRoaXMucHJvcHMuY29sbGFwc2VkLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
670
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbW1lbnQvY29tbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLEtBQUssRUFDTCxlQUFlLEVBQ2YsUUFBUSxFQUNSLFlBQVksRUFDWixLQUFLLEVBQ0wsVUFBVSxFQUNWLEdBQUcsRUFDSCxXQUFXLEVBQ1gsU0FBUyxFQUNULEdBQUcsRUFDSCxNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksRUFDSixLQUFLLEVBQ0wsZUFBZSxHQUNoQixNQUFNLGdCQUFnQixDQUFDOztBQWN4QixRQUFRLENBQUM7SUFDUCxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osS0FBSztJQUNMLGVBQWU7SUFDZixRQUFRO0lBQ1IsWUFBWTtJQUNaLEtBQUs7SUFDTCxVQUFVO0lBQ1YsR0FBRztJQUNILFdBQVc7SUFDWCxTQUFT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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd01ULDZ0YUEyQ1UsZ0JBQWdCLHdMQXBQakIsWUFBWSwrQkFBRSxPQUFPLDJKQUFFLFNBQVMsb1BBQUUsVUFBVSx3REFBRSxPQUFPLHlGQUFFLE9BQU8sME5BQUUsUUFBUSw2RkFBRSxlQUFlOzs0RkFvUHhGLGdCQUFnQjtrQkF2UDVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxlQUFlLENBQUMsWUFDMUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd01UO3dEQThDUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJb25JY29uLCBJb25CdXR0b24sIElvblBvcG92ZXIsIElvbkxpc3QsIElvbkl0ZW0sIElvbkxhYmVsIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQge1xuICBlbGxpcHNpc0hvcml6b250YWwsXG4gIGNoZWNrbWFya0NpcmNsZSxcbiAgY2hhdGJ1YmJsZU91dGxpbmUsXG4gIGhlYXJ0T3V0bGluZSxcbiAgaGVhcnQsXG4gIHRodW1ic1VwT3V0bGluZSxcbiAgdGh1bWJzVXAsXG4gIGhhcHB5T3V0bGluZSxcbiAgaGFwcHksXG4gIHNhZE91dGxpbmUsXG4gIHNhZCxcbiAgY2hldnJvbkRvd24sXG4gIGNoZXZyb25VcCxcbiAgcGluLFxuICBwZW5jaWwsXG4gIHRyYXNoLFxuICBmbGFnLFxuICBzaGFyZSxcbiAgZG9jdW1lbnRPdXRsaW5lLFxufSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQge1xuICBDb21tZW50TWV0YWRhdGEsXG4gIENvbW1lbnRBdXRob3IsXG4gIENvbW1lbnRSZWFjdGlvbixcbiAgQ29tbWVudEFjdGlvbixcbiAgQ29tbWVudE1lbnVJdGVtLFxuICBDb21tZW50QXV0aG9yQ2xpY2tFdmVudCxcbiAgQ29tbWVudFJlYWN0aW9uQ2xpY2tFdmVudCxcbiAgQ29tbWVudEFjdGlvbkNsaWNrRXZlbnQsXG4gIENvbW1lbnRNZW51SXRlbUNsaWNrRXZlbnQsXG4gIENvbW1lbnRMb2FkTW9yZUV2ZW50LFxufSBmcm9tICcuL3R5cGVzJztcblxuYWRkSWNvbnMoe1xuICBlbGxpcHNpc0hvcml6b250YWwsXG4gIGNoZWNrbWFya0NpcmNsZSxcbiAgY2hhdGJ1YmJsZU91dGxpbmUsXG4gIGhlYXJ0T3V0bGluZSxcbiAgaGVhcnQsXG4gIHRodW1ic1VwT3V0bGluZSxcbiAgdGh1bWJzVXAsXG4gIGhhcHB5T3V0bGluZSxcbiAgaGFwcHksXG4gIHNhZE91dGxpbmUsXG4gIHNhZCxcbiAgY2hldnJvbkRvd24sXG4gIGNoZXZyb25VcCxcbiAgcGluLFxuICBwZW5jaWwsXG4gIHRyYXNoLFxuICBmbGFnLFxuICBzaGFyZSxcbiAgZG9jdW1lbnRPdXRsaW5lLFxufSk7XG5cbi8qKlxuICogRGVmYXVsdHMgaTE4biAoZXMvZW4pIOKAlCBhdXRvLXJlZ2lzdHJhZG9zIHNpIGVsIGNvbnN1bWVyIG5vIHByb3ZlecOzIGVsXG4gKiBuYW1lc3BhY2UgYENvbW1lbnRgLiBDdWJyZSBlbCBhcmlhLWxhYmVsIGRlbCBhdXRvciAoYXZhdGFyICsgbm9tYnJlKS5cbiAqL1xuY29uc3QgQ09NTUVOVF9JMThOID0ge1xuICBlczogeyB2aWV3UHJvZmlsZU9mOiAnVmVyIHBlcmZpbCBkZSB7bmFtZX0nIH0sXG4gIGVuOiB7IHZpZXdQcm9maWxlT2Y6ICdWaWV3IHByb2ZpbGUgb2Yge25hbWV9JyB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNvbW1lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25JY29uLCBJb25CdXR0b24sIElvblBvcG92ZXIsIElvbkxpc3QsIElvbkl0ZW0sIElvbkxhYmVsLCBBdmF0YXJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY29tbWVudFwiXG4gICAgICBbY2xhc3MuaGlnaGxpZ2h0ZWRdPVwicHJvcHMuaGlnaGxpZ2h0ZWRcIlxuICAgICAgW2NsYXNzLnBpbm5lZF09XCJwcm9wcy5waW5uZWRcIlxuICAgICAgW2NsYXNzLmNvbGxhcHNlZF09XCJwcm9wcy5jb2xsYXBzZWRcIlxuICAgICAgW2NsYXNzLmNvbW1lbnQtLXNvY2lhbF09XCJwcm9wcy52YXJpYW50ID09PSAnc29jaWFsJ1wiXG4gICAgICBbc3R5bGUuLS1kZXB0aF09XCJwcm9wcy5kZXB0aCB8fCAwXCJcbiAgICA+XG4gICAgICBAaWYgKHByb3BzLnBpbm5lZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicGlubmVkLWluZGljYXRvclwiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwicGluXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8c3Bhbj57eyBpMThuLnQoJ3Bpbm5lZCcpIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtbWFpblwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNvbW1lbnQtYXZhdGFyXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhdXRob3JMYWJlbCgpXCIgKGNsaWNrKT1cIm9uQXV0aG9yQ2xpY2soKVwiPlxuICAgICAgICAgIEBpZiAocHJvcHMuYXV0aG9yLmF2YXRhcikge1xuICAgICAgICAgICAgPHZhbC1hdmF0YXIgW3Byb3BzXT1cInByb3BzLmF1dGhvci5hdmF0YXJcIj48L3ZhbC1hdmF0YXI+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLXBsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgICAgIHt7IGdldEluaXRpYWxzKHByb3BzLmF1dGhvci5uYW1lKSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1ib2R5XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtaGVhZGVyXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImF1dGhvci1pbmZvXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhdXRob3JMYWJlbCgpXCIgKGNsaWNrKT1cIm9uQXV0aG9yQ2xpY2soKVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF1dGhvci1uYW1lXCI+e3sgcHJvcHMuYXV0aG9yLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIEBpZiAocHJvcHMuYXV0aG9yLnZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGVja21hcmstY2lyY2xlXCIgY2xhc3M9XCJ2ZXJpZmllZC1iYWRnZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChwcm9wcy5hdXRob3IudXNlcm5hbWUpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF1dGhvci11c2VybmFtZVwiPiYjNjQ7e3sgcHJvcHMuYXV0aG9yLnVzZXJuYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtbWV0YVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpbWVzdGFtcFwiPnt7IGZvcm1hdFRpbWVzdGFtcChwcm9wcy50aW1lc3RhbXApIH19PC9zcGFuPlxuICAgICAgICAgICAgICBAaWYgKHByb3BzLmVkaXRlZCkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWRpdGVkLWxhYmVsXCI+e3sgaTE4bi50KCdlZGl0ZWQnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIEBpZiAocHJvcHMubWVudUl0ZW1zICYmIHByb3BzLm1lbnVJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9yZS1idXR0b25cIlxuICAgICAgICAgICAgICAgIFtpZF09XCInbWVudS10cmlnZ2VyLScgKyBwcm9wcy50b2tlblwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTcOhcyBvcGNpb25lcydcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJlbGxpcHNpcy1ob3Jpem9udGFsXCIgc2xvdD1cImljb24tb25seVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICAgICAgICA8aW9uLXBvcG92ZXIgW3RyaWdnZXJdPVwiJ21lbnUtdHJpZ2dlci0nICsgcHJvcHMudG9rZW5cIiBbZGlzbWlzc09uU2VsZWN0XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8aW9uLWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgcHJvcHMubWVudUl0ZW1zOyB0cmFjayBpdGVtLnRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmRpdmlkZXJCZWZvcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICBbYnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2RldGFpbF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25NZW51SXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiaXRlbS5pY29uXCIgc2xvdD1cInN0YXJ0XCIgW2NvbG9yXT1cIml0ZW0uY29sb3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1sYWJlbCBbY29sb3JdPVwiaXRlbS5jb2xvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRNZW51SXRlbUxhYmVsKGl0ZW0pIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L2lvbi1saXN0PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvaW9uLXBvcG92ZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICBAaWYgKCFwcm9wcy5jb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LWNvbnRlbnRcIiBbaW5uZXJIVE1MXT1cInByb2Nlc3NDb250ZW50KGRpc3BsYXlDb250ZW50KVwiPjwvZGl2PlxuXG4gICAgICAgICAgICBAaWYgKHByb3BzLmF0dGFjaG1lbnRzICYmIHByb3BzLmF0dGFjaG1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtYXR0YWNobWVudHNcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChhdHRhY2htZW50IG9mIHByb3BzLmF0dGFjaG1lbnRzOyB0cmFjayBhdHRhY2htZW50LnRva2VuKSB7XG4gICAgICAgICAgICAgICAgICBAaWYgKGF0dGFjaG1lbnQudHlwZSA9PT0gJ2ltYWdlJykge1xuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiY29tbWVudC1hdHRhY2htZW50LWltYWdlXCIgW3NyY109XCJhdHRhY2htZW50LnVybFwiIFthbHRdPVwiYXR0YWNobWVudC5sYWJlbCB8fCAnJ1wiIC8+XG4gICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmIChhdHRhY2htZW50LnR5cGUgPT09ICd2aWRlbycpIHtcbiAgICAgICAgICAgICAgICAgICAgPHZpZGVvXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb21tZW50LWF0dGFjaG1lbnQtdmlkZW9cIlxuICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiYXR0YWNobWVudC51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgIFtwb3N0ZXJdPVwiYXR0YWNobWVudC50aHVtYm5haWxVcmwgfHwgJydcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXR0YWNobWVudC5sYWJlbCB8fCBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICBjb250cm9sc1xuICAgICAgICAgICAgICAgICAgICAgIHByZWxvYWQ9XCJtZXRhZGF0YVwiXG4gICAgICAgICAgICAgICAgICAgID48L3ZpZGVvPlxuICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiY29tbWVudC1hdHRhY2htZW50LWZpbGVcIiBbaHJlZl09XCJhdHRhY2htZW50LnVybFwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJkb2N1bWVudC1vdXRsaW5lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBhdHRhY2htZW50LmxhYmVsIHx8IGF0dGFjaG1lbnQudXJsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgocHJvcHMucmVhY3Rpb25zICYmIHByb3BzLnJlYWN0aW9ucy5sZW5ndGggPiAwKSB8fCAocHJvcHMuYWN0aW9ucyAmJiBwcm9wcy5hY3Rpb25zLmxlbmd0aCA+IDApKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LWZvb3RlclwiPlxuICAgICAgICAgICAgICAgIEBpZiAocHJvcHMucmVhY3Rpb25zICYmIHByb3BzLnJlYWN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1yZWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAocmVhY3Rpb24gb2YgcHJvcHMucmVhY3Rpb25zOyB0cmFjayByZWFjdGlvbi50b2tlbikge1xuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyZWFjdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJyZWFjdGlvbi5hY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmhhcy1jb3VudF09XCJyZWFjdGlvbi5jb3VudCA+IDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLi0tcmVhY3Rpb24tY29sb3JdPVwiZ2V0UmVhY3Rpb25Db2xvcihyZWFjdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyZWFjdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25SZWFjdGlvbkNsaWNrKHJlYWN0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cInJlYWN0aW9uLmljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChyZWFjdGlvbi5jb3VudCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZWFjdGlvbi1jb3VudFwiPnt7IGZvcm1hdENvdW50KHJlYWN0aW9uLmNvdW50KSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIChwcm9wcy5hY3Rpb25zICYmIHByb3BzLmFjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChhY3Rpb24gb2YgcHJvcHMuYWN0aW9uczsgdHJhY2sgYWN0aW9uLnRva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbW1lbnQtYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiJ2FjdGlvbi1jb2xvci0nICsgKGFjdGlvbi5jb2xvciB8fCAnbWVkaXVtJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb25DbGljayhhY3Rpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGFjdGlvbi5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJhY3Rpb24uaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBnZXRBY3Rpb25MYWJlbChhY3Rpb24pIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZXhwYW5kLWJ1dHRvblwiIChjbGljayk9XCJvblRvZ2dsZUNvbGxhcHNlKClcIj5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGV2cm9uLWRvd25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBpMThuLnQoJ3Nob3dDb21tZW50JykgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoIXByb3BzLmNvbGxhcHNlZCAmJiBoYXNDaGlsZHJlbigpKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LWNoaWxkcmVuXCI+XG4gICAgICAgICAgQGlmIChwcm9wcy5jb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjb2xsYXBzZS1idXR0b25cIiAoY2xpY2spPVwib25Ub2dnbGVDb2xsYXBzZSgpXCI+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hldnJvbi11cFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IGkxOG4udCgnaGlkZVJlcGxpZXMnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAoY2FuU2hvd0NoaWxkcmVuKCkpIHtcbiAgICAgICAgICAgIEBmb3IgKGNoaWxkIG9mIHByb3BzLmNoaWxkcmVuOyB0cmFjayBjaGlsZC50b2tlbikge1xuICAgICAgICAgICAgICA8dmFsLWNvbW1lbnRcbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwiZ2V0Q2hpbGRQcm9wcyhjaGlsZClcIlxuICAgICAgICAgICAgICAgIChhdXRob3JDbGljayk9XCJhdXRob3JDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIChyZWFjdGlvbkNsaWNrKT1cInJlYWN0aW9uQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoYWN0aW9uQ2xpY2spPVwiYWN0aW9uQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAobWVudUl0ZW1DbGljayk9XCJtZW51SXRlbUNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGxvYWRNb3JlQ2xpY2spPVwibG9hZE1vcmVDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIChjb2xsYXBzZVRvZ2dsZSk9XCJjb2xsYXBzZVRvZ2dsZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICA+PC92YWwtY29tbWVudD5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChoYXNNb3JlUmVwbGllcygpKSB7XG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJsb2FkLW1vcmUtYnV0dG9uXCIgKGNsaWNrKT1cIm9uTG9hZE1vcmVDbGljaygpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgZ2V0TG9hZE1vcmVSZXBsaWVzVGV4dCgpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hldnJvbi1kb3duXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidmlldy1yZXBsaWVzLWJ1dHRvblwiIChjbGljayk9XCJvbkxvYWRNb3JlQ2xpY2soKVwiPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBnZXRWaWV3UmVwbGllc1RleHQoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGV2cm9uLWRvd25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vY29tbWVudC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLWNvbW1lbnRcbiAqXG4gKiBBIHZlcnNhdGlsZSBjb21tZW50IGNvbXBvbmVudCBmb3IgZm9ydW1zLCByZXZpZXdzLCBhbmQgc29jaWFsIG1lZGlhLlxuICogU3VwcG9ydHMgYXV0aG9yIGluZm8sIHJlYWN0aW9ucywgYWN0aW9ucywgbmVzdGVkIHJlcGxpZXMsIGFuZCBtb3JlLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIGNvbW1lbnRcbiAqIDx2YWwtY29tbWVudCBbcHJvcHNdPVwie1xuICogICB0b2tlbjogJzEnLFxuICogICBhdXRob3I6IHsgbmFtZTogJ0pvaG4gRG9lJywgdXNlcm5hbWU6ICdqb2huZCcgfSxcbiAqICAgY29udGVudDogJ1RoaXMgaXMgYSBncmVhdCBwb3N0IScsXG4gKiAgIHRpbWVzdGFtcDogJzIgaG91cnMgYWdvJ1xuICogfVwiPjwvdmFsLWNvbW1lbnQ+XG4gKlxuICogQGV4YW1wbGUgV2l0aCByZWFjdGlvbnMgYW5kIGFjdGlvbnNcbiAqIDx2YWwtY29tbWVudCBbcHJvcHNdPVwie1xuICogICB0b2tlbjogJzEnLFxuICogICBhdXRob3I6IHsgbmFtZTogJ0phbmUnLCBhdmF0YXI6IGF2YXRhclByb3BzLCB2ZXJpZmllZDogdHJ1ZSB9LFxuICogICBjb250ZW50OiAnQW1hemluZyBjb250ZW50ISBDaGVjayBvdXQgaHR0cHM6Ly9leGFtcGxlLmNvbScsXG4gKiAgIHRpbWVzdGFtcDogbmV3IERhdGUoKSxcbiAqICAgcmVhY3Rpb25zOiBbXG4gKiAgICAgeyB0b2tlbjogJ2xpa2UnLCBpY29uOiAnaGVhcnQtb3V0bGluZScsIGNvdW50OiA0MiwgYWN0aXZlOiBmYWxzZSB9XG4gKiAgIF0sXG4gKiAgIGFjdGlvbnM6IFtcbiAqICAgICB7IHRva2VuOiAncmVwbHknLCBsYWJlbDogJ1JlcGx5JywgaWNvbjogJ2NoYXRidWJibGUtb3V0bGluZScgfVxuICogICBdLFxuICogICBtZW51SXRlbXM6IFtcbiAqICAgICB7IHRva2VuOiAnZWRpdCcsIGxhYmVsOiAnRWRpdCcsIGljb246ICdwZW5jaWwnIH0sXG4gKiAgICAgeyB0b2tlbjogJ2RlbGV0ZScsIGxhYmVsOiAnRGVsZXRlJywgaWNvbjogJ3RyYXNoJywgY29sb3I6ICdkYW5nZXInIH1cbiAqICAgXVxuICogfVwiPjwvdmFsLWNvbW1lbnQ+XG4gKlxuICogQGlucHV0IHByb3BzOiBDb21tZW50TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgY29tbWVudFxuICogQG91dHB1dCBhdXRob3JDbGljayAtIEVtaXRzIHdoZW4gYXV0aG9yIG5hbWUvYXZhdGFyIGlzIGNsaWNrZWRcbiAqIEBvdXRwdXQgcmVhY3Rpb25DbGljayAtIEVtaXRzIHdoZW4gYSByZWFjdGlvbiBpcyBjbGlja2VkXG4gKiBAb3V0cHV0IGFjdGlvbkNsaWNrIC0gRW1pdHMgd2hlbiBhbiBhY3Rpb24gYnV0dG9uIGlzIGNsaWNrZWRcbiAqIEBvdXRwdXQgbWVudUl0ZW1DbGljayAtIEVtaXRzIHdoZW4gYSBtZW51IGl0ZW0gaXMgY2xpY2tlZFxuICogQG91dHB1dCBsb2FkTW9yZUNsaWNrIC0gRW1pdHMgd2hlbiBsb2FkIG1vcmUgcmVwbGllcyBpcyBjbGlja2VkXG4gKiBAb3V0cHV0IGNvbGxhcHNlVG9nZ2xlIC0gRW1pdHMgd2hlbiBjb21tZW50IGlzIGNvbGxhcHNlZC9leHBhbmRlZFxuICovXG5leHBvcnQgY2xhc3MgQ29tbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb3RlY3RlZCBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICBASW5wdXQoKSBwcm9wczogQ29tbWVudE1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSBhdXRob3JDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudEF1dGhvckNsaWNrRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSByZWFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50UmVhY3Rpb25DbGlja0V2ZW50PigpO1xuICBAT3V0cHV0KCkgYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRBY3Rpb25DbGlja0V2ZW50PigpO1xuICBAT3V0cHV0KCkgbWVudUl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudE1lbnVJdGVtQ2xpY2tFdmVudD4oKTtcbiAgQE91dHB1dCgpIGxvYWRNb3JlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRMb2FkTW9yZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgY29sbGFwc2VUb2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgdG9rZW46IHN0cmluZzsgY29sbGFwc2VkOiBib29sZWFuIH0+KCk7XG5cbiAgZGlzcGxheUNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaTE4bi5yZWdpc3RlckRlZmF1bHRzKCdDb21tZW50JywgQ09NTUVOVF9JMThOKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheUNvbnRlbnQgPSB0aGlzLnByb3BzLmNvbnRlbnQgfHwgdGhpcy5wcm9wcy5jb250ZW50RmFsbGJhY2sgfHwgJyc7XG4gIH1cblxuICAvKiogQXJpYS1sYWJlbCBhY2Nlc2libGUgZGVsIGF1dG9yIChhdmF0YXIgKyBub21icmUgY2xpY2FibGVzKS4gKi9cbiAgYXV0aG9yTGFiZWwoKTogc3RyaW5nIHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgndmlld1Byb2ZpbGVPZicsICdDb21tZW50JywgeyBuYW1lOiB0aGlzLnByb3BzLmF1dGhvci5uYW1lIH0pO1xuICB9XG5cbiAgZ2V0SW5pdGlhbHMobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmFtZVxuICAgICAgLnNwbGl0KCcgJylcbiAgICAgIC5tYXAobiA9PiBuWzBdKVxuICAgICAgLmpvaW4oJycpXG4gICAgICAuc3Vic3RyaW5nKDAsIDIpXG4gICAgICAudG9VcHBlckNhc2UoKTtcbiAgfVxuXG4gIGZvcm1hdFRpbWVzdGFtcCh0aW1lc3RhbXA6IHN0cmluZyB8IERhdGUpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgdGltZXN0YW1wID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRpbWVzdGFtcDtcbiAgICB9XG5cbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IGRpZmYgPSBub3cuZ2V0VGltZSgpIC0gdGltZXN0YW1wLmdldFRpbWUoKTtcbiAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5mbG9vcihkaWZmIC8gMTAwMCk7XG4gICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAvIDYwKTtcbiAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IobWludXRlcyAvIDYwKTtcbiAgICBjb25zdCBkYXlzID0gTWF0aC5mbG9vcihob3VycyAvIDI0KTtcblxuICAgIGlmIChzZWNvbmRzIDwgNjApIHJldHVybiB0aGlzLmkxOG4udCgnanVzdE5vdycpO1xuICAgIGlmIChtaW51dGVzIDwgNjApIHJldHVybiB0aGlzLmkxOG4udCgnbWludXRlc0FnbycsICdfZ2xvYmFsJywgeyBtaW51dGVzOiBtaW51dGVzLnRvU3RyaW5nKCkgfSk7XG4gICAgaWYgKGhvdXJzIDwgMjQpIHJldHVybiB0aGlzLmkxOG4udCgnaG91cnNBZ28nLCAnX2dsb2JhbCcsIHsgaG91cnM6IGhvdXJzLnRvU3RyaW5nKCkgfSk7XG4gICAgaWYgKGRheXMgPCA3KSByZXR1cm4gdGhpcy5pMThuLnQoJ2RheXNBZ28nLCAnX2dsb2JhbCcsIHsgZGF5czogZGF5cy50b1N0cmluZygpIH0pO1xuXG4gICAgcmV0dXJuIHRpbWVzdGFtcC50b0xvY2FsZURhdGVTdHJpbmcoKTtcbiAgfVxuXG4gIGdldExvYWRNb3JlUmVwbGllc1RleHQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb3VudCA9IHRoaXMuZ2V0UmVtYWluaW5nQ291bnQoKTtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoJ2xvYWRNb3JlUmVwbGllcycpICsgYCAoJHtjb3VudH0pYDtcbiAgfVxuXG4gIGdldFZpZXdSZXBsaWVzVGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5wcm9wcy5yZXBseUNvdW50IHx8IHRoaXMucHJvcHMuY2hpbGRyZW4/Lmxlbmd0aCB8fCAwO1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgndmlld1JlcGxpZXMnKSArIGAgKCR7Y291bnR9KWA7XG4gIH1cblxuICBmb3JtYXRDb3VudChjb3VudDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAoY291bnQgPj0gMTAwMDAwMCkge1xuICAgICAgcmV0dXJuIChjb3VudCAvIDEwMDAwMDApLnRvRml4ZWQoMSkucmVwbGFjZSgvXFwuMCQvLCAnJykgKyAnTSc7XG4gICAgfVxuICAgIGlmIChjb3VudCA+PSAxMDAwKSB7XG4gICAgICByZXR1cm4gKGNvdW50IC8gMTAwMCkudG9GaXhlZCgxKS5yZXBsYWNlKC9cXC4wJC8sICcnKSArICdLJztcbiAgICB9XG4gICAgcmV0dXJuIGNvdW50LnRvU3RyaW5nKCk7XG4gIH1cblxuICBwcm9jZXNzQ29udGVudChjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnByb3BzLmF1dG9MaW5raWZ5ID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZXNjYXBlSHRtbChjb250ZW50KTtcbiAgICB9XG5cbiAgICAvLyBFc2NhcGUgSFRNTCBmaXJzdFxuICAgIGxldCBwcm9jZXNzZWQgPSB0aGlzLmVzY2FwZUh0bWwoY29udGVudCk7XG5cbiAgICAvLyBVUkwgcmVnZXhcbiAgICBjb25zdCB1cmxSZWdleCA9IC8oaHR0cHM/OlxcL1xcL1teXFxzPF0rW15cXHM8Liw7OiE/KVxcXSdcIl0pL2dpO1xuICAgIHByb2Nlc3NlZCA9IHByb2Nlc3NlZC5yZXBsYWNlKFxuICAgICAgdXJsUmVnZXgsXG4gICAgICAnPGEgaHJlZj1cIiQxXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiIGNsYXNzPVwiY29tbWVudC1saW5rXCI+JDE8L2E+J1xuICAgICk7XG5cbiAgICAvLyBAbWVudGlvbnNcbiAgICBjb25zdCBtZW50aW9uUmVnZXggPSAvQChcXHcrKS9nO1xuICAgIHByb2Nlc3NlZCA9IHByb2Nlc3NlZC5yZXBsYWNlKG1lbnRpb25SZWdleCwgJzxzcGFuIGNsYXNzPVwiY29tbWVudC1tZW50aW9uXCI+QCQxPC9zcGFuPicpO1xuXG4gICAgLy8gI2hhc2h0YWdzXG4gICAgY29uc3QgaGFzaHRhZ1JlZ2V4ID0gLyMoXFx3KykvZztcbiAgICBwcm9jZXNzZWQgPSBwcm9jZXNzZWQucmVwbGFjZShoYXNodGFnUmVnZXgsICc8c3BhbiBjbGFzcz1cImNvbW1lbnQtaGFzaHRhZ1wiPiMkMTwvc3Bhbj4nKTtcblxuICAgIC8vIFByZXNlcnZlIGxpbmUgYnJlYWtzXG4gICAgcHJvY2Vzc2VkID0gcHJvY2Vzc2VkLnJlcGxhY2UoL1xcbi9nLCAnPGJyPicpO1xuXG4gICAgcmV0dXJuIHByb2Nlc3NlZDtcbiAgfVxuXG4gIHByaXZhdGUgZXNjYXBlSHRtbCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGRpdi50ZXh0Q29udGVudCA9IHRleHQ7XG4gICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7XG4gIH1cblxuICBnZXRSZWFjdGlvbkNvbG9yKHJlYWN0aW9uOiBDb21tZW50UmVhY3Rpb24pOiBzdHJpbmcge1xuICAgIGlmIChyZWFjdGlvbi5hY3RpdmUgJiYgcmVhY3Rpb24uYWN0aXZlQ29sb3IpIHtcbiAgICAgIHJldHVybiBgdmFyKC0taW9uLWNvbG9yLSR7cmVhY3Rpb24uYWN0aXZlQ29sb3J9KWA7XG4gICAgfVxuICAgIGlmIChyZWFjdGlvbi5hY3RpdmUpIHtcbiAgICAgIHJldHVybiAndmFyKC0taW9uLWNvbG9yLXByaW1hcnkpJztcbiAgICB9XG4gICAgaWYgKHJlYWN0aW9uLmNvbG9yKSB7XG4gICAgICByZXR1cm4gYHZhcigtLWlvbi1jb2xvci0ke3JlYWN0aW9uLmNvbG9yfSlgO1xuICAgIH1cbiAgICByZXR1cm4gJ3ZhcigtLWlvbi1jb2xvci1tZWRpdW0pJztcbiAgfVxuXG4gIGdldEFjdGlvbkxhYmVsKGFjdGlvbjogQ29tbWVudEFjdGlvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGFjdGlvbi5sYWJlbCB8fCBhY3Rpb24uY29udGVudEZhbGxiYWNrIHx8ICcnO1xuICB9XG5cbiAgZ2V0TWVudUl0ZW1MYWJlbChpdGVtOiBDb21tZW50TWVudUl0ZW0pOiBzdHJpbmcge1xuICAgIHJldHVybiBpdGVtLmxhYmVsIHx8IGl0ZW0uY29udGVudEZhbGxiYWNrIHx8ICcnO1xuICB9XG5cbiAgaGFzQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICEhKHRoaXMucHJvcHMuY2hpbGRyZW4gJiYgdGhpcy5wcm9wcy5jaGlsZHJlbi5sZW5ndGggPiAwKSB8fFxuICAgICAgISEodGhpcy5wcm9wcy5yZXBseUNvdW50ICYmIHRoaXMucHJvcHMucmVwbHlDb3VudCA+IDApXG4gICAgKTtcbiAgfVxuXG4gIGNhblNob3dDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICBjb25zdCBtYXhEZXB0aCA9IHRoaXMucHJvcHMubWF4RGVwdGggPz8gMztcbiAgICBjb25zdCBjdXJyZW50RGVwdGggPSB0aGlzLnByb3BzLmRlcHRoID8/IDA7XG4gICAgcmV0dXJuIGN1cnJlbnREZXB0aCA8IG1heERlcHRoICYmICEhKHRoaXMucHJvcHMuY2hpbGRyZW4gJiYgdGhpcy5wcm9wcy5jaGlsZHJlbi5sZW5ndGggPiAwKTtcbiAgfVxuXG4gIGdldENoaWxkUHJvcHMoY2hpbGQ6IENvbW1lbnRNZXRhZGF0YSk6IENvbW1lbnRNZXRhZGF0YSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNoaWxkLFxuICAgICAgZGVwdGg6ICh0aGlzLnByb3BzLmRlcHRoID8/IDApICsgMSxcbiAgICAgIG1heERlcHRoOiB0aGlzLnByb3BzLm1heERlcHRoID8/IDMsXG4gICAgfTtcbiAgfVxuXG4gIGhhc01vcmVSZXBsaWVzKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5wcm9wcy5yZXBseUNvdW50KSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgbG9hZGVkQ291bnQgPSB0aGlzLnByb3BzLmNoaWxkcmVuPy5sZW5ndGggPz8gMDtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5yZXBseUNvdW50ID4gbG9hZGVkQ291bnQ7XG4gIH1cblxuICBnZXRSZW1haW5pbmdDb3VudCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHRvdGFsID0gdGhpcy5wcm9wcy5yZXBseUNvdW50ID8/IDA7XG4gICAgY29uc3QgbG9hZGVkID0gdGhpcy5wcm9wcy5jaGlsZHJlbj8ubGVuZ3RoID8/IDA7XG4gICAgcmV0dXJuIHRvdGFsIC0gbG9hZGVkO1xuICB9XG5cbiAgb25BdXRob3JDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmF1dGhvckNsaWNrLmVtaXQoe1xuICAgICAgYXV0aG9yOiB0aGlzLnByb3BzLmF1dGhvcixcbiAgICAgIGNvbW1lbnRUb2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICB9KTtcbiAgfVxuXG4gIG9uUmVhY3Rpb25DbGljayhyZWFjdGlvbjogQ29tbWVudFJlYWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5yZWFjdGlvbkNsaWNrLmVtaXQoe1xuICAgICAgcmVhY3Rpb24sXG4gICAgICBjb21tZW50VG9rZW46IHRoaXMucHJvcHMudG9rZW4sXG4gICAgICBpc0FjdGl2ZTogIXJlYWN0aW9uLmFjdGl2ZSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uQWN0aW9uQ2xpY2soYWN0aW9uOiBDb21tZW50QWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpb25DbGljay5lbWl0KHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNvbW1lbnRUb2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICB9KTtcbiAgfVxuXG4gIG9uTWVudUl0ZW1DbGljayhpdGVtOiBDb21tZW50TWVudUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLm1lbnVJdGVtQ2xpY2suZW1pdCh7XG4gICAgICBtZW51SXRlbTogaXRlbSxcbiAgICAgIGNvbW1lbnRUb2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICB9KTtcbiAgfVxuXG4gIG9uTG9hZE1vcmVDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRNb3JlQ2xpY2suZW1pdCh7XG4gICAgICBjb21tZW50VG9rZW46IHRoaXMucHJvcHMudG9rZW4sXG4gICAgICBjdXJyZW50Q291bnQ6IHRoaXMucHJvcHMuY2hpbGRyZW4/Lmxlbmd0aCA/PyAwLFxuICAgIH0pO1xuICB9XG5cbiAgb25Ub2dnbGVDb2xsYXBzZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbGxhcHNlVG9nZ2xlLmVtaXQoe1xuICAgICAgdG9rZW46IHRoaXMucHJvcHMudG9rZW4sXG4gICAgICBjb2xsYXBzZWQ6ICF0aGlzLnByb3BzLmNvbGxhcHNlZCxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbW1lbnQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yIH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuaW1wb3J0IHsgQXZhdGFyTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9hdG9tcy9hdmF0YXIvdHlwZXMnO1xuXG4vKipcbiAqIEF1dGhvciBpbmZvcm1hdGlvbiBmb3IgYSBjb21tZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRBdXRob3Ige1xuICAvKiogRGlzcGxheSBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIFVzZXJuYW1lIGhhbmRsZSAod2l0aG91dCBAKSAqL1xuICB1c2VybmFtZT86IHN0cmluZztcbiAgLyoqIEF1dGhvciBhdmF0YXIgY29uZmlndXJhdGlvbiAqL1xuICBhdmF0YXI/OiBBdmF0YXJNZXRhZGF0YTtcbiAgLyoqIFdoZXRoZXIgdXNlciBpcyB2ZXJpZmllZCAqL1xuICB2ZXJpZmllZD86IGJvb2xlYW47XG4gIC8qKiBPcHRpb25hbCB1c2VyIElEIG9yIHJlZmVyZW5jZSAqL1xuICB1c2VySWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVhY3Rpb24gY29uZmlndXJhdGlvbiAobGlrZSwgbG92ZSwgbGF1Z2gsIGV0Yy4pXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWVudFJlYWN0aW9uIHtcbiAgLyoqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIHJlYWN0aW9uIHR5cGUgKi9cbiAgdG9rZW46IHN0cmluZztcbiAgLyoqIEljb24gbmFtZSAoaW9uaWNvbikgKi9cbiAgaWNvbjogc3RyaW5nO1xuICAvKiogUmVhY3Rpb24gY291bnQgKi9cbiAgY291bnQ6IG51bWJlcjtcbiAgLyoqIFdoZXRoZXIgY3VycmVudCB1c2VyIGhhcyByZWFjdGVkICovXG4gIGFjdGl2ZT86IGJvb2xlYW47XG4gIC8qKiBJY29uIGNvbG9yIHdoZW4gYWN0aXZlICovXG4gIGFjdGl2ZUNvbG9yPzogQ29sb3I7XG4gIC8qKiBJY29uIGNvbG9yIHdoZW4gaW5hY3RpdmUgKi9cbiAgY29sb3I/OiBDb2xvcjtcbiAgLyoqIExhYmVsIGZvciBhY2Nlc3NpYmlsaXR5ICovXG4gIGxhYmVsPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFjdGlvbiBidXR0b24gY29uZmlndXJhdGlvbiAocmVwbHksIHNoYXJlLCBldGMuKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRBY3Rpb24ge1xuICAvKiogVW5pcXVlIGlkZW50aWZpZXIgKi9cbiAgdG9rZW46IHN0cmluZztcbiAgLyoqIEFjdGlvbiBsYWJlbCAqL1xuICBsYWJlbDogc3RyaW5nO1xuICAvKiogT3B0aW9uYWwgaWNvbiAqL1xuICBpY29uPzogc3RyaW5nO1xuICAvKiogQnV0dG9uIGNvbG9yICovXG4gIGNvbG9yPzogQ29sb3I7XG4gIC8qKiBXaGV0aGVyIGFjdGlvbiBpcyBkaXNhYmxlZCAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiBSZWFjdGl2ZSBjb250ZW50IGtleSAqL1xuICBjb250ZW50S2V5Pzogc3RyaW5nO1xuICAvKiogQ29tcG9uZW50IGNsYXNzIGZvciBjb250ZW50IGxvb2t1cCAqL1xuICBjb250ZW50Q2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBGYWxsYmFjayBsYWJlbCAqL1xuICBjb250ZW50RmFsbGJhY2s/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTWVudSBpdGVtIGZvciB0aGUgXCJtb3JlXCIgZHJvcGRvd24gKGVkaXQsIGRlbGV0ZSwgcmVwb3J0LCBldGMuKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRNZW51SXRlbSB7XG4gIC8qKiBVbmlxdWUgaWRlbnRpZmllciAqL1xuICB0b2tlbjogc3RyaW5nO1xuICAvKiogTWVudSBpdGVtIGxhYmVsICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCBpY29uICovXG4gIGljb24/OiBzdHJpbmc7XG4gIC8qKiBJdGVtIGNvbG9yIChkYW5nZXIgZm9yIGRlbGV0ZSwgZXRjLikgKi9cbiAgY29sb3I/OiBDb2xvcjtcbiAgLyoqIFdoZXRoZXIgaXRlbSBpcyBkaXNhYmxlZCAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgYSBkaXZpZGVyIGJlZm9yZSB0aGlzIGl0ZW0gKi9cbiAgZGl2aWRlckJlZm9yZT86IGJvb2xlYW47XG4gIC8qKiBSZWFjdGl2ZSBjb250ZW50IGtleSAqL1xuICBjb250ZW50S2V5Pzogc3RyaW5nO1xuICAvKiogQ29tcG9uZW50IGNsYXNzIGZvciBjb250ZW50IGxvb2t1cCAqL1xuICBjb250ZW50Q2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBGYWxsYmFjayBsYWJlbCAqL1xuICBjb250ZW50RmFsbGJhY2s/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbW1lbnQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yIH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuaW1wb3J0IHsgQXZhdGFyTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9hdG9tcy9hdmF0YXIvdHlwZXMnO1xuXG4vKipcbiAqIEF1dGhvciBpbmZvcm1hdGlvbiBmb3IgYSBjb21tZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRBdXRob3Ige1xuICAvKiogRGlzcGxheSBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIFVzZXJuYW1lIGhhbmRsZSAod2l0aG91dCBAKSAqL1xuICB1c2VybmFtZT86IHN0cmluZztcbiAgLyoqIEF1dGhvciBhdmF0YXIgY29uZmlndXJhdGlvbiAqL1xuICBhdmF0YXI/OiBBdmF0YXJNZXRhZGF0YTtcbiAgLyoqIFdoZXRoZXIgdXNlciBpcyB2ZXJpZmllZCAqL1xuICB2ZXJpZmllZD86IGJvb2xlYW47XG4gIC8qKiBPcHRpb25hbCB1c2VyIElEIG9yIHJlZmVyZW5jZSAqL1xuICB1c2VySWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVhY3Rpb24gY29uZmlndXJhdGlvbiAobGlrZSwgbG92ZSwgbGF1Z2gsIGV0Yy4pXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWVudFJlYWN0aW9uIHtcbiAgLyoqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIHJlYWN0aW9uIHR5cGUgKi9cbiAgdG9rZW46IHN0cmluZztcbiAgLyoqIEljb24gbmFtZSAoaW9uaWNvbikgKi9cbiAgaWNvbjogc3RyaW5nO1xuICAvKiogUmVhY3Rpb24gY291bnQgKi9cbiAgY291bnQ6IG51bWJlcjtcbiAgLyoqIFdoZXRoZXIgY3VycmVudCB1c2VyIGhhcyByZWFjdGVkICovXG4gIGFjdGl2ZT86IGJvb2xlYW47XG4gIC8qKiBJY29uIGNvbG9yIHdoZW4gYWN0aXZlICovXG4gIGFjdGl2ZUNvbG9yPzogQ29sb3I7XG4gIC8qKiBJY29uIGNvbG9yIHdoZW4gaW5hY3RpdmUgKi9cbiAgY29sb3I/OiBDb2xvcjtcbiAgLyoqIExhYmVsIGZvciBhY2Nlc3NpYmlsaXR5ICovXG4gIGxhYmVsPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFjdGlvbiBidXR0b24gY29uZmlndXJhdGlvbiAocmVwbHksIHNoYXJlLCBldGMuKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRBY3Rpb24ge1xuICAvKiogVW5pcXVlIGlkZW50aWZpZXIgKi9cbiAgdG9rZW46IHN0cmluZztcbiAgLyoqIEFjdGlvbiBsYWJlbCAqL1xuICBsYWJlbDogc3RyaW5nO1xuICAvKiogT3B0aW9uYWwgaWNvbiAqL1xuICBpY29uPzogc3RyaW5nO1xuICAvKiogQnV0dG9uIGNvbG9yICovXG4gIGNvbG9yPzogQ29sb3I7XG4gIC8qKiBXaGV0aGVyIGFjdGlvbiBpcyBkaXNhYmxlZCAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiBSZWFjdGl2ZSBjb250ZW50IGtleSAqL1xuICBjb250ZW50S2V5Pzogc3RyaW5nO1xuICAvKiogQ29tcG9uZW50IGNsYXNzIGZvciBjb250ZW50IGxvb2t1cCAqL1xuICBjb250ZW50Q2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBGYWxsYmFjayBsYWJlbCAqL1xuICBjb250ZW50RmFsbGJhY2s/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTWVudSBpdGVtIGZvciB0aGUgXCJtb3JlXCIgZHJvcGRvd24gKGVkaXQsIGRlbGV0ZSwgcmVwb3J0LCBldGMuKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRNZW51SXRlbSB7XG4gIC8qKiBVbmlxdWUgaWRlbnRpZmllciAqL1xuICB0b2tlbjogc3RyaW5nO1xuICAvKiogTWVudSBpdGVtIGxhYmVsICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCBpY29uICovXG4gIGljb24/OiBzdHJpbmc7XG4gIC8qKiBJdGVtIGNvbG9yIChkYW5nZXIgZm9yIGRlbGV0ZSwgZXRjLikgKi9cbiAgY29sb3I/OiBDb2xvcjtcbiAgLyoqIFdoZXRoZXIgaXRlbSBpcyBkaXNhYmxlZCAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgYSBkaXZpZGVyIGJlZm9yZSB0aGlzIGl0ZW0gKi9cbiAgZGl2aWRlckJlZm9yZT86IGJvb2xlYW47XG4gIC8qKiBSZWFjdGl2ZSBjb250ZW50IGtleSAqL1xuICBjb250ZW50S2V5Pzogc3RyaW5nO1xuICAvKiogQ29tcG9uZW50IGNsYXNzIGZvciBjb250ZW50IGxvb2t1cCAqL1xuICBjb250ZW50Q2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBGYWxsYmFjayBsYWJlbCAqL1xuICBjb250ZW50RmFsbGJhY2s/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWVudEF0dGFjaG1lbnQge1xuICAvKiogVW5pcXVlIGF0dGFjaG1lbnQgaWRlbnRpZmllciAqL1xuICB0b2tlbjogc3RyaW5nO1xuICAvKiogQXR0YWNobWVudCBraW5kICovXG4gIHR5cGU6ICdpbWFnZScgfCAndmlkZW8nIHwgJ2ZpbGUnO1xuICAvKiogU291cmNlIFVSTCAqL1xuICB1cmw6IHN0cmluZztcbiAgLyoqIEFjY2Vzc2libGUgbGFiZWwgZm9yIGltYWdlcyBvciBmaWxlIG5hbWUgKi9cbiAgbGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCBwcmV2aWV3IGltYWdlIGZvciB2aWRlby9maWxlIGF0dGFjaG1lbnRzICovXG4gIHRodW1ibmFpbFVybD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBNYWluIGNvbW1lbnQgbWV0YWRhdGEgaW50ZXJmYWNlLlxuICogU3VwcG9ydHMgcmVjdXJzaXZlIG5lc3RpbmcgdmlhIGNoaWxkcmVuIHByb3BlcnR5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRNZXRhZGF0YSB7XG4gIC8qKiBVbmlxdWUgY29tbWVudCBpZGVudGlmaWVyICovXG4gIHRva2VuOiBzdHJpbmc7XG4gIC8qKiBDb21tZW50IGF1dGhvciAqL1xuICBhdXRob3I6IENvbW1lbnRBdXRob3I7XG4gIC8qKiBDb21tZW50IHRleHQgY29udGVudCAqL1xuICBjb250ZW50OiBzdHJpbmc7XG4gIC8qKiBUaW1lc3RhbXAgLSBjYW4gYmUgc3RyaW5nIChcIjIgaG91cnMgYWdvXCIpIG9yIERhdGUgb2JqZWN0ICovXG4gIHRpbWVzdGFtcDogc3RyaW5nIHwgRGF0ZTtcbiAgLyoqIFZpc3VhbCB2YXJpYW50LiBgc29jaWFsYCByZW5kZXJzIGFzIGEgcG9zdC1saWtlIHJvdW5kZWQgY2FyZC4gKi9cbiAgdmFyaWFudD86ICdkZWZhdWx0JyB8ICdzb2NpYWwnO1xuICAvKiogTWVkaWEgb3IgZmlsZSBhdHRhY2htZW50cyBzaG93biBiZWxvdyB0aGUgY29tbWVudCBib2R5ICovXG4gIGF0dGFjaG1lbnRzPzogQ29tbWVudEF0dGFjaG1lbnRbXTtcbiAgLyoqIEF2YWlsYWJsZSByZWFjdGlvbnMgKi9cbiAgcmVhY3Rpb25zPzogQ29tbWVudFJlYWN0aW9uW107XG4gIC8qKiBBY3Rpb24gYnV0dG9ucyAocmVwbHksIGV0Yy4pICovXG4gIGFjdGlvbnM/OiBDb21tZW50QWN0aW9uW107XG4gIC8qKiBNZW51IGl0ZW1zIGZvciBcIm1vcmVcIiBkcm9wZG93biAqL1xuICBtZW51SXRlbXM/OiBDb21tZW50TWVudUl0ZW1bXTtcbiAgLyoqIE5lc3RlZCBjaGlsZCBjb21tZW50cyAocmVwbGllcykgKi9cbiAgY2hpbGRyZW4/OiBDb21tZW50TWV0YWRhdGFbXTtcbiAgLyoqIFdoZXRoZXIgY29tbWVudCB3YXMgZWRpdGVkICovXG4gIGVkaXRlZD86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIGNvbW1lbnQgaXMgcGlubmVkICovXG4gIHBpbm5lZD86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIGNvbW1lbnQgaXMgaGlnaGxpZ2h0ZWQgKi9cbiAgaGlnaGxpZ2h0ZWQ/OiBib29sZWFuO1xuICAvKiogV2hldGhlciBjb21tZW50IGlzIGNvbGxhcHNlZCAqL1xuICBjb2xsYXBzZWQ/OiBib29sZWFuO1xuICAvKiogVG90YWwgcmVwbHkgY291bnQgKG1heSBkaWZmZXIgZnJvbSBjaGlsZHJlbi5sZW5ndGggaWYgcGFnaW5hdGVkKSAqL1xuICByZXBseUNvdW50PzogbnVtYmVyO1xuICAvKiogV2hldGhlciB0byBhdXRvLWxpbmtpZnkgVVJMcyBpbiBjb250ZW50ICovXG4gIGF1dG9MaW5raWZ5PzogYm9vbGVhbjtcbiAgLyoqIE1heGltdW0gbmVzdGluZyBkZXB0aCAoZGVmYXVsdDogMykgKi9cbiAgbWF4RGVwdGg/OiBudW1iZXI7XG4gIC8qKiBDdXJyZW50IGRlcHRoIGxldmVsIChpbnRlcm5hbCB1c2UpICovXG4gIGRlcHRoPzogbnVtYmVyO1xuICAvKiogUmVhY3RpdmUgY29udGVudCBrZXkgZm9yIG1haW4gY29udGVudCAqL1xuICBjb250ZW50S2V5Pzogc3RyaW5nO1xuICAvKiogQ29tcG9uZW50IGNsYXNzIGZvciBjb250ZW50IGxvb2t1cCAqL1xuICBjb250ZW50Q2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBGYWxsYmFjayBjb250ZW50ICovXG4gIGNvbnRlbnRGYWxsYmFjaz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBFdmVudCBlbWl0dGVkIHdoZW4gYXV0aG9yIGlzIGNsaWNrZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWVudEF1dGhvckNsaWNrRXZlbnQge1xuICAvKiogVGhlIGF1dGhvciB0aGF0IHdhcyBjbGlja2VkICovXG4gIGF1dGhvcjogQ29tbWVudEF1dGhvcjtcbiAgLyoqIFBhcmVudCBjb21tZW50IHRva2VuICovXG4gIGNvbW1lbnRUb2tlbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJlYWN0aW9uIGlzIGNsaWNrZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWVudFJlYWN0aW9uQ2xpY2tFdmVudCB7XG4gIC8qKiBUaGUgcmVhY3Rpb24gdGhhdCB3YXMgY2xpY2tlZCAqL1xuICByZWFjdGlvbjogQ29tbWVudFJlYWN0aW9uO1xuICAvKiogUGFyZW50IGNvbW1lbnQgdG9rZW4gKi9cbiAgY29tbWVudFRva2VuOiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHJlYWN0aW9uIGlzIG5vdyBhY3RpdmUgKi9cbiAgaXNBY3RpdmU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRXZlbnQgZW1pdHRlZCB3aGVuIGFuIGFjdGlvbiBpcyBjbGlja2VkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnRBY3Rpb25DbGlja0V2ZW50IHtcbiAgLyoqIFRoZSBhY3Rpb24gdGhhdCB3YXMgY2xpY2tlZCAqL1xuICBhY3Rpb246IENvbW1lbnRBY3Rpb247XG4gIC8qKiBQYXJlbnQgY29tbWVudCB0b2tlbiAqL1xuICBjb21tZW50VG9rZW46IHN0cmluZztcbn1cblxuLyoqXG4gKiBFdmVudCBlbWl0dGVkIHdoZW4gYSBtZW51IGl0ZW0gaXMgY2xpY2tlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21tZW50TWVudUl0ZW1DbGlja0V2ZW50IHtcbiAgLyoqIFRoZSBtZW51IGl0ZW0gdGhhdCB3YXMgY2xpY2tlZCAqL1xuICBtZW51SXRlbTogQ29tbWVudE1lbnVJdGVtO1xuICAvKiogUGFyZW50IGNvbW1lbnQgdG9rZW4gKi9cbiAgY29tbWVudFRva2VuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRXZlbnQgZW1pdHRlZCB3aGVuIGxvYWQgbW9yZSByZXBsaWVzIGlzIGNsaWNrZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWVudExvYWRNb3JlRXZlbnQge1xuICAvKiogUGFyZW50IGNvbW1lbnQgdG9rZW4gKi9cbiAgY29tbWVudFRva2VuOiBzdHJpbmc7XG4gIC8qKiBDdXJyZW50IGxvYWRlZCBjb3VudCAqL1xuICBjdXJyZW50Q291bnQ6IG51bWJlcjtcbn1cbiJdfQ==
|