@banta/sdk 4.0.18 → 4.1.0
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/bundles/banta-sdk.umd.js +71 -9
- package/bundles/banta-sdk.umd.js.map +1 -1
- package/bundles/banta-sdk.umd.min.js +1 -1
- package/bundles/banta-sdk.umd.min.js.map +1 -1
- package/esm2015/lib/comments/comment/comment.component.js +2 -2
- package/esm2015/lib/comments/comment-field/comment-field.component.js +8 -4
- package/esm2015/lib/common/common.module.js +4 -2
- package/esm2015/lib/common/index.js +2 -1
- package/esm2015/lib/common/markdown-to-html.pipe.js +58 -0
- package/fesm2015/banta-sdk.js +69 -8
- package/fesm2015/banta-sdk.js.map +1 -1
- package/lib/common/index.d.ts +1 -0
- package/lib/common/markdown-to-html.pipe.d.ts +9 -0
- package/package.json +6 -3
|
@@ -117,7 +117,7 @@ export class CommentComponent {
|
|
|
117
117
|
CommentComponent.decorators = [
|
|
118
118
|
{ type: Component, args: [{
|
|
119
119
|
selector: 'banta-comment',
|
|
120
|
-
template: "\r\n<mat-menu #pointItemMenu=\"matMenu\">\r\n <button *ngIf=\"!mine\" mat-menu-item (click)=\"report()\">Report</button>\r\n <button *ngIf=\"mine\" [disabled]=\"!permissions?.canEdit\" mat-menu-item (click)=\"startEdit()\">Edit</button>\r\n <button *ngIf=\"mine\" [disabled]=\"!permissions?.canDelete\" mat-menu-item (click)=\"delete()\">Delete</button>\r\n</mat-menu>\r\n\r\n<div class=\"message-content\">\r\n <div class=\"user\">\r\n <a\r\n href=\"javascript:;\"\r\n class=\"avatar\"\r\n (click)=\"selectAvatar(message.user)\"\r\n [style.background-image]=\"avatarForUser(message.user)\"></a>\r\n <a href=\"javascript:;\" class=\"display-name\" (click)=\"selectUser()\">{{message.user.displayName}}</a>\r\n <a href=\"javascript:;\" class=\"username\" (click)=\"selectUsername(message.user)\">@{{message.user.username}}</a>\r\n <span class=\"user-tag\" *ngIf=\"message.user.tag\">{{message.user.tag}}</span>\r\n <span class=\"spacer\"></span>\r\n </div>\r\n <div class=\"content\" *ngIf=\"!editing\">\r\n
|
|
120
|
+
template: "\r\n<mat-menu #pointItemMenu=\"matMenu\">\r\n <button *ngIf=\"!mine\" mat-menu-item (click)=\"report()\">Report</button>\r\n <button *ngIf=\"mine\" [disabled]=\"!permissions?.canEdit\" mat-menu-item (click)=\"startEdit()\">Edit</button>\r\n <button *ngIf=\"mine\" [disabled]=\"!permissions?.canDelete\" mat-menu-item (click)=\"delete()\">Delete</button>\r\n</mat-menu>\r\n\r\n<div class=\"message-content\">\r\n <div class=\"user\">\r\n <a\r\n href=\"javascript:;\"\r\n class=\"avatar\"\r\n (click)=\"selectAvatar(message.user)\"\r\n [style.background-image]=\"avatarForUser(message.user)\"></a>\r\n <a href=\"javascript:;\" class=\"display-name\" (click)=\"selectUser()\">{{message.user.displayName}}</a>\r\n <a href=\"javascript:;\" class=\"username\" (click)=\"selectUsername(message.user)\">@{{message.user.username}}</a>\r\n <span class=\"user-tag\" *ngIf=\"message.user.tag\">{{message.user.tag}}</span>\r\n <span class=\"spacer\"></span>\r\n </div>\r\n <div class=\"content\" *ngIf=\"!editing\">\r\n <span class=\"banta-message-content\" [innerHTML]=\"message.message | markdownToHtml\"></span>\r\n\r\n <ng-container *ngIf=\"message.attachments?.length > 0\">\r\n <banta-lightbox #lightbox></banta-lightbox>\r\n <div class=\"attachments-row\" [class.single]=\"message.attachments?.length === 1\" *ngIf=\"message.attachments && message.attachments?.length > 0\">\r\n <a \r\n href=\"javascript:;\" \r\n (click)=\"showLightbox(attachment)\"\r\n *ngFor=\"let attachment of message.attachments\" \r\n >\r\n <img [src]=\"attachment.url\" alt=\"\">\r\n </a>\r\n </div>\r\n </ng-container>\r\n\r\n <ul class=\"message-facts small\">\r\n <li *ngIf=\"message.edits?.length > 0\">(Edited)</li>\r\n </ul>\r\n </div>\r\n <div class=\"content\" *ngIf=\"editing\" style=\"padding-bottom: 2em;\">\r\n <div>\r\n <mat-form-field floatLabel=\"always\" appearance=\"outline\" style=\"width: 100%;\">\r\n <mat-label>Edit Message</mat-label>\r\n <textarea matInput [(ngModel)]=\"editedMessage\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n <button mat-raised-button (click)=\"saveEdit()\">Save</button> \r\n <button mat-button (click)=\"endEditing()\">Cancel</button>\r\n </div>\r\n\r\n\r\n <div class=\"actions\">\r\n <banta-timestamp [value]=\"message.sentAt\"></banta-timestamp>\r\n <ul class=\"message-facts\">\r\n <li *ngIf=\"message.edits?.length > 0\">Edited</li>\r\n </ul>\r\n <div class=\"spacer\"></div>\r\n <div class=\"counted-action\" *ngIf=\"showReplyAction\">\r\n <div class=\"count-indicator\">\r\n {{message.submessages?.length || message.submessageCount || 0}}\r\n </div>\r\n <button mat-icon-button matTooltip=\"Comment\" matTooltipPosition=\"below\" (click)=\"select()\">\r\n <mat-icon [inline]=\"true\">comment</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"counted-action\" [class.active]=\"message.userState?.liked\">\r\n <div class=\"count-indicator\">\r\n {{message.likes}}\r\n </div>\r\n <button \r\n *ngIf=\"message.transientState?.liking\"\r\n mat-icon-button \r\n [disabled]=\"true\" \r\n [matTooltip]=\"upvoting ? 'Please wait...' : message.userState?.liked ? 'Unlike' : 'Like'\" \r\n matTooltipPosition=\"below\" \r\n >\r\n <mat-spinner [diameter]=\"15\" style=\"margin-left: 1em;\"></mat-spinner>\r\n </button>\r\n <button \r\n *ngIf=\"!message.transientState?.liking\"\r\n mat-icon-button \r\n [disabled]=\"!permissions?.canLike\" \r\n [matTooltip]=\"upvoting ? 'Please wait...' : 'Like'\" \r\n matTooltipPosition=\"below\" \r\n (click)=\"message.userState?.liked ? unlike() : like()\" \r\n >\r\n <mat-icon [inline]=\"true\">thumb_up</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"counted-action\">\r\n <button mat-icon-button matTooltip=\"Share this comment\" matTooltipPosition=\"below\" (click)=\"share()\">\r\n <mat-icon [inline]=\"true\" >share</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <button mat-icon-button [matMenuTriggerFor]=\"pointItemMenu\">\r\n <mat-icon [inline]=\"true\">more_vert</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n",
|
|
121
121
|
styles: ["@-webkit-keyframes comment-appear{0%{transform:translate(100vw)}to{transform:translate(0)}}@keyframes comment-appear{0%{transform:translate(100vw)}to{transform:translate(0)}}:host{display:flex;flex-direction:column;position:relative;padding:.5em;visibility:hidden}:host.new{visibility:visible;-webkit-animation-name:comment-appear;animation-name:comment-appear;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-fill-mode:both;animation-fill-mode:both}:host.highlighted{background:#00223a;outline:2px solid #003277}:host.visible{visibility:visible}:host:hover{background:#eee}:host .message-content .content{margin-left:60px;margin-right:.5em}:host .message-content .attachments-row{margin-top:15px;display:flex;gap:10px}:host .message-content .attachments-row img{border-radius:10px;width:300px;max-width:100%;max-height:20em;-o-object-fit:cover;object-fit:cover}:host.abbreviated .message-content .content{text-overflow:ellipsis;overflow-y:hidden}:host .actions{display:flex;padding-right:10px;margin-left:60px;align-items:center}:host .actions button{color:#666;flex-shrink:0}:host .actions banta-timestamp{color:#666;font-size:10pt;flex-shrink:0}.user{position:relative;margin:1em 0 0;display:flex;align-items:center}.user .display-name,.user .username{z-index:1;position:relative;padding:0 0 0 1em;font-size:10pt;color:#000;margin:0 auto 0 0;display:block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex-shrink:1;flex-grow:0}.user .display-name.username.username.username,.user .username.username.username.username{color:#666}.avatar{height:48px;width:48px;background-position:50%;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0}.counted-action{display:flex;align-items:center}.counted-action.active .count-indicator,.counted-action.active button{color:#00a5ff}.count-indicator{font-size:9pt;padding:0 0 0 3px;color:#666}:host-context(.mat-dark-theme) .count-indicator{border-color:#333}:host-context(.mat-dark-theme):hover{background:#060606}.user-tag,:host-context(.mat-dark-theme) .user .display-name,:host-context(.mat-dark-theme) .user .username{color:#fff}.user-tag{text-transform:uppercase;font-size:12px;border:1px solid #b27373;background:#7a412b;padding:3px 5px;margin:0 .5em 0 1em;border-radius:3px}.spacer{flex-shrink:1;flex-grow:1}ul.message-facts{margin:0;padding:0;color:#666}ul.message-facts li{list-style-type:none;border-left:1px solid #666;font-size:10pt;padding-left:.5em;margin-left:.5em}ul.message-facts.small{display:none}ul.message-facts.small li{margin-top:.5em}ul.message-facts.small li:first-child{border-left:1px solid transparent;margin-left:0;padding-left:0}@media (max-width:400px){.avatar{height:32px;width:32px}.actions ul.message-facts{display:none}ul.message-facts.small{display:initial}:host .actions{margin-left:0;margin-top:.5em}:host .message-content .content{margin-left:44px;margin-right:.5em}}:host-context(.banta-mobile) .avatar{height:32px;width:32px}:host-context(.banta-mobile) .actions ul.message-facts{display:none}:host-context(.banta-mobile) ul.message-facts.small{display:initial}:host-context(.banta-mobile) :host .actions{margin-left:0;margin-top:.5em}:host-context(.banta-mobile) :host .message-content .content{margin-left:44px;margin-right:.5em}"]
|
|
122
122
|
},] }
|
|
123
123
|
];
|
|
@@ -146,4 +146,4 @@ CommentComponent.propDecorators = {
|
|
|
146
146
|
commentId: [{ type: HostBinding, args: ['attr.data-comment-id',] }],
|
|
147
147
|
lightbox: [{ type: ViewChild, args: ['lightbox',] }]
|
|
148
148
|
};
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9jb21tZW50cy9jb21tZW50L2NvbW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFPN0UsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU1ZLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzdCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRS9CLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBZSxDQUFDO1FBRXhDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDdEMsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQWU3QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBUWQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQU1oQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQXVCZCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQW1DakIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ25DLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQy9CLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FB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QUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hCLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3hCO1FBRUQsT0FBTyxPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7OztZQTdLSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLGd2SkFBdUM7O2FBRTFDOzs7b0JBeUJJLFdBQVcsU0FBQyxXQUFXOzRCQUd2QixXQUFXLFNBQUMsbUJBQW1CO3NCQUsvQixXQUFXLFNBQUMsZUFBZTtzQkFHM0IsS0FBSzs4QkFHTCxLQUFLOzJCQUdSLE1BQU07K0JBS0gsTUFBTTs2QkFLVCxNQUFNO3VCQUtILE1BQU07MEJBS04sS0FBSzttQkFDTCxLQUFLO3NCQUVMLEtBQUs7b0JBb0JMLE1BQU07c0JBS04sTUFBTTt1QkFLTixNQUFNO3FCQVVOLE1BQU07c0JBQ04sTUFBTTswQkFDTixNQUFNO3dCQUNOLE1BQU07cUJBQ04sTUFBTTsrQkFFTixLQUFLO3dCQUVMLFdBQVcsU0FBQyxzQkFBc0I7dUJBcUNsQyxTQUFTLFNBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBJbnB1dCwgSG9zdEJpbmRpbmcsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2hhdE1lc3NhZ2UsIENoYXRNZXNzYWdlQXR0YWNobWVudCwgQ2hhdFBlcm1pc3Npb25zLCBVc2VyIH0gZnJvbSAnQGJhbnRhL2NvbW1vbic7XHJcbmltcG9ydCB7IExpZ2h0Ym94Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9saWdodGJveC9saWdodGJveC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiYW50YS1jb21tZW50JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21tZW50LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvbW1lbnQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbWVudENvbXBvbmVudCB7XHJcbiAgICBwcml2YXRlIF9yZXBvcnRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9saWtlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF91bmxpa2VkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9zaGFyZWQgPSBuZXcgU3ViamVjdDxDaGF0TWVzc2FnZT4oKTtcclxuXHJcblx0cHJpdmF0ZSBfdXNlclNlbGVjdGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHRwcml2YXRlIF9hdmF0YXJTZWxlY3RlZCA9IG5ldyBTdWJqZWN0PFVzZXI+KCk7XHJcblx0cHJpdmF0ZSBfdXNlcm5hbWVTZWxlY3RlZCA9IG5ldyBTdWJqZWN0PFVzZXI+KCk7XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgbGV0IG1heFRpbWUgPSA1MDA7XHJcbiAgICAgICAgbGV0IG1pblRpbWUgPSAwO1xyXG4gICAgICAgIGxldCByYW5kb21UaW1lID0gbWluVGltZSArIE1hdGgucmFuZG9tKCkgKiAobWF4VGltZSAtIG1pblRpbWUpO1xyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc05ldyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pc05ldyA9IGZhbHNlLCAxMDAwKTtcclxuICAgICAgICB9LCByYW5kb21UaW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5ldycpXHJcbiAgICBpc05ldyA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaGlnaGxpZ2h0ZWQnKVxyXG4gICAgZ2V0IGlzSGlnaGxpZ2h0ZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZT8udHJhbnNpZW50U3RhdGU/LmhpZ2hsaWdodGVkID8/IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudmlzaWJsZScpXHJcbiAgICB2aXNpYmxlID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIG1lc3NhZ2UgOiBDaGF0TWVzc2FnZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2hvd1JlcGx5QWN0aW9uID0gdHJ1ZTtcclxuXHJcblx0QE91dHB1dCgpXHJcbiAgICBnZXQgdXNlclNlbGVjdGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyU2VsZWN0ZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBnZXQgdXNlcm5hbWVTZWxlY3RlZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdXNlcm5hbWVTZWxlY3RlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcblx0QE91dHB1dCgpXHJcblx0Z2V0IGF2YXRhclNlbGVjdGVkKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2F2YXRhclNlbGVjdGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cdH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGdldCByZXBvcnRlZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVwb3J0ZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgcGVybWlzc2lvbnM6IENoYXRQZXJtaXNzaW9ucztcclxuICAgIEBJbnB1dCgpIG1pbmUgPSBmYWxzZTtcclxuICAgIFxyXG4gICAgQElucHV0KCkgZWRpdGluZyA9IGZhbHNlO1xyXG4gICAgZWRpdGVkTWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICAgIHNhdmVFZGl0KCkge1xyXG4gICAgICAgIHRoaXMuX2VkaXRlZC5uZXh0KHRoaXMuZWRpdGVkTWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZW5kRWRpdGluZygpIHtcclxuICAgICAgICB0aGlzLl9lZGl0RW5kZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0RWRpdCgpIHtcclxuICAgICAgICB0aGlzLl9lZGl0U3RhcnRlZC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5lZGl0ZWRNZXNzYWdlID0gdGhpcy5tZXNzYWdlLm1lc3NhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlKCkge1xyXG4gICAgICAgIHRoaXMuX2RlbGV0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZ2V0IGxpa2VkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9saWtlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGdldCB1bmxpa2VkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91bmxpa2VkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZ2V0IHNlbGVjdGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9lZGl0U3RhcnRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9kZWxldGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgX2VkaXRFbmRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9lZGl0ZWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpIGdldCBlZGl0ZWQoKSB7IHJldHVybiB0aGlzLl9lZGl0ZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgZGVsZXRlZCgpIHsgcmV0dXJuIHRoaXMuX2RlbGV0ZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgZWRpdFN0YXJ0ZWQoKSB7IHJldHVybiB0aGlzLl9lZGl0U3RhcnRlZC5hc09ic2VydmFibGUoKTsgfVxyXG4gICAgQE91dHB1dCgpIGdldCBlZGl0RW5kZWQoKSB7IHJldHVybiB0aGlzLl9lZGl0RW5kZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgc2hhcmVkKCl7IHJldHVybiB0aGlzLl9zaGFyZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuXHJcbiAgICBASW5wdXQoKSBnZW5lcmljQXZhdGFyVXJsOiBzdHJpbmc7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtY29tbWVudC1pZCcpIGdldCBjb21tZW50SWQoKSB7IHJldHVybiB0aGlzLm1lc3NhZ2U/LmlkOyB9XHJcblxyXG5cclxuICAgIHJlcG9ydCgpIHtcclxuICAgICAgICB0aGlzLl9yZXBvcnRlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbGlrZSgpIHtcclxuICAgICAgICB0aGlzLl9saWtlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdW5saWtlKCkge1xyXG4gICAgICAgIHRoaXMuX3VubGlrZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNoYXJlKCkge1xyXG4gICAgICAgIHRoaXMuX3NoYXJlZC5uZXh0KHRoaXMubWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0KCkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkLm5leHQoKTtcclxuICAgIH1cclxuXHJcblx0c2VsZWN0VXNlcigpIHtcclxuICAgICAgICB0aGlzLl91c2VyU2VsZWN0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdFVzZXJuYW1lKHVzZXI6IFVzZXIpIHtcclxuICAgICAgICB0aGlzLl91c2VybmFtZVNlbGVjdGVkLm5leHQodXNlcik7XHJcblx0XHR0aGlzLnNlbGVjdFVzZXIoKTtcclxuICAgIH1cclxuXHJcblx0c2VsZWN0QXZhdGFyKHVzZXI6IFVzZXIpIHtcclxuXHRcdHRoaXMuX2F2YXRhclNlbGVjdGVkLm5leHQodXNlcik7XHJcblx0XHR0aGlzLnNlbGVjdFVzZXIoKTtcclxuXHR9XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnbGlnaHRib3gnKSBsaWdodGJveDogTGlnaHRib3hDb21wb25lbnQ7XHJcblxyXG4gICAgc2hvd0xpZ2h0Ym94KGltYWdlOiBDaGF0TWVzc2FnZUF0dGFjaG1lbnQpIHtcclxuICAgICAgICB0aGlzLmxpZ2h0Ym94Lm9wZW4oXHJcbiAgICAgICAgICAgIGltYWdlLnVybCxcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlLmF0dGFjaG1lbnRzXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKHggPT4geC50eXBlID09PSAnaW1hZ2UvcG5nJylcclxuICAgICAgICAgICAgICAgIC5tYXAoeCA9PiB4LnVybClcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgYXZhdGFyRm9yVXNlcih1c2VyIDogVXNlcikge1xyXG4gICAgICAgIGxldCB1cmwgPSB0aGlzLmdlbmVyaWNBdmF0YXJVcmw7XHJcblxyXG4gICAgICAgIGlmICh1c2VyICYmIHVzZXIuYXZhdGFyVXJsKSB7XHJcbiAgICAgICAgICAgIHVybCA9IHVzZXIuYXZhdGFyVXJsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGB1cmwoJHt1cmx9KWA7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9jb21tZW50cy9jb21tZW50L2NvbW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFPN0UsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU1ZLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzdCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRS9CLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBZSxDQUFDO1FBRXhDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwQyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDdEMsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQWU3QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBUWQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQU1oQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQXVCZCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQW1DakIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ25DLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQy9CLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2pDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0lBbUU1QyxDQUFDO0lBN0pHLFFBQVE7UUFDSixJQUFJLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbEIsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksVUFBVSxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFFL0QsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUtELElBQ0ksYUFBYTs7UUFDYix5QkFBTyxJQUFJLENBQUMsT0FBTywwQ0FBRSxjQUFjLDBDQUFFLFdBQVcsbUNBQUksS0FBSyxDQUFDO0lBQzlELENBQUM7SUFXSixJQUNPLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQ0ksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFSixJQUNJLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRSxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQVFELFFBQVE7UUFDSixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFDSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUNJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBT0QsSUFBYyxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5RCxJQUFjLE9BQU8sS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLElBQWMsV0FBVyxLQUFLLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsSUFBYyxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRSxJQUFjLE1BQU0sS0FBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBSTdELElBQXlDLFNBQVMsYUFBSyxhQUFPLElBQUksQ0FBQyxPQUFPLDBDQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFHakYsTUFBTTtRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVKLFVBQVU7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBVTtRQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUosWUFBWSxDQUFDLElBQVU7UUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFJRSxZQUFZLENBQUMsS0FBNEI7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2QsS0FBSyxDQUFDLEdBQUcsRUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVc7YUFDbkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUM7YUFDbkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUN2QixDQUFBO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFXO1FBQ3JCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUVoQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hCLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3hCO1FBRUQsT0FBTyxPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7OztZQTdLSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLDJ6SkFBdUM7O2FBRTFDOzs7b0JBeUJJLFdBQVcsU0FBQyxXQUFXOzRCQUd2QixXQUFXLFNBQUMsbUJBQW1CO3NCQUsvQixXQUFXLFNBQUMsZUFBZTtzQkFHM0IsS0FBSzs4QkFHTCxLQUFLOzJCQUdSLE1BQU07K0JBS0gsTUFBTTs2QkFLVCxNQUFNO3VCQUtILE1BQU07MEJBS04sS0FBSzttQkFDTCxLQUFLO3NCQUVMLEtBQUs7b0JBb0JMLE1BQU07c0JBS04sTUFBTTt1QkFLTixNQUFNO3FCQVVOLE1BQU07c0JBQ04sTUFBTTswQkFDTixNQUFNO3dCQUNOLE1BQU07cUJBQ04sTUFBTTsrQkFFTixLQUFLO3dCQUVMLFdBQVcsU0FBQyxzQkFBc0I7dUJBcUNsQyxTQUFTLFNBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBJbnB1dCwgSG9zdEJpbmRpbmcsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2hhdE1lc3NhZ2UsIENoYXRNZXNzYWdlQXR0YWNobWVudCwgQ2hhdFBlcm1pc3Npb25zLCBVc2VyIH0gZnJvbSAnQGJhbnRhL2NvbW1vbic7XHJcbmltcG9ydCB7IExpZ2h0Ym94Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9saWdodGJveC9saWdodGJveC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiYW50YS1jb21tZW50JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21tZW50LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvbW1lbnQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbWVudENvbXBvbmVudCB7XHJcbiAgICBwcml2YXRlIF9yZXBvcnRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9saWtlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF91bmxpa2VkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBwcml2YXRlIF9zaGFyZWQgPSBuZXcgU3ViamVjdDxDaGF0TWVzc2FnZT4oKTtcclxuXHJcblx0cHJpdmF0ZSBfdXNlclNlbGVjdGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHRwcml2YXRlIF9hdmF0YXJTZWxlY3RlZCA9IG5ldyBTdWJqZWN0PFVzZXI+KCk7XHJcblx0cHJpdmF0ZSBfdXNlcm5hbWVTZWxlY3RlZCA9IG5ldyBTdWJqZWN0PFVzZXI+KCk7XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgbGV0IG1heFRpbWUgPSA1MDA7XHJcbiAgICAgICAgbGV0IG1pblRpbWUgPSAwO1xyXG4gICAgICAgIGxldCByYW5kb21UaW1lID0gbWluVGltZSArIE1hdGgucmFuZG9tKCkgKiAobWF4VGltZSAtIG1pblRpbWUpO1xyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc05ldyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pc05ldyA9IGZhbHNlLCAxMDAwKTtcclxuICAgICAgICB9LCByYW5kb21UaW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5ldycpXHJcbiAgICBpc05ldyA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaGlnaGxpZ2h0ZWQnKVxyXG4gICAgZ2V0IGlzSGlnaGxpZ2h0ZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZT8udHJhbnNpZW50U3RhdGU/LmhpZ2hsaWdodGVkID8/IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudmlzaWJsZScpXHJcbiAgICB2aXNpYmxlID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIG1lc3NhZ2UgOiBDaGF0TWVzc2FnZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2hvd1JlcGx5QWN0aW9uID0gdHJ1ZTtcclxuXHJcblx0QE91dHB1dCgpXHJcbiAgICBnZXQgdXNlclNlbGVjdGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyU2VsZWN0ZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBnZXQgdXNlcm5hbWVTZWxlY3RlZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdXNlcm5hbWVTZWxlY3RlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcblx0QE91dHB1dCgpXHJcblx0Z2V0IGF2YXRhclNlbGVjdGVkKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2F2YXRhclNlbGVjdGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cdH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGdldCByZXBvcnRlZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVwb3J0ZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgcGVybWlzc2lvbnM6IENoYXRQZXJtaXNzaW9ucztcclxuICAgIEBJbnB1dCgpIG1pbmUgPSBmYWxzZTtcclxuICAgIFxyXG4gICAgQElucHV0KCkgZWRpdGluZyA9IGZhbHNlO1xyXG4gICAgZWRpdGVkTWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICAgIHNhdmVFZGl0KCkge1xyXG4gICAgICAgIHRoaXMuX2VkaXRlZC5uZXh0KHRoaXMuZWRpdGVkTWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZW5kRWRpdGluZygpIHtcclxuICAgICAgICB0aGlzLl9lZGl0RW5kZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0RWRpdCgpIHtcclxuICAgICAgICB0aGlzLl9lZGl0U3RhcnRlZC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5lZGl0ZWRNZXNzYWdlID0gdGhpcy5tZXNzYWdlLm1lc3NhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlKCkge1xyXG4gICAgICAgIHRoaXMuX2RlbGV0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZ2V0IGxpa2VkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9saWtlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGdldCB1bmxpa2VkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl91bmxpa2VkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZ2V0IHNlbGVjdGVkKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9lZGl0U3RhcnRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9kZWxldGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgX2VkaXRFbmRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9lZGl0ZWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpIGdldCBlZGl0ZWQoKSB7IHJldHVybiB0aGlzLl9lZGl0ZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgZGVsZXRlZCgpIHsgcmV0dXJuIHRoaXMuX2RlbGV0ZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgZWRpdFN0YXJ0ZWQoKSB7IHJldHVybiB0aGlzLl9lZGl0U3RhcnRlZC5hc09ic2VydmFibGUoKTsgfVxyXG4gICAgQE91dHB1dCgpIGdldCBlZGl0RW5kZWQoKSB7IHJldHVybiB0aGlzLl9lZGl0RW5kZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgc2hhcmVkKCl7IHJldHVybiB0aGlzLl9zaGFyZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuXHJcbiAgICBASW5wdXQoKSBnZW5lcmljQXZhdGFyVXJsOiBzdHJpbmc7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtY29tbWVudC1pZCcpIGdldCBjb21tZW50SWQoKSB7IHJldHVybiB0aGlzLm1lc3NhZ2U/LmlkOyB9XHJcblxyXG5cclxuICAgIHJlcG9ydCgpIHtcclxuICAgICAgICB0aGlzLl9yZXBvcnRlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbGlrZSgpIHtcclxuICAgICAgICB0aGlzLl9saWtlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdW5saWtlKCkge1xyXG4gICAgICAgIHRoaXMuX3VubGlrZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNoYXJlKCkge1xyXG4gICAgICAgIHRoaXMuX3NoYXJlZC5uZXh0KHRoaXMubWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0KCkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkLm5leHQoKTtcclxuICAgIH1cclxuXHJcblx0c2VsZWN0VXNlcigpIHtcclxuICAgICAgICB0aGlzLl91c2VyU2VsZWN0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdFVzZXJuYW1lKHVzZXI6IFVzZXIpIHtcclxuICAgICAgICB0aGlzLl91c2VybmFtZVNlbGVjdGVkLm5leHQodXNlcik7XHJcblx0XHR0aGlzLnNlbGVjdFVzZXIoKTtcclxuICAgIH1cclxuXHJcblx0c2VsZWN0QXZhdGFyKHVzZXI6IFVzZXIpIHtcclxuXHRcdHRoaXMuX2F2YXRhclNlbGVjdGVkLm5leHQodXNlcik7XHJcblx0XHR0aGlzLnNlbGVjdFVzZXIoKTtcclxuXHR9XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnbGlnaHRib3gnKSBsaWdodGJveDogTGlnaHRib3hDb21wb25lbnQ7XHJcblxyXG4gICAgc2hvd0xpZ2h0Ym94KGltYWdlOiBDaGF0TWVzc2FnZUF0dGFjaG1lbnQpIHtcclxuICAgICAgICB0aGlzLmxpZ2h0Ym94Lm9wZW4oXHJcbiAgICAgICAgICAgIGltYWdlLnVybCxcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlLmF0dGFjaG1lbnRzXHJcbiAgICAgICAgICAgICAgICAuZmlsdGVyKHggPT4geC50eXBlID09PSAnaW1hZ2UvcG5nJylcclxuICAgICAgICAgICAgICAgIC5tYXAoeCA9PiB4LnVybClcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgYXZhdGFyRm9yVXNlcih1c2VyIDogVXNlcikge1xyXG4gICAgICAgIGxldCB1cmwgPSB0aGlzLmdlbmVyaWNBdmF0YXJVcmw7XHJcblxyXG4gICAgICAgIGlmICh1c2VyICYmIHVzZXIuYXZhdGFyVXJsKSB7XHJcbiAgICAgICAgICAgIHVybCA9IHVzZXIuYXZhdGFyVXJsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGB1cmwoJHt1cmx9KWA7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -79,8 +79,12 @@ export class CommentFieldComponent {
|
|
|
79
79
|
return this.chatMessageAttachments.some(x => x.transientState);
|
|
80
80
|
}
|
|
81
81
|
get sendButtonEnabled() {
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
if (!this.canComment) {
|
|
83
|
+
// In this case, we want to enable the button because we want to be able to
|
|
84
|
+
// send the permissionDenied message up to the host.
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
return this.isValidMessage
|
|
84
88
|
&& !this.hasPendingAttachments
|
|
85
89
|
&& !this.sending;
|
|
86
90
|
}
|
|
@@ -215,7 +219,7 @@ export class CommentFieldComponent {
|
|
|
215
219
|
this.sendError = null;
|
|
216
220
|
try {
|
|
217
221
|
let text = (this.text || '').trim();
|
|
218
|
-
if (!this.isValidMessage)
|
|
222
|
+
if (this.canComment && !this.isValidMessage)
|
|
219
223
|
return;
|
|
220
224
|
let message = {
|
|
221
225
|
user: this.user,
|
|
@@ -288,4 +292,4 @@ CommentFieldComponent.propDecorators = {
|
|
|
288
292
|
permissionDeniedError: [{ type: Output }],
|
|
289
293
|
submit: [{ type: Input }]
|
|
290
294
|
};
|
|
291
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9jb21tZW50cy9jb21tZW50LWZpZWxkL2NvbW1lbnQtZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBaUJyQyxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBU2EsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFeEIsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3JDLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFbkQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixTQUFJLEdBQVksRUFBRSxDQUFDO1FBQ1YsY0FBUyxHQUFHLE1BQU0sQ0FBQztRQUNuQixpQkFBWSxHQUFHLFNBQVMsQ0FBQztRQUN6QixVQUFLLEdBQUcsZ0JBQWdCLENBQUM7UUFDekIsMEJBQXFCLEdBQUcsYUFBYSxDQUFDO1FBQ3RDLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVFuQyxpQkFBWSxHQUFZLEVBQUUsQ0FBQztRQU01QiwyQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBNEJ2RCx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDNUIs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Qzs7YUFFaEQ7OztxQkFHSSxLQUFLO21CQUNMLEtBQUs7eUJBQ0wsS0FBSzsrQkFDTCxLQUFLOzZCQUVMLE1BQU07aUNBQ04sTUFBTTt3QkFPTixLQUFLOzJCQUNMLEtBQUs7b0JBQ0wsS0FBSztvQ0FDTCxLQUFLOzBCQUNMLEtBQUs7MEJBQ0wsS0FBSzswQkFDTCxNQUFNO3lDQUNOLEtBQUs7NkJBRUwsU0FBUyxTQUFDLGNBQWM7c0NBQ3hCLFNBQVMsU0FBQyx1QkFBdUI7eUJBQ2pDLFNBQVMsU0FBQyxVQUFVO3VCQUVwQixLQUFLOzJCQUNMLEtBQUs7K0JBQ0wsS0FBSztvQ0FPTCxNQUFNO3FCQWlOTixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDaGF0TWVzc2FnZSwgQ2hhdE1lc3NhZ2VBdHRhY2htZW50LCBVc2VyIH0gZnJvbSBcIkBiYW50YS9jb21tb25cIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IENoYXRTb3VyY2VCYXNlIH0gZnJvbSBcIi4uLy4uL2NoYXQtc291cmNlLWJhc2VcIjtcclxuaW1wb3J0IHsgRU1PSklTIH0gZnJvbSBcIi4uLy4uL2Vtb2ppXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Db21wbGV0ZU9wdGlvbiB7XHJcbiAgICBsYWJlbCA6IHN0cmluZztcclxuICAgIGFjdGlvbj8gOiAoKSA9PiB2b2lkO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhhc2hUYWcge1xyXG4gICAgaGFzaHRhZyA6IHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uIDogc3RyaW5nO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmFudGEtY29tbWVudC1maWVsZCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29tbWVudC1maWVsZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jb21tZW50LWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1lbnRGaWVsZENvbXBvbmVudCB7XHJcblxyXG4gICAgQElucHV0KCkgc291cmNlIDogQ2hhdFNvdXJjZUJhc2U7XHJcbiAgICBASW5wdXQoKSB1c2VyIDogVXNlcjtcclxuICAgIEBJbnB1dCgpIGNhbkNvbW1lbnQgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgYWxsb3dBdHRhY2htZW50cyA9IGZhbHNlO1xyXG5cclxuICAgIEBPdXRwdXQoKSBzaWduSW5TZWxlY3RlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBAT3V0cHV0KCkgZWRpdEF2YXRhclNlbGVjdGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBzZW5kaW5nID0gZmFsc2U7XHJcbiAgICBzZW5kRXJyb3IgOiBFcnJvcjtcclxuICAgIGV4cGFuZEVycm9yID0gZmFsc2U7XHJcblxyXG4gICAgdGV4dCA6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgc2VuZExhYmVsID0gJ1NlbmQnO1xyXG4gICAgQElucHV0KCkgc2VuZGluZ0xhYmVsID0gJ1NlbmRpbmcnO1xyXG4gICAgQElucHV0KCkgbGFiZWwgPSAnUG9zdCBhIGNvbW1lbnQnO1xyXG4gICAgQElucHV0KCkgcGVybWlzc2lvbkRlbmllZExhYmVsID0gJ1VuYXZhaWxhYmxlJztcclxuICAgIEBJbnB1dCgpIHNpZ25JbkxhYmVsID0gJ1NpZ24gSW4nO1xyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIEBPdXRwdXQoKSB0ZXh0Q2hhbmdlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBASW5wdXQoKSBzaG91bGRJbnRlcmNlcHRNZXNzYWdlU2VuZD86IChtZXNzYWdlOiBDaGF0TWVzc2FnZSwgc291cmNlOiBDaGF0U291cmNlQmFzZSkgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj47XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnYXV0b2NvbXBsZXRlJykgYXV0b2NvbXBsZXRlRWwgOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICAgIEBWaWV3Q2hpbGQoJ2F1dG9jb21wbGV0ZUNvbnRhaW5lcicpIGF1dG9jb21wbGV0ZUNvbnRhaW5lckVsIDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgICBAVmlld0NoaWxkKCd0ZXh0YXJlYScpIHRleHRhcmVhRWwgOiBFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xyXG5cclxuICAgIEBJbnB1dCgpIGhhc2h0YWdzIDogSGFzaFRhZ1tdO1xyXG4gICAgQElucHV0KCkgcGFydGljaXBhbnRzIDogVXNlcltdID0gW107XHJcbiAgICBASW5wdXQoKSBnZW5lcmljQXZhdGFyVXJsOiBzdHJpbmc7XHJcblxyXG4gICAgZ2V0IHVzZXJBdmF0YXJVcmwoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlcj8uYXZhdGFyVXJsIHx8IHRoaXMuZ2VuZXJpY0F2YXRhclVybDtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3Blcm1pc3Npb25EZW5pZWRFcnJvciA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGdldCBwZXJtaXNzaW9uRGVuaWVkRXJyb3IoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGVybWlzc2lvbkRlbmllZEVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICBsZXQgcm9vdCA9IGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcignW25nLXZlcnNpb25dJykgfHwgZG9jdW1lbnQuYm9keTtcclxuICAgICAgICByb290LmFwcGVuZENoaWxkKHRoaXMuYXV0b2NvbXBsZXRlRWwubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VuZFBlcm1pc3Npb25EZW5pZWQobWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fcGVybWlzc2lvbkRlbmllZEVycm9yLm5leHQobWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd0F1dG9Db21wbGV0ZShvcHRpb25zIDogQXV0b0NvbXBsZXRlT3B0aW9uW10pIHtcclxuICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZVNlbGVjdGVkID0gMDtcclxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZU9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgICAgIGxldCBwb3MgPSB0aGlzLmF1dG9jb21wbGV0ZUNvbnRhaW5lckVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgbGV0IHNpemUgPSB0aGlzLmF1dG9jb21wbGV0ZUVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlRWwubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7d2luZG93LnNjcm9sbFggKyBwb3MubGVmdH1weGA7XHJcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVFbC5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9IGAke3dpbmRvdy5zY3JvbGxZICsgcG9zLnRvcH1weGA7XHJcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVFbC5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gYCR7cG9zLndpZHRofXB4YDtcclxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVZpc2libGUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGF1dG9jb21wbGV0ZVZpc2libGUgPSBmYWxzZTtcclxuICAgIGF1dG9jb21wbGV0ZU9wdGlvbnMgOiBBdXRvQ29tcGxldGVPcHRpb25bXSA9IFtdO1xyXG5cclxuICAgIGFjdGl2YXRlQXV0b0NvbXBsZXRlKG9wdGlvbiA6IEF1dG9Db21wbGV0ZU9wdGlvbikge1xyXG4gICAgICAgIG9wdGlvbi5hY3Rpb24oKTtcclxuICAgICAgICB0aGlzLmRpc21pc3NBdXRvQ29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNtaXNzQXV0b0NvbXBsZXRlKCkge1xyXG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY29tcGxldGlvbkZ1bmMgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuY29tcGxldGlvblByZWZpeCA9ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZXJyb3JUaW1lb3V0O1xyXG4gICAgaW5kaWNhdGVFcnJvcihtZXNzYWdlIDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5zZW5kRXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgdGhpcy5leHBhbmRFcnJvciA9IGZhbHNlO1xyXG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmVycm9yVGltZW91dCk7XHJcbiAgICAgICAgdGhpcy5lcnJvclRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5leHBhbmRFcnJvciA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZEVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0sIDUqMTAwMCk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuXHJcbiAgICAgICAgLy8gT24gbW9iaWxlLCBqdXN0IHNob3cgYW4gYWxlcnQgZGlhbG9nXHJcbiAgICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgNDMwKVxyXG4gICAgICAgICAgICBhbGVydChtZXNzYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wbGV0aW9uRnVuYyA6IChzdHIgOiBzdHJpbmcpID0+IEF1dG9Db21wbGV0ZU9wdGlvbltdO1xyXG5cclxuICAgIGNvbXBsZXRpb25QcmVmaXggOiBzdHJpbmc7XHJcbiAgICBhdXRvQ29tcGxldGVTZWxlY3RlZCA6IG51bWJlciA9IDA7XHJcblxyXG4gICAgZ2V0IGlzVmFsaWRNZXNzYWdlKCkge1xyXG4gICAgICAgIHJldHVybiAodGhpcy50ZXh0IHx8IHRoaXMuY2hhdE1lc3NhZ2VBdHRhY2htZW50cy5sZW5ndGggPiAwKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaGFzUGVuZGluZ0F0dGFjaG1lbnRzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNoYXRNZXNzYWdlQXR0YWNobWVudHMuc29tZSh4ID0+IHgudHJhbnNpZW50U3RhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzZW5kQnV0dG9uRW5hYmxlZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYW5Db21tZW50XHJcbiAgICAgICAgICAgICYmIHRoaXMuaXNWYWxpZE1lc3NhZ2VcclxuICAgICAgICAgICAgJiYgIXRoaXMuaGFzUGVuZGluZ0F0dGFjaG1lbnRzXHJcbiAgICAgICAgICAgICYmICF0aGlzLnNlbmRpbmdcclxuICAgICAgICA7XHJcbiAgICB9XHJcbiAgICBhc3luYyBhdXRvY29tcGxldGUocmVwbGFjZW1lbnQgOiBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgZWwgPSB0aGlzLnRleHRhcmVhRWwubmF0aXZlRWxlbWVudDtcclxuICAgICAgICB0aGlzLnRleHQgPSB0aGlzLnRleHQuc2xpY2UoMCwgZWwuc2VsZWN0aW9uU3RhcnQgLSB0aGlzLmNvbXBsZXRpb25QcmVmaXgubGVuZ3RoKSArIHJlcGxhY2VtZW50ICsgdGhpcy50ZXh0LnNsaWNlKGVsLnNlbGVjdGlvblN0YXJ0KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBpbnNlcnQoc3RyIDogc3RyaW5nKSB7XHJcbiAgICAgICAgbGV0IGVsID0gdGhpcy50ZXh0YXJlYUVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgdGhpcy50ZXh0ID0gdGhpcy50ZXh0LnNsaWNlKDAsIGVsLnNlbGVjdGlvblN0YXJ0KSArIHN0ciArIHRoaXMudGV4dC5zbGljZShlbC5zZWxlY3Rpb25TdGFydCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25LZXlEb3duKGV2ZW50IDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgICAgIGlmICh0aGlzLmF1dG9jb21wbGV0ZVZpc2libGUpIHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlzbWlzc0F1dG9Db21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnU2hpZnQnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVBdXRvQ29tcGxldGUodGhpcy5hdXRvY29tcGxldGVPcHRpb25zW3RoaXMuYXV0b0NvbXBsZXRlU2VsZWN0ZWRdKTtcclxuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hdXRvQ29tcGxldGVTZWxlY3RlZCA9PT0gMClcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZVNlbGVjdGVkID0gdGhpcy5hdXRvY29tcGxldGVPcHRpb25zLmxlbmd0aCAtIDE7XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVTZWxlY3RlZCA9IHRoaXMuYXV0b0NvbXBsZXRlU2VsZWN0ZWQgLSAxO1xyXG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlU2VsZWN0ZWQgPSAodGhpcy5hdXRvQ29tcGxldGVTZWxlY3RlZCArIDEpICUgdGhpcy5hdXRvY29tcGxldGVPcHRpb25zLmxlbmd0aDtcclxuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyAmJiBldmVudC5jdHJsS2V5KSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2VuZE1lc3NhZ2UoKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29tcGxldGlvbkZ1bmMpIHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGlvblByZWZpeCA9IHRoaXMuY29tcGxldGlvblByZWZpeC5zbGljZSgwLCB0aGlzLmNvbXBsZXRpb25QcmVmaXgubGVuZ3RoIC0gMSk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29tcGxldGlvblByZWZpeCA9PT0gJycpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc21pc3NBdXRvQ29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnICcgfHwgZXZlbnQua2V5Lmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlzbWlzc0F1dG9Db21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0aW9uUHJlZml4ICs9IGV2ZW50LmtleTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5zaG93QXV0b0NvbXBsZXRlKHRoaXMuY29tcGxldGlvbkZ1bmModGhpcy5jb21wbGV0aW9uUHJlZml4KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJzonKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0QXV0b0NvbXBsZXRlKGV2ZW50LCBwcmVmaXggPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHByZWZpeCA9IHByZWZpeC5zbGljZSgxKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFrZXMgOi0pLCA6LSggZXRjIHdvcmsgKGFzIHRoZXkgYXJlIFwiOilcIiBldGMgaW4gdGhlIGRiKVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmVmaXguc3RhcnRzV2l0aCgnLScpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXggPSBwcmVmaXguc2xpY2UoMSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhFTU9KSVMpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoayA9PiBrLmluY2x1ZGVzKHByZWZpeCkgfHwgRU1PSklTW2tdLmtleXdvcmRzLnNvbWUoa3cgPT4ga3cuaW5jbHVkZXMocHJlZml4KSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoayA9PiAoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGAke0VNT0pJU1trXS5jaGFyfSAke2t9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogKCkgPT4gdGhpcy5hdXRvY29tcGxldGUoRU1PSklTW2tdLmNoYXIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc2xpY2UoMCwgNSlcclxuICAgICAgICAgICAgICAgICAgICA7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdAJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydEF1dG9Db21wbGV0ZShldmVudCwgcHJlZml4ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBwcmVmaXggPSBwcmVmaXguc2xpY2UoMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFydGljaXBhbnRzLmZpbHRlcih4ID0+IHgudXNlcm5hbWUuaW5jbHVkZXMocHJlZml4KSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChwID0+ICh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogYEAke3AudXNlcm5hbWV9IC0tICR7cC5kaXNwbGF5TmFtZX1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiAoKSA9PiB0aGlzLmF1dG9jb21wbGV0ZShgQCR7cC51c2VybmFtZX1gKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgICAgICAgICA7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICcjJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydEF1dG9Db21wbGV0ZShldmVudCwgcHJlZml4ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBwcmVmaXggPSBwcmVmaXguc2xpY2UoMSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhhc2h0YWdzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoaHQgPT4gaHQuaGFzaHRhZy5pbmNsdWRlcyhwcmVmaXgpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwKGh0ID0+ICh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogYCMke2h0Lmhhc2h0YWd9JHtodC5kZXNjcmlwdGlvbiA/IGAgLS0gJHtodC5kZXNjcmlwdGlvbn1gIDogYGB9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogKCkgPT4gdGhpcy5hdXRvY29tcGxldGUoYCMke2h0Lmhhc2h0YWd9YClcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zbGljZSgwLCA1KVxyXG4gICAgICAgICAgICAgICAgICAgIDtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0QXV0b0NvbXBsZXRlKGV2ZW50IDogS2V5Ym9hcmRFdmVudCwgY29tcGxldGlvbkZ1bmMgOiAoc3RyIDogc3RyaW5nKSA9PiBBdXRvQ29tcGxldGVPcHRpb25bXSkge1xyXG4gICAgICAgIHRoaXMuY29tcGxldGlvblByZWZpeCA9IGV2ZW50LmtleTtcclxuICAgICAgICB0aGlzLmNvbXBsZXRpb25GdW5jID0gY29tcGxldGlvbkZ1bmM7XHJcbiAgICAgICAgdGhpcy5zaG93QXV0b0NvbXBsZXRlKHRoaXMuY29tcGxldGlvbkZ1bmModGhpcy5jb21wbGV0aW9uUHJlZml4KSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25CbHVyKCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5kaXNtaXNzQXV0b0NvbXBsZXRlKCksIDI1MCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5zZXJ0RW1vamkodGV4dCA6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMudGV4dCArPSB0ZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIHNob3dTaWduSW4oKSB7XHJcbiAgICAgICAgdGhpcy5zaWduSW5TZWxlY3RlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd0VkaXRBdmF0YXIoKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0QXZhdGFyU2VsZWN0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzdWJtaXQ6IChtZXNzYWdlOiBDaGF0TWVzc2FnZSkgPT4gYm9vbGVhbjtcclxuXHJcbiAgICBhc3luYyBzZW5kTWVzc2FnZSgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc291cmNlKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMuc2VuZGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zZW5kRXJyb3IgPSBudWxsO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGxldCB0ZXh0ID0gKHRoaXMudGV4dCB8fCAnJykudHJpbSgpO1xyXG5cclxuICAgICAgICAgICAgaWYgKCF0aGlzLmlzVmFsaWRNZXNzYWdlKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICAgICAgbGV0IG1lc3NhZ2UgOiBDaGF0TWVzc2FnZSA9IHtcclxuICAgICAgICAgICAgICAgIHVzZXI6IHRoaXMudXNlcixcclxuICAgICAgICAgICAgICAgIHNlbnRBdDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgICAgICAgIHVybDogbG9jYXRpb24uaHJlZixcclxuICAgICAgICAgICAgICAgIGxpa2VzOiAwLFxyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogdGV4dCxcclxuICAgICAgICAgICAgICAgIGF0dGFjaG1lbnRzOiB0aGlzLmNoYXRNZXNzYWdlQXR0YWNobWVudHMuZmlsdGVyKHggPT4geC51cmwpXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zdWJtaXQobWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSAnJztcclxuICAgICAgICAgICAgICAgIHRoaXMuY2hhdE1lc3NhZ2VBdHRhY2htZW50cyA9IFtdO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZSgpLCAxMDAwKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluZGljYXRlRXJyb3IoZS5tZXNzYWdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VuZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjaGF0TWVzc2FnZUF0dGFjaG1lbnRzOiBDaGF0TWVzc2FnZUF0dGFjaG1lbnRbXSA9IFtdO1xyXG5cclxuICAgIGFkZGVkQXR0YWNobWVudChhdHRhY2htZW50OiBDaGF0TWVzc2FnZUF0dGFjaG1lbnQpIHtcclxuICAgICAgICB0aGlzLmNoYXRNZXNzYWdlQXR0YWNobWVudHMucHVzaChhdHRhY2htZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBhdHRhY2htZW50RXJyb3IoYXR0YWNobWVudDogQ2hhdE1lc3NhZ2VBdHRhY2htZW50KSB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhdE1lc3NhZ2VBdHRhY2htZW50cyA9IHRoaXMuY2hhdE1lc3NhZ2VBdHRhY2htZW50cy5maWx0ZXIoeCA9PiB4ICE9PSBhdHRhY2htZW50KTtcclxuICAgICAgICB9LCAzMDAwKTtcclxuICAgIH1cclxuXHJcblx0cmVtb3ZlQXR0YWNobWVudChpbmRleDogbnVtYmVyKSB7XHJcblx0XHR0aGlzLmNoYXRNZXNzYWdlQXR0YWNobWVudHMuc3BsaWNlKGluZGV4LCAxKTtcclxuXHR9XHJcblxyXG4gICAgYWxlcnRFcnJvcigpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VuZEVycm9yKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgYWxlcnQodGhpcy5zZW5kRXJyb3IubWVzc2FnZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
295
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9jb21tZW50cy9jb21tZW50LWZpZWxkL2NvbW1lbnQtZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBaUJyQyxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBU2EsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFeEIsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3JDLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFbkQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixTQUFJLEdBQVksRUFBRSxDQUFDO1FBQ1YsY0FBUyxHQUFHLE1BQU0sQ0FBQztRQUNuQixpQkFBWSxHQUFHLFNBQVMsQ0FBQztRQUN6QixVQUFLLEdBQUcsZ0JBQWdCLENBQUM7UUFDekIsMEJBQXFCLEdBQUcsYUFBYSxDQUFDO1FBQ3RDLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVFuQyxpQkFBWSxHQUFZLEVBQUUsQ0FBQztRQU01QiwyQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBNEJ2RCx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDNUIs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UyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OztZQXpUSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsaTdMQUE2Qzs7YUFFaEQ7OztxQkFHSSxLQUFLO21CQUNMLEtBQUs7eUJBQ0wsS0FBSzsrQkFDTCxLQUFLOzZCQUVMLE1BQU07aUNBQ04sTUFBTTt3QkFPTixLQUFLOzJCQUNMLEtBQUs7b0JBQ0wsS0FBSztvQ0FDTCxLQUFLOzBCQUNMLEtBQUs7MEJBQ0wsS0FBSzswQkFDTCxNQUFNO3lDQUNOLEtBQUs7NkJBRUwsU0FBUyxTQUFDLGNBQWM7c0NBQ3hCLFNBQVMsU0FBQyx1QkFBdUI7eUJBQ2pDLFNBQVMsU0FBQyxVQUFVO3VCQUVwQixLQUFLOzJCQUNMLEtBQUs7K0JBQ0wsS0FBSztvQ0FPTCxNQUFNO3FCQXNOTixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDaGF0TWVzc2FnZSwgQ2hhdE1lc3NhZ2VBdHRhY2htZW50LCBVc2VyIH0gZnJvbSBcIkBiYW50YS9jb21tb25cIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IENoYXRTb3VyY2VCYXNlIH0gZnJvbSBcIi4uLy4uL2NoYXQtc291cmNlLWJhc2VcIjtcclxuaW1wb3J0IHsgRU1PSklTIH0gZnJvbSBcIi4uLy4uL2Vtb2ppXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Db21wbGV0ZU9wdGlvbiB7XHJcbiAgICBsYWJlbCA6IHN0cmluZztcclxuICAgIGFjdGlvbj8gOiAoKSA9PiB2b2lkO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhhc2hUYWcge1xyXG4gICAgaGFzaHRhZyA6IHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uIDogc3RyaW5nO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmFudGEtY29tbWVudC1maWVsZCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29tbWVudC1maWVsZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jb21tZW50LWZpZWxkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1lbnRGaWVsZENvbXBvbmVudCB7XHJcblxyXG4gICAgQElucHV0KCkgc291cmNlIDogQ2hhdFNvdXJjZUJhc2U7XHJcbiAgICBASW5wdXQoKSB1c2VyIDogVXNlcjtcclxuICAgIEBJbnB1dCgpIGNhbkNvbW1lbnQgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgYWxsb3dBdHRhY2htZW50cyA9IGZhbHNlO1xyXG5cclxuICAgIEBPdXRwdXQoKSBzaWduSW5TZWxlY3RlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBAT3V0cHV0KCkgZWRpdEF2YXRhclNlbGVjdGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBzZW5kaW5nID0gZmFsc2U7XHJcbiAgICBzZW5kRXJyb3IgOiBFcnJvcjtcclxuICAgIGV4cGFuZEVycm9yID0gZmFsc2U7XHJcblxyXG4gICAgdGV4dCA6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgc2VuZExhYmVsID0gJ1NlbmQnO1xyXG4gICAgQElucHV0KCkgc2VuZGluZ0xhYmVsID0gJ1NlbmRpbmcnO1xyXG4gICAgQElucHV0KCkgbGFiZWwgPSAnUG9zdCBhIGNvbW1lbnQnO1xyXG4gICAgQElucHV0KCkgcGVybWlzc2lvbkRlbmllZExhYmVsID0gJ1VuYXZhaWxhYmxlJztcclxuICAgIEBJbnB1dCgpIHNpZ25JbkxhYmVsID0gJ1NpZ24gSW4nO1xyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICAgIEBPdXRwdXQoKSB0ZXh0Q2hhbmdlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBASW5wdXQoKSBzaG91bGRJbnRlcmNlcHRNZXNzYWdlU2VuZD86IChtZXNzYWdlOiBDaGF0TWVzc2FnZSwgc291cmNlOiBDaGF0U291cmNlQmFzZSkgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj47XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnYXV0b2NvbXBsZXRlJykgYXV0b2NvbXBsZXRlRWwgOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICAgIEBWaWV3Q2hpbGQoJ2F1dG9jb21wbGV0ZUNvbnRhaW5lcicpIGF1dG9jb21wbGV0ZUNvbnRhaW5lckVsIDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgICBAVmlld0NoaWxkKCd0ZXh0YXJlYScpIHRleHRhcmVhRWwgOiBFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xyXG5cclxuICAgIEBJbnB1dCgpIGhhc2h0YWdzIDogSGFzaFRhZ1tdO1xyXG4gICAgQElucHV0KCkgcGFydGljaXBhbnRzIDogVXNlcltdID0gW107XHJcbiAgICBASW5wdXQoKSBnZW5lcmljQXZhdGFyVXJsOiBzdHJpbmc7XHJcblxyXG4gICAgZ2V0IHVzZXJBdmF0YXJVcmwoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlcj8uYXZhdGFyVXJsIHx8IHRoaXMuZ2VuZXJpY0F2YXRhclVybDtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3Blcm1pc3Npb25EZW5pZWRFcnJvciA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGdldCBwZXJtaXNzaW9uRGVuaWVkRXJyb3IoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGVybWlzc2lvbkRlbmllZEVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICBsZXQgcm9vdCA9IGRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcignW25nLXZlcnNpb25dJykgfHwgZG9jdW1lbnQuYm9keTtcclxuICAgICAgICByb290LmFwcGVuZENoaWxkKHRoaXMuYXV0b2NvbXBsZXRlRWwubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VuZFBlcm1pc3Npb25EZW5pZWQobWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fcGVybWlzc2lvbkRlbmllZEVycm9yLm5leHQobWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd0F1dG9Db21wbGV0ZShvcHRpb25zIDogQXV0b0NvbXBsZXRlT3B0aW9uW10pIHtcclxuICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZVNlbGVjdGVkID0gMDtcclxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZU9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgICAgIGxldCBwb3MgPSB0aGlzLmF1dG9jb21wbGV0ZUNvbnRhaW5lckVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgbGV0IHNpemUgPSB0aGlzLmF1dG9jb21wbGV0ZUVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlRWwubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7d2luZG93LnNjcm9sbFggKyBwb3MubGVmdH1weGA7XHJcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVFbC5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9IGAke3dpbmRvdy5zY3JvbGxZICsgcG9zLnRvcH1weGA7XHJcbiAgICAgICAgdGhpcy5hdXRvY29tcGxldGVFbC5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gYCR7cG9zLndpZHRofXB4YDtcclxuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVZpc2libGUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGF1dG9jb21wbGV0ZVZpc2libGUgPSBmYWxzZTtcclxuICAgIGF1dG9jb21wbGV0ZU9wdGlvbnMgOiBBdXRvQ29tcGxldGVPcHRpb25bXSA9IFtdO1xyXG5cclxuICAgIGFjdGl2YXRlQXV0b0NvbXBsZXRlKG9wdGlvbiA6IEF1dG9Db21wbGV0ZU9wdGlvbikge1xyXG4gICAgICAgIG9wdGlvbi5hY3Rpb24oKTtcclxuICAgICAgICB0aGlzLmRpc21pc3NBdXRvQ29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNtaXNzQXV0b0NvbXBsZXRlKCkge1xyXG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY29tcGxldGlvbkZ1bmMgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuY29tcGxldGlvblByZWZpeCA9ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZXJyb3JUaW1lb3V0O1xyXG4gICAgaW5kaWNhdGVFcnJvcihtZXNzYWdlIDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5zZW5kRXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgdGhpcy5leHBhbmRFcnJvciA9IGZhbHNlO1xyXG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmVycm9yVGltZW91dCk7XHJcbiAgICAgICAgdGhpcy5lcnJvclRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5leHBhbmRFcnJvciA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZEVycm9yID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0sIDUqMTAwMCk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuXHJcbiAgICAgICAgLy8gT24gbW9iaWxlLCBqdXN0IHNob3cgYW4gYWxlcnQgZGlhbG9nXHJcbiAgICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgNDMwKVxyXG4gICAgICAgICAgICBhbGVydChtZXNzYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wbGV0aW9uRnVuYyA6IChzdHIgOiBzdHJpbmcpID0+IEF1dG9Db21wbGV0ZU9wdGlvbltdO1xyXG5cclxuICAgIGNvbXBsZXRpb25QcmVmaXggOiBzdHJpbmc7XHJcbiAgICBhdXRvQ29tcGxldGVTZWxlY3RlZCA6IG51bWJlciA9IDA7XHJcblxyXG4gICAgZ2V0IGlzVmFsaWRNZXNzYWdlKCkge1xyXG4gICAgICAgIHJldHVybiAodGhpcy50ZXh0IHx8IHRoaXMuY2hhdE1lc3NhZ2VBdHRhY2htZW50cy5sZW5ndGggPiAwKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaGFzUGVuZGluZ0F0dGFjaG1lbnRzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNoYXRNZXNzYWdlQXR0YWNobWVudHMuc29tZSh4ID0+IHgudHJhbnNpZW50U3RhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzZW5kQnV0dG9uRW5hYmxlZCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuY2FuQ29tbWVudCkge1xyXG4gICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIHdlIHdhbnQgdG8gZW5hYmxlIHRoZSBidXR0b24gYmVjYXVzZSB3ZSB3YW50IHRvIGJlIGFibGUgdG8gXHJcbiAgICAgICAgICAgIC8vIHNlbmQgdGhlIHBlcm1pc3Npb25EZW5pZWQgbWVzc2FnZSB1cCB0byB0aGUgaG9zdC5cclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkTWVzc2FnZVxyXG4gICAgICAgICAgICAmJiAhdGhpcy5oYXNQZW5kaW5nQXR0YWNobWVudHNcclxuICAgICAgICAgICAgJiYgIXRoaXMuc2VuZGluZ1xyXG4gICAgICAgIDtcclxuICAgIH1cclxuICAgIGFzeW5jIGF1dG9jb21wbGV0ZShyZXBsYWNlbWVudCA6IHN0cmluZykge1xyXG4gICAgICAgIGxldCBlbCA9IHRoaXMudGV4dGFyZWFFbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIHRoaXMudGV4dCA9IHRoaXMudGV4dC5zbGljZSgwLCBlbC5zZWxlY3Rpb25TdGFydCAtIHRoaXMuY29tcGxldGlvblByZWZpeC5sZW5ndGgpICsgcmVwbGFjZW1lbnQgKyB0aGlzLnRleHQuc2xpY2UoZWwuc2VsZWN0aW9uU3RhcnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGluc2VydChzdHIgOiBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgZWwgPSB0aGlzLnRleHRhcmVhRWwubmF0aXZlRWxlbWVudDtcclxuICAgICAgICB0aGlzLnRleHQgPSB0aGlzLnRleHQuc2xpY2UoMCwgZWwuc2VsZWN0aW9uU3RhcnQpICsgc3RyICsgdGhpcy50ZXh0LnNsaWNlKGVsLnNlbGVjdGlvblN0YXJ0KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBvbktleURvd24oZXZlbnQgOiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuYXV0b2NvbXBsZXRlVmlzaWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kaXNtaXNzQXV0b0NvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdTaGlmdCcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmF0ZUF1dG9Db21wbGV0ZSh0aGlzLmF1dG9jb21wbGV0ZU9wdGlvbnNbdGhpcy5hdXRvQ29tcGxldGVTZWxlY3RlZF0pO1xyXG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZVNlbGVjdGVkID09PSAwKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlU2VsZWN0ZWQgPSB0aGlzLmF1dG9jb21wbGV0ZU9wdGlvbnMubGVuZ3RoIC0gMTtcclxuICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZVNlbGVjdGVkID0gdGhpcy5hdXRvQ29tcGxldGVTZWxlY3RlZCAtIDE7XHJcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVTZWxlY3RlZCA9ICh0aGlzLmF1dG9Db21wbGV0ZVNlbGVjdGVkICsgMSkgJSB0aGlzLmF1dG9jb21wbGV0ZU9wdGlvbnMubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInICYmIGV2ZW50LmN0cmxLZXkpIHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5zZW5kTWVzc2FnZSgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5jb21wbGV0aW9uRnVuYykge1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0aW9uUHJlZml4ID0gdGhpcy5jb21wbGV0aW9uUHJlZml4LnNsaWNlKDAsIHRoaXMuY29tcGxldGlvblByZWZpeC5sZW5ndGggLSAxKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb21wbGV0aW9uUHJlZml4ID09PSAnJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzbWlzc0F1dG9Db21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICcgJyB8fCBldmVudC5rZXkubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kaXNtaXNzQXV0b0NvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRpb25QcmVmaXggKz0gZXZlbnQua2V5O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLnNob3dBdXRvQ29tcGxldGUodGhpcy5jb21wbGV0aW9uRnVuYyh0aGlzLmNvbXBsZXRpb25QcmVmaXgpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnOicpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRBdXRvQ29tcGxldGUoZXZlbnQsIHByZWZpeCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4ID0gcHJlZml4LnNsaWNlKDEpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAvLyBtYWtlcyA6LSksIDotKCBldGMgd29yayAoYXMgdGhleSBhcmUgXCI6KVwiIGV0YyBpbiB0aGUgZGIpXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByZWZpeC5zdGFydHNXaXRoKCctJykpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCA9IHByZWZpeC5zbGljZSgxKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEVNT0pJUylcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihrID0+IGsuaW5jbHVkZXMocHJlZml4KSB8fCBFTU9KSVNba10ua2V5d29yZHMuc29tZShrdyA9PiBrdy5pbmNsdWRlcyhwcmVmaXgpKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChrID0+ICh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogYCR7RU1PSklTW2tdLmNoYXJ9ICR7a31gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiAoKSA9PiB0aGlzLmF1dG9jb21wbGV0ZShFTU9KSVNba10uY2hhcilcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zbGljZSgwLCA1KVxyXG4gICAgICAgICAgICAgICAgICAgIDtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0AnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0QXV0b0NvbXBsZXRlKGV2ZW50LCBwcmVmaXggPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHByZWZpeCA9IHByZWZpeC5zbGljZSgxKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJ0aWNpcGFudHMuZmlsdGVyKHggPT4geC51c2VybmFtZS5pbmNsdWRlcyhwcmVmaXgpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwKHAgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBgQCR7cC51c2VybmFtZX0gLS0gJHtwLmRpc3BsYXlOYW1lfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246ICgpID0+IHRoaXMuYXV0b2NvbXBsZXRlKGBAJHtwLnVzZXJuYW1lfWApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICAgICAgICAgIDtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJyMnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0QXV0b0NvbXBsZXRlKGV2ZW50LCBwcmVmaXggPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHByZWZpeCA9IHByZWZpeC5zbGljZSgxKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFzaHRhZ3NcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihodCA9PiBodC5oYXNodGFnLmluY2x1ZGVzKHByZWZpeCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoaHQgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBgIyR7aHQuaGFzaHRhZ30ke2h0LmRlc2NyaXB0aW9uID8gYCAtLSAke2h0LmRlc2NyaXB0aW9ufWAgOiBgYH1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiAoKSA9PiB0aGlzLmF1dG9jb21wbGV0ZShgIyR7aHQuaGFzaHRhZ31gKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnNsaWNlKDAsIDUpXHJcbiAgICAgICAgICAgICAgICAgICAgO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnRBdXRvQ29tcGxldGUoZXZlbnQgOiBLZXlib2FyZEV2ZW50LCBjb21wbGV0aW9uRnVuYyA6IChzdHIgOiBzdHJpbmcpID0+IEF1dG9Db21wbGV0ZU9wdGlvbltdKSB7XHJcbiAgICAgICAgdGhpcy5jb21wbGV0aW9uUHJlZml4ID0gZXZlbnQua2V5O1xyXG4gICAgICAgIHRoaXMuY29tcGxldGlvbkZ1bmMgPSBjb21wbGV0aW9uRnVuYztcclxuICAgICAgICB0aGlzLnNob3dBdXRvQ29tcGxldGUodGhpcy5jb21wbGV0aW9uRnVuYyh0aGlzLmNvbXBsZXRpb25QcmVmaXgpKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkJsdXIoKSB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmRpc21pc3NBdXRvQ29tcGxldGUoKSwgMjUwKTtcclxuICAgIH1cclxuXHJcbiAgICBpbnNlcnRFbW9qaSh0ZXh0IDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy50ZXh0ICs9IHRleHQ7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd1NpZ25JbigpIHtcclxuICAgICAgICB0aGlzLnNpZ25JblNlbGVjdGVkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBzaG93RWRpdEF2YXRhcigpIHtcclxuICAgICAgICB0aGlzLmVkaXRBdmF0YXJTZWxlY3RlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHN1Ym1pdDogKG1lc3NhZ2U6IENoYXRNZXNzYWdlKSA9PiBib29sZWFuO1xyXG5cclxuICAgIGFzeW5jIHNlbmRNZXNzYWdlKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5zb3VyY2UpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5zZW5kaW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNlbmRFcnJvciA9IG51bGw7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgbGV0IHRleHQgPSAodGhpcy50ZXh0IHx8ICcnKS50cmltKCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5jYW5Db21tZW50ICYmICF0aGlzLmlzVmFsaWRNZXNzYWdlKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICAgICAgbGV0IG1lc3NhZ2UgOiBDaGF0TWVzc2FnZSA9IHtcclxuICAgICAgICAgICAgICAgIHVzZXI6IHRoaXMudXNlcixcclxuICAgICAgICAgICAgICAgIHNlbnRBdDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgICAgICAgIHVybDogbG9jYXRpb24uaHJlZixcclxuICAgICAgICAgICAgICAgIGxpa2VzOiAwLFxyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogdGV4dCxcclxuICAgICAgICAgICAgICAgIGF0dGFjaG1lbnRzOiB0aGlzLmNoYXRNZXNzYWdlQXR0YWNobWVudHMuZmlsdGVyKHggPT4geC51cmwpXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zdWJtaXQobWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSAnJztcclxuICAgICAgICAgICAgICAgIHRoaXMuY2hhdE1lc3NhZ2VBdHRhY2htZW50cyA9IFtdO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZSgpLCAxMDAwKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluZGljYXRlRXJyb3IoZS5tZXNzYWdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZmluYWxseSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VuZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjaGF0TWVzc2FnZUF0dGFjaG1lbnRzOiBDaGF0TWVzc2FnZUF0dGFjaG1lbnRbXSA9IFtdO1xyXG5cclxuICAgIGFkZGVkQXR0YWNobWVudChhdHRhY2htZW50OiBDaGF0TWVzc2FnZUF0dGFjaG1lbnQpIHtcclxuICAgICAgICB0aGlzLmNoYXRNZXNzYWdlQXR0YWNobWVudHMucHVzaChhdHRhY2htZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBhdHRhY2htZW50RXJyb3IoYXR0YWNobWVudDogQ2hhdE1lc3NhZ2VBdHRhY2htZW50KSB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhdE1lc3NhZ2VBdHRhY2htZW50cyA9IHRoaXMuY2hhdE1lc3NhZ2VBdHRhY2htZW50cy5maWx0ZXIoeCA9PiB4ICE9PSBhdHRhY2htZW50KTtcclxuICAgICAgICB9LCAzMDAwKTtcclxuICAgIH1cclxuXHJcblx0cmVtb3ZlQXR0YWNobWVudChpbmRleDogbnVtYmVyKSB7XHJcblx0XHR0aGlzLmNoYXRNZXNzYWdlQXR0YWNobWVudHMuc3BsaWNlKGluZGV4LCAxKTtcclxuXHR9XHJcblxyXG4gICAgYWxlcnRFcnJvcigpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VuZEVycm9yKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgYWxlcnQodGhpcy5zZW5kRXJyb3IubWVzc2FnZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -3,9 +3,11 @@ import { TimestampComponent } from './timestamp.component';
|
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { LightboxComponent } from './lightbox/lightbox.component';
|
|
5
5
|
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
+
import { BantaMarkdownToHtmlPipe } from './markdown-to-html.pipe';
|
|
6
7
|
const COMPONENTS = [
|
|
7
8
|
TimestampComponent,
|
|
8
|
-
LightboxComponent
|
|
9
|
+
LightboxComponent,
|
|
10
|
+
BantaMarkdownToHtmlPipe
|
|
9
11
|
];
|
|
10
12
|
export class BantaCommonModule {
|
|
11
13
|
}
|
|
@@ -19,4 +21,4 @@ BantaCommonModule.decorators = [
|
|
|
19
21
|
exports: COMPONENTS
|
|
20
22
|
},] }
|
|
21
23
|
];
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Nkay9zcmMvbGliL2NvbW1vbi9jb21tb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVsRSxNQUFNLFVBQVUsR0FBRztJQUNmLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsdUJBQXVCO0NBQzFCLENBQUM7QUFVRixNQUFNLE9BQU8saUJBQWlCOzs7WUFSN0IsUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRSxVQUFVO2dCQUN4QixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixhQUFhO2lCQUNoQjtnQkFDRCxPQUFPLEVBQUUsVUFBVTthQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRpbWVzdGFtcENvbXBvbmVudCB9IGZyb20gJy4vdGltZXN0YW1wLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IExpZ2h0Ym94Q29tcG9uZW50IH0gZnJvbSAnLi9saWdodGJveC9saWdodGJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEJhbnRhTWFya2Rvd25Ub0h0bWxQaXBlIH0gZnJvbSAnLi9tYXJrZG93bi10by1odG1sLnBpcGUnO1xyXG5cclxuY29uc3QgQ09NUE9ORU5UUyA9IFtcclxuICAgIFRpbWVzdGFtcENvbXBvbmVudCxcclxuICAgIExpZ2h0Ym94Q29tcG9uZW50LFxyXG4gICAgQmFudGFNYXJrZG93blRvSHRtbFBpcGVcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IENPTVBPTkVOVFMsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIE1hdEljb25Nb2R1bGVcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBDT01QT05FTlRTXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYW50YUNvbW1vbk1vZHVsZSB7XHJcbn0iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './lazy-connection';
|
|
2
2
|
export * from './timestamp.component';
|
|
3
3
|
export * from './lightbox/lightbox.component';
|
|
4
|
+
export * from './markdown-to-html.pipe';
|
|
4
5
|
export * from './common.module';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZGsvc3JjL2xpYi9jb21tb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sYXp5LWNvbm5lY3Rpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL3RpbWVzdGFtcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpZ2h0Ym94L2xpZ2h0Ym94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbWFya2Rvd24tdG8taHRtbC5waXBlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uLm1vZHVsZSc7Il19
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as marked from 'marked';
|
|
3
|
+
import * as DOMPurify from 'dompurify';
|
|
4
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
5
|
+
const underline = {
|
|
6
|
+
name: 'underline',
|
|
7
|
+
level: 'inline',
|
|
8
|
+
start(src) { var _a; return (_a = src.match(/\+\+/)) === null || _a === void 0 ? void 0 : _a.index; },
|
|
9
|
+
tokenizer(src, tokens) {
|
|
10
|
+
const rule = /^\+\+(.*?)\+\+/; // Regex for the complete token
|
|
11
|
+
const match = rule.exec(src);
|
|
12
|
+
if (match) {
|
|
13
|
+
return {
|
|
14
|
+
type: 'underline',
|
|
15
|
+
raw: match[0],
|
|
16
|
+
text: this.lexer.inlineTokens(match[1].trim()),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
renderer(token) {
|
|
21
|
+
return `<u>${this.parser.parseInline(token.text)}</u>`;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
marked.marked.use({
|
|
25
|
+
extensions: [underline]
|
|
26
|
+
});
|
|
27
|
+
export class BantaMarkdownToHtmlPipe {
|
|
28
|
+
constructor(sanitizer) {
|
|
29
|
+
this.sanitizer = sanitizer;
|
|
30
|
+
this.renderer = new marked.Renderer({
|
|
31
|
+
headerPrefix: ''
|
|
32
|
+
});
|
|
33
|
+
const linkRenderer = this.renderer.link;
|
|
34
|
+
this.renderer.link = (href, title, text) => {
|
|
35
|
+
const html = linkRenderer.call(this.renderer, href, title, text);
|
|
36
|
+
return html.replace(/^<a /, '<a target="_blank" rel="noopener" ');
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
transform(value) {
|
|
40
|
+
if (!value)
|
|
41
|
+
return '';
|
|
42
|
+
return this.sanitizer.bypassSecurityTrustHtml(DOMPurify.sanitize(marked.marked.parse(value, {
|
|
43
|
+
renderer: this.renderer
|
|
44
|
+
}), {
|
|
45
|
+
FORBID_TAGS: ['h1', 'h2', 'h3', 'h4'],
|
|
46
|
+
KEEP_CONTENT: true
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
BantaMarkdownToHtmlPipe.decorators = [
|
|
51
|
+
{ type: Pipe, args: [{
|
|
52
|
+
name: 'markdownToHtml'
|
|
53
|
+
},] }
|
|
54
|
+
];
|
|
55
|
+
BantaMarkdownToHtmlPipe.ctorParameters = () => [
|
|
56
|
+
{ type: DomSanitizer }
|
|
57
|
+
];
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tdG8taHRtbC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2RrL3NyYy9saWIvY29tbW9uL21hcmtkb3duLXRvLWh0bWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEtBQUssU0FBUyxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsTUFBTSxTQUFTLEdBQUc7SUFDZCxJQUFJLEVBQUUsV0FBVztJQUNqQixLQUFLLEVBQUUsUUFBUTtJQUNmLEtBQUssQ0FBQyxHQUFHLFlBQUksYUFBTyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQywwQ0FBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQy9DLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTTtRQUNqQixNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLCtCQUErQjtRQUM5RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksS0FBSyxFQUFFO1lBQ1AsT0FBTztnQkFDSCxJQUFJLEVBQUUsV0FBVztnQkFDakIsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ2IsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNqRCxDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBQ0QsUUFBUSxDQUFDLEtBQUs7UUFDVixPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDM0QsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUNkLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztDQUMxQixDQUFDLENBQUM7QUFLSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLFlBQ1ksU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUUvQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUNoQyxZQUFZLEVBQUUsRUFBRTtTQUNuQixDQUFDLENBQUM7UUFDSCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDdkMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDakUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQztJQUNOLENBQUM7SUFHRCxTQUFTLENBQUMsS0FBYTtRQUNuQixJQUFJLENBQUMsS0FBSztZQUNOLE9BQU8sRUFBRSxDQUFDO1FBRWQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUN6QyxTQUFTLENBQUMsUUFBUSxDQUNkLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDMUIsQ0FBQyxFQUNGO1lBQ0ksV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3JDLFlBQVksRUFBRSxJQUFJO1NBQ3JCLENBQ0osQ0FDSixDQUFDO0lBQ04sQ0FBQzs7O1lBakNKLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsZ0JBQWdCO2FBQ3pCOzs7WUE1QlEsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgbWFya2VkIGZyb20gJ21hcmtlZCc7XHJcbmltcG9ydCAqIGFzIERPTVB1cmlmeSBmcm9tICdkb21wdXJpZnknO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbmNvbnN0IHVuZGVybGluZSA9IHtcclxuICAgIG5hbWU6ICd1bmRlcmxpbmUnLFxyXG4gICAgbGV2ZWw6ICdpbmxpbmUnLCAvLyBJcyB0aGlzIGEgYmxvY2stbGV2ZWwgb3IgaW5saW5lLWxldmVsIHRva2VuaXplcj9cclxuICAgIHN0YXJ0KHNyYykgeyByZXR1cm4gc3JjLm1hdGNoKC9cXCtcXCsvKT8uaW5kZXg7IH0sIC8vIEhpbnQgdG8gTWFya2VkLmpzIHRvIHN0b3AgYW5kIGNoZWNrIGZvciBhIG1hdGNoXHJcbiAgICB0b2tlbml6ZXIoc3JjLCB0b2tlbnMpIHtcclxuICAgICAgICBjb25zdCBydWxlID0gL15cXCtcXCsoLio/KVxcK1xcKy87IC8vIFJlZ2V4IGZvciB0aGUgY29tcGxldGUgdG9rZW5cclxuICAgICAgICBjb25zdCBtYXRjaCA9IHJ1bGUuZXhlYyhzcmMpO1xyXG4gICAgICAgIGlmIChtYXRjaCkge1xyXG4gICAgICAgICAgICByZXR1cm4geyAvLyBUb2tlbiB0byBnZW5lcmF0ZVxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3VuZGVybGluZScsIC8vIFNob3VsZCBtYXRjaCBcIm5hbWVcIiBhYm92ZVxyXG4gICAgICAgICAgICAgICAgcmF3OiBtYXRjaFswXSwgLy8gVGV4dCB0byBjb25zdW1lIGZyb20gdGhlIHNvdXJjZVxyXG4gICAgICAgICAgICAgICAgdGV4dDogdGhpcy5sZXhlci5pbmxpbmVUb2tlbnMobWF0Y2hbMV0udHJpbSgpKSwgLy8gQWRkaXRpb25hbCBjdXN0b20gcHJvcGVydGllc1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICByZW5kZXJlcih0b2tlbikge1xyXG4gICAgICAgIHJldHVybiBgPHU+JHt0aGlzLnBhcnNlci5wYXJzZUlubGluZSh0b2tlbi50ZXh0KX08L3U+YDtcclxuICAgIH1cclxufTtcclxuXHJcbm1hcmtlZC5tYXJrZWQudXNlKHtcclxuICAgIGV4dGVuc2lvbnM6IFt1bmRlcmxpbmVdXHJcbn0pO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ21hcmtkb3duVG9IdG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFudGFNYXJrZG93blRvSHRtbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSBuZXcgbWFya2VkLlJlbmRlcmVyKHtcclxuICAgICAgICAgICAgaGVhZGVyUHJlZml4OiAnJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnN0IGxpbmtSZW5kZXJlciA9IHRoaXMucmVuZGVyZXIubGluaztcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmxpbmsgPSAoaHJlZiwgdGl0bGUsIHRleHQpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaHRtbCA9IGxpbmtSZW5kZXJlci5jYWxsKHRoaXMucmVuZGVyZXIsIGhyZWYsIHRpdGxlLCB0ZXh0KTtcclxuICAgICAgICAgICAgcmV0dXJuIGh0bWwucmVwbGFjZSgvXjxhIC8sICc8YSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiICcpO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyZXI6IG1hcmtlZC5SZW5kZXJlcjtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSlcclxuICAgICAgICAgICAgcmV0dXJuICcnO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXHJcbiAgICAgICAgICAgIERPTVB1cmlmeS5zYW5pdGl6ZShcclxuICAgICAgICAgICAgICAgIG1hcmtlZC5tYXJrZWQucGFyc2UodmFsdWUsIHtcclxuICAgICAgICAgICAgICAgICAgICByZW5kZXJlcjogdGhpcy5yZW5kZXJlclxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgRk9SQklEX1RBR1M6IFsnaDEnLCAnaDInLCAnaDMnLCAnaDQnXSxcclxuICAgICAgICAgICAgICAgICAgICBLRUVQX0NPTlRFTlQ6IHRydWVcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn0iXX0=
|
package/fesm2015/banta-sdk.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Observable, Subject, BehaviorSubject, Subscription } from 'rxjs';
|
|
2
2
|
import { publish } from 'rxjs/operators';
|
|
3
|
-
import { Component, Input, ViewChild, NgModule, Output, ElementRef, HostBinding, NgZone, Injectable, Inject } from '@angular/core';
|
|
3
|
+
import { Component, Input, ViewChild, Pipe, NgModule, Output, ElementRef, HostBinding, NgZone, Injectable, Inject } from '@angular/core';
|
|
4
|
+
import { marked, Renderer } from 'marked';
|
|
5
|
+
import { sanitize } from 'dompurify';
|
|
6
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
4
7
|
import { CommonModule } from '@angular/common';
|
|
5
8
|
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
7
9
|
import { MatButtonModule } from '@angular/material/button';
|
|
8
10
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
9
11
|
import { MatInputModule } from '@angular/material/input';
|
|
@@ -164,9 +166,64 @@ LightboxComponent.propDecorators = {
|
|
|
164
166
|
containerElement: [{ type: ViewChild, args: ['container',] }]
|
|
165
167
|
};
|
|
166
168
|
|
|
169
|
+
const underline = {
|
|
170
|
+
name: 'underline',
|
|
171
|
+
level: 'inline',
|
|
172
|
+
start(src) { var _a; return (_a = src.match(/\+\+/)) === null || _a === void 0 ? void 0 : _a.index; },
|
|
173
|
+
tokenizer(src, tokens) {
|
|
174
|
+
const rule = /^\+\+(.*?)\+\+/; // Regex for the complete token
|
|
175
|
+
const match = rule.exec(src);
|
|
176
|
+
if (match) {
|
|
177
|
+
return {
|
|
178
|
+
type: 'underline',
|
|
179
|
+
raw: match[0],
|
|
180
|
+
text: this.lexer.inlineTokens(match[1].trim()),
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
renderer(token) {
|
|
185
|
+
return `<u>${this.parser.parseInline(token.text)}</u>`;
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
marked.use({
|
|
189
|
+
extensions: [underline]
|
|
190
|
+
});
|
|
191
|
+
class BantaMarkdownToHtmlPipe {
|
|
192
|
+
constructor(sanitizer) {
|
|
193
|
+
this.sanitizer = sanitizer;
|
|
194
|
+
this.renderer = new Renderer({
|
|
195
|
+
headerPrefix: ''
|
|
196
|
+
});
|
|
197
|
+
const linkRenderer = this.renderer.link;
|
|
198
|
+
this.renderer.link = (href, title, text) => {
|
|
199
|
+
const html = linkRenderer.call(this.renderer, href, title, text);
|
|
200
|
+
return html.replace(/^<a /, '<a target="_blank" rel="noopener" ');
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
transform(value) {
|
|
204
|
+
if (!value)
|
|
205
|
+
return '';
|
|
206
|
+
return this.sanitizer.bypassSecurityTrustHtml(sanitize(marked.parse(value, {
|
|
207
|
+
renderer: this.renderer
|
|
208
|
+
}), {
|
|
209
|
+
FORBID_TAGS: ['h1', 'h2', 'h3', 'h4'],
|
|
210
|
+
KEEP_CONTENT: true
|
|
211
|
+
}));
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
BantaMarkdownToHtmlPipe.decorators = [
|
|
215
|
+
{ type: Pipe, args: [{
|
|
216
|
+
name: 'markdownToHtml'
|
|
217
|
+
},] }
|
|
218
|
+
];
|
|
219
|
+
BantaMarkdownToHtmlPipe.ctorParameters = () => [
|
|
220
|
+
{ type: DomSanitizer }
|
|
221
|
+
];
|
|
222
|
+
|
|
167
223
|
const COMPONENTS = [
|
|
168
224
|
TimestampComponent,
|
|
169
|
-
LightboxComponent
|
|
225
|
+
LightboxComponent,
|
|
226
|
+
BantaMarkdownToHtmlPipe
|
|
170
227
|
];
|
|
171
228
|
class BantaCommonModule {
|
|
172
229
|
}
|
|
@@ -7795,7 +7852,7 @@ class CommentComponent {
|
|
|
7795
7852
|
CommentComponent.decorators = [
|
|
7796
7853
|
{ type: Component, args: [{
|
|
7797
7854
|
selector: 'banta-comment',
|
|
7798
|
-
template: "\r\n<mat-menu #pointItemMenu=\"matMenu\">\r\n <button *ngIf=\"!mine\" mat-menu-item (click)=\"report()\">Report</button>\r\n <button *ngIf=\"mine\" [disabled]=\"!permissions?.canEdit\" mat-menu-item (click)=\"startEdit()\">Edit</button>\r\n <button *ngIf=\"mine\" [disabled]=\"!permissions?.canDelete\" mat-menu-item (click)=\"delete()\">Delete</button>\r\n</mat-menu>\r\n\r\n<div class=\"message-content\">\r\n <div class=\"user\">\r\n <a\r\n href=\"javascript:;\"\r\n class=\"avatar\"\r\n (click)=\"selectAvatar(message.user)\"\r\n [style.background-image]=\"avatarForUser(message.user)\"></a>\r\n <a href=\"javascript:;\" class=\"display-name\" (click)=\"selectUser()\">{{message.user.displayName}}</a>\r\n <a href=\"javascript:;\" class=\"username\" (click)=\"selectUsername(message.user)\">@{{message.user.username}}</a>\r\n <span class=\"user-tag\" *ngIf=\"message.user.tag\">{{message.user.tag}}</span>\r\n <span class=\"spacer\"></span>\r\n </div>\r\n <div class=\"content\" *ngIf=\"!editing\">\r\n
|
|
7855
|
+
template: "\r\n<mat-menu #pointItemMenu=\"matMenu\">\r\n <button *ngIf=\"!mine\" mat-menu-item (click)=\"report()\">Report</button>\r\n <button *ngIf=\"mine\" [disabled]=\"!permissions?.canEdit\" mat-menu-item (click)=\"startEdit()\">Edit</button>\r\n <button *ngIf=\"mine\" [disabled]=\"!permissions?.canDelete\" mat-menu-item (click)=\"delete()\">Delete</button>\r\n</mat-menu>\r\n\r\n<div class=\"message-content\">\r\n <div class=\"user\">\r\n <a\r\n href=\"javascript:;\"\r\n class=\"avatar\"\r\n (click)=\"selectAvatar(message.user)\"\r\n [style.background-image]=\"avatarForUser(message.user)\"></a>\r\n <a href=\"javascript:;\" class=\"display-name\" (click)=\"selectUser()\">{{message.user.displayName}}</a>\r\n <a href=\"javascript:;\" class=\"username\" (click)=\"selectUsername(message.user)\">@{{message.user.username}}</a>\r\n <span class=\"user-tag\" *ngIf=\"message.user.tag\">{{message.user.tag}}</span>\r\n <span class=\"spacer\"></span>\r\n </div>\r\n <div class=\"content\" *ngIf=\"!editing\">\r\n <span class=\"banta-message-content\" [innerHTML]=\"message.message | markdownToHtml\"></span>\r\n\r\n <ng-container *ngIf=\"message.attachments?.length > 0\">\r\n <banta-lightbox #lightbox></banta-lightbox>\r\n <div class=\"attachments-row\" [class.single]=\"message.attachments?.length === 1\" *ngIf=\"message.attachments && message.attachments?.length > 0\">\r\n <a \r\n href=\"javascript:;\" \r\n (click)=\"showLightbox(attachment)\"\r\n *ngFor=\"let attachment of message.attachments\" \r\n >\r\n <img [src]=\"attachment.url\" alt=\"\">\r\n </a>\r\n </div>\r\n </ng-container>\r\n\r\n <ul class=\"message-facts small\">\r\n <li *ngIf=\"message.edits?.length > 0\">(Edited)</li>\r\n </ul>\r\n </div>\r\n <div class=\"content\" *ngIf=\"editing\" style=\"padding-bottom: 2em;\">\r\n <div>\r\n <mat-form-field floatLabel=\"always\" appearance=\"outline\" style=\"width: 100%;\">\r\n <mat-label>Edit Message</mat-label>\r\n <textarea matInput [(ngModel)]=\"editedMessage\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n <button mat-raised-button (click)=\"saveEdit()\">Save</button> \r\n <button mat-button (click)=\"endEditing()\">Cancel</button>\r\n </div>\r\n\r\n\r\n <div class=\"actions\">\r\n <banta-timestamp [value]=\"message.sentAt\"></banta-timestamp>\r\n <ul class=\"message-facts\">\r\n <li *ngIf=\"message.edits?.length > 0\">Edited</li>\r\n </ul>\r\n <div class=\"spacer\"></div>\r\n <div class=\"counted-action\" *ngIf=\"showReplyAction\">\r\n <div class=\"count-indicator\">\r\n {{message.submessages?.length || message.submessageCount || 0}}\r\n </div>\r\n <button mat-icon-button matTooltip=\"Comment\" matTooltipPosition=\"below\" (click)=\"select()\">\r\n <mat-icon [inline]=\"true\">comment</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"counted-action\" [class.active]=\"message.userState?.liked\">\r\n <div class=\"count-indicator\">\r\n {{message.likes}}\r\n </div>\r\n <button \r\n *ngIf=\"message.transientState?.liking\"\r\n mat-icon-button \r\n [disabled]=\"true\" \r\n [matTooltip]=\"upvoting ? 'Please wait...' : message.userState?.liked ? 'Unlike' : 'Like'\" \r\n matTooltipPosition=\"below\" \r\n >\r\n <mat-spinner [diameter]=\"15\" style=\"margin-left: 1em;\"></mat-spinner>\r\n </button>\r\n <button \r\n *ngIf=\"!message.transientState?.liking\"\r\n mat-icon-button \r\n [disabled]=\"!permissions?.canLike\" \r\n [matTooltip]=\"upvoting ? 'Please wait...' : 'Like'\" \r\n matTooltipPosition=\"below\" \r\n (click)=\"message.userState?.liked ? unlike() : like()\" \r\n >\r\n <mat-icon [inline]=\"true\">thumb_up</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"counted-action\">\r\n <button mat-icon-button matTooltip=\"Share this comment\" matTooltipPosition=\"below\" (click)=\"share()\">\r\n <mat-icon [inline]=\"true\" >share</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <button mat-icon-button [matMenuTriggerFor]=\"pointItemMenu\">\r\n <mat-icon [inline]=\"true\">more_vert</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n",
|
|
7799
7856
|
styles: ["@-webkit-keyframes comment-appear{0%{transform:translate(100vw)}to{transform:translate(0)}}@keyframes comment-appear{0%{transform:translate(100vw)}to{transform:translate(0)}}:host{display:flex;flex-direction:column;position:relative;padding:.5em;visibility:hidden}:host.new{visibility:visible;-webkit-animation-name:comment-appear;animation-name:comment-appear;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-fill-mode:both;animation-fill-mode:both}:host.highlighted{background:#00223a;outline:2px solid #003277}:host.visible{visibility:visible}:host:hover{background:#eee}:host .message-content .content{margin-left:60px;margin-right:.5em}:host .message-content .attachments-row{margin-top:15px;display:flex;gap:10px}:host .message-content .attachments-row img{border-radius:10px;width:300px;max-width:100%;max-height:20em;-o-object-fit:cover;object-fit:cover}:host.abbreviated .message-content .content{text-overflow:ellipsis;overflow-y:hidden}:host .actions{display:flex;padding-right:10px;margin-left:60px;align-items:center}:host .actions button{color:#666;flex-shrink:0}:host .actions banta-timestamp{color:#666;font-size:10pt;flex-shrink:0}.user{position:relative;margin:1em 0 0;display:flex;align-items:center}.user .display-name,.user .username{z-index:1;position:relative;padding:0 0 0 1em;font-size:10pt;color:#000;margin:0 auto 0 0;display:block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex-shrink:1;flex-grow:0}.user .display-name.username.username.username,.user .username.username.username.username{color:#666}.avatar{height:48px;width:48px;background-position:50%;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0}.counted-action{display:flex;align-items:center}.counted-action.active .count-indicator,.counted-action.active button{color:#00a5ff}.count-indicator{font-size:9pt;padding:0 0 0 3px;color:#666}:host-context(.mat-dark-theme) .count-indicator{border-color:#333}:host-context(.mat-dark-theme):hover{background:#060606}.user-tag,:host-context(.mat-dark-theme) .user .display-name,:host-context(.mat-dark-theme) .user .username{color:#fff}.user-tag{text-transform:uppercase;font-size:12px;border:1px solid #b27373;background:#7a412b;padding:3px 5px;margin:0 .5em 0 1em;border-radius:3px}.spacer{flex-shrink:1;flex-grow:1}ul.message-facts{margin:0;padding:0;color:#666}ul.message-facts li{list-style-type:none;border-left:1px solid #666;font-size:10pt;padding-left:.5em;margin-left:.5em}ul.message-facts.small{display:none}ul.message-facts.small li{margin-top:.5em}ul.message-facts.small li:first-child{border-left:1px solid transparent;margin-left:0;padding-left:0}@media (max-width:400px){.avatar{height:32px;width:32px}.actions ul.message-facts{display:none}ul.message-facts.small{display:initial}:host .actions{margin-left:0;margin-top:.5em}:host .message-content .content{margin-left:44px;margin-right:.5em}}:host-context(.banta-mobile) .avatar{height:32px;width:32px}:host-context(.banta-mobile) .actions ul.message-facts{display:none}:host-context(.banta-mobile) ul.message-facts.small{display:initial}:host-context(.banta-mobile) :host .actions{margin-left:0;margin-top:.5em}:host-context(.banta-mobile) :host .message-content .content{margin-left:44px;margin-right:.5em}"]
|
|
7800
7857
|
},] }
|
|
7801
7858
|
];
|
|
@@ -8738,8 +8795,12 @@ class CommentFieldComponent {
|
|
|
8738
8795
|
return this.chatMessageAttachments.some(x => x.transientState);
|
|
8739
8796
|
}
|
|
8740
8797
|
get sendButtonEnabled() {
|
|
8741
|
-
|
|
8742
|
-
|
|
8798
|
+
if (!this.canComment) {
|
|
8799
|
+
// In this case, we want to enable the button because we want to be able to
|
|
8800
|
+
// send the permissionDenied message up to the host.
|
|
8801
|
+
return true;
|
|
8802
|
+
}
|
|
8803
|
+
return this.isValidMessage
|
|
8743
8804
|
&& !this.hasPendingAttachments
|
|
8744
8805
|
&& !this.sending;
|
|
8745
8806
|
}
|
|
@@ -8874,7 +8935,7 @@ class CommentFieldComponent {
|
|
|
8874
8935
|
this.sendError = null;
|
|
8875
8936
|
try {
|
|
8876
8937
|
let text = (this.text || '').trim();
|
|
8877
|
-
if (!this.isValidMessage)
|
|
8938
|
+
if (this.canComment && !this.isValidMessage)
|
|
8878
8939
|
return;
|
|
8879
8940
|
let message = {
|
|
8880
8941
|
user: this.user,
|
|
@@ -9356,5 +9417,5 @@ BantaSdkModule.decorators = [
|
|
|
9356
9417
|
* Generated bundle index. Do not edit.
|
|
9357
9418
|
*/
|
|
9358
9419
|
|
|
9359
|
-
export { AttachmentButtonComponent, BANTA_SDK_OPTIONS, BantaChatComponent, BantaCommentsComponent, BantaCommonModule, BantaComponent, BantaLogoComponent, BantaSdkModule, ChatBackend, ChatBackendBase, ChatMessageComponent, ChatModule, ChatSource, ChatViewComponent, CommentComponent, CommentFieldComponent, CommentSortComponent, CommentViewComponent, CommentsModule, EMOJIS, EmojiModule, EmojiSelectorButtonComponent, EmojiSelectorPanelComponent, LightboxComponent, LiveChatMessageComponent, LiveCommentComponent, LiveMessageComponent, TimestampComponent, lazyConnection };
|
|
9420
|
+
export { AttachmentButtonComponent, BANTA_SDK_OPTIONS, BantaChatComponent, BantaCommentsComponent, BantaCommonModule, BantaComponent, BantaLogoComponent, BantaMarkdownToHtmlPipe, BantaSdkModule, ChatBackend, ChatBackendBase, ChatMessageComponent, ChatModule, ChatSource, ChatViewComponent, CommentComponent, CommentFieldComponent, CommentSortComponent, CommentViewComponent, CommentsModule, EMOJIS, EmojiModule, EmojiSelectorButtonComponent, EmojiSelectorPanelComponent, LightboxComponent, LiveChatMessageComponent, LiveCommentComponent, LiveMessageComponent, TimestampComponent, lazyConnection };
|
|
9360
9421
|
//# sourceMappingURL=banta-sdk.js.map
|