raise-common-lib 0.0.160 → 0.0.162

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.
Files changed (57) hide show
  1. package/bundles/raise-common-lib.umd.js +117 -85
  2. package/bundles/raise-common-lib.umd.js.map +1 -1
  3. package/bundles/raise-common-lib.umd.min.js +1 -1
  4. package/bundles/raise-common-lib.umd.min.js.map +1 -1
  5. package/{esm5/lib/layout → esm2015/lib/actions}/toolbar/constants.js +2 -2
  6. package/esm2015/lib/actions/toolbar/index.component.js +114 -0
  7. package/esm2015/lib/actions/toolbar-item/index.component.js +92 -0
  8. package/esm2015/lib/layout/rs-aside/index.component.js +11 -5
  9. package/esm2015/lib/layout/rs-header/index.component.js +7 -3
  10. package/esm2015/lib/raise-common-lib.module.js +3 -3
  11. package/esm2015/public-api.js +3 -3
  12. package/esm2015/raise-common-lib.js +1 -1
  13. package/{esm2015/lib/layout → esm5/lib/actions}/toolbar/constants.js +2 -2
  14. package/esm5/lib/actions/toolbar/index.component.js +121 -0
  15. package/esm5/lib/actions/toolbar-item/index.component.js +104 -0
  16. package/esm5/lib/layout/rs-aside/index.component.js +10 -5
  17. package/esm5/lib/layout/rs-header/index.component.js +7 -3
  18. package/esm5/lib/raise-common-lib.module.js +3 -3
  19. package/esm5/public-api.js +3 -3
  20. package/esm5/raise-common-lib.js +1 -1
  21. package/fesm2015/raise-common-lib.js +107 -74
  22. package/fesm2015/raise-common-lib.js.map +1 -1
  23. package/fesm5/raise-common-lib.js +117 -85
  24. package/fesm5/raise-common-lib.js.map +1 -1
  25. package/lib/{form → actions}/toolbar-item/index.component.d.ts +1 -0
  26. package/lib/layout/rs-aside/index.component.d.ts +3 -1
  27. package/lib/layout/rs-header/index.component.d.ts +1 -0
  28. package/package.json +1 -1
  29. package/public-api.d.ts +2 -2
  30. package/raise-common-lib.metadata.json +1 -1
  31. package/src/assets/img/toolbar-action-addFolder.svg +17 -0
  32. package/src/assets/img/toolbar-action-calculator.svg +11 -0
  33. package/src/assets/img/toolbar-action-collapse.svg +7 -0
  34. package/src/assets/img/toolbar-action-combine.svg +4 -0
  35. package/src/assets/img/toolbar-action-edit.svg +4 -0
  36. package/src/assets/img/toolbar-action-expand.svg +7 -0
  37. package/src/assets/img/toolbar-action-folderMove.svg +8 -0
  38. package/src/assets/img/toolbar-action-lock.svg +6 -0
  39. package/src/assets/img/toolbar-action-preview.svg +7 -0
  40. package/src/assets/img/toolbar-action-publish.svg +5 -0
  41. package/src/assets/img/toolbar-action-reminders.svg +10 -0
  42. package/src/assets/img/toolbar-action-rename.svg +7 -0
  43. package/src/assets/img/toolbar-action-saveSequence.svg +5 -0
  44. package/src/assets/img/toolbar-action-send-file.svg +5 -0
  45. package/src/assets/img/toolbar-action-settle.svg +7 -0
  46. package/src/assets/img/toolbar-action-share.svg +5 -0
  47. package/src/assets/img/toolbar-action-submitForApproval.svg +4 -0
  48. package/src/assets/img/toolbar-action-sync.svg +4 -0
  49. package/src/assets/img/toolbar-action-template.svg +6 -0
  50. package/src/assets/img/toolbar-action-workflow.svg +9 -0
  51. package/src/assets/style/reset/dropdown.scss +88 -0
  52. package/esm2015/lib/form/toolbar-item/index.component.js +0 -68
  53. package/esm2015/lib/layout/toolbar/index.component.js +0 -114
  54. package/esm5/lib/form/toolbar-item/index.component.js +0 -80
  55. package/esm5/lib/layout/toolbar/index.component.js +0 -121
  56. /package/lib/{layout → actions}/toolbar/constants.d.ts +0 -0
  57. /package/lib/{layout → actions}/toolbar/index.component.d.ts +0 -0
@@ -1,80 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/form/toolbar-item/index.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Component, ElementRef, HostBinding, Input, ViewChild, } from "@angular/core";
7
- var ToolbarItemComponent = /** @class */ (function () {
8
- function ToolbarItemComponent() {
9
- this.children = [];
10
- this.disabledOptions = {};
11
- this.ImageType = [
12
- "Add",
13
- "Delete",
14
- "Import",
15
- "Export",
16
- "Upload",
17
- "Download",
18
- "Duplicate",
19
- "Refresh",
20
- ];
21
- }
22
- Object.defineProperty(ToolbarItemComponent.prototype, "hostDisabled", {
23
- get: /**
24
- * @return {?}
25
- */
26
- function () {
27
- return !!this.disabled;
28
- },
29
- enumerable: true,
30
- configurable: true
31
- });
32
- // 暴露方法供父组件调用
33
- // 暴露方法供父组件调用
34
- /**
35
- * @return {?}
36
- */
37
- ToolbarItemComponent.prototype.getWidth =
38
- // 暴露方法供父组件调用
39
- /**
40
- * @return {?}
41
- */
42
- function () {
43
- return this.buttonElement.nativeElement.offsetWidth;
44
- };
45
- ToolbarItemComponent.decorators = [
46
- { type: Component, args: [{
47
- selector: "rs-toolbar-item",
48
- template: "<button\r\n *ngIf=\"!children.length\"\r\n class=\"toolbar-action-item e-btn text\"\r\n #buttonElement\r\n [disabled]=\"!!disabled\"\r\n>\r\n <span class=\"toolbar-action-image\" [attr.data-type]=\"image\">\r\n <img *ngIf=\"!ImageType.includes(image)\" [src]=\"image\" />\r\n </span>\r\n <span>{{ text }}</span>\r\n</button>\r\n\r\n<button\r\n *ngIf=\"children.length\"\r\n class=\"toolbar-action-item e-btn text\"\r\n #buttonElement\r\n mat-menu-item\r\n [matMenuTriggerFor]=\"menu\"\r\n [disabled]=\"!!disabled\"\r\n>\r\n <span class=\"toolbar-action-image\" [attr.data-type]=\"image\">\r\n <img *ngIf=\"!ImageType.includes(image)\" [src]=\"image\" />\r\n </span>\r\n <span>{{ text }}</span>\r\n</button>\r\n<mat-menu #menu=\"matMenu\">\r\n <ng-container *ngFor=\"let button of children\">\r\n <button\r\n class=\"toolbar-action-item e-btn text\"\r\n [disabled]=\"(button.key && disabledOptions[button.key]) || false\"\r\n (click)=\"button.action()\"\r\n >\r\n <span class=\"toolbar-action-image\" [attr.data-type]=\"button.image\">\r\n <img *ngIf=\"!ImageType.includes(button.image)\" [src]=\"button.image\" />\r\n </span>\r\n <span>{{ button.text }}</span>\r\n </button>\r\n </ng-container>\r\n</mat-menu>\r\n",
49
- styles: ["rs-toolbar-item.disabled{pointer-events:none}.toolbar-action-item{min-width:auto;padding:4px 8px}.toolbar-action-item .toolbar-action-image{height:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}.toolbar-action-item .toolbar-action-image::before{display:block;width:16px;height:16px;line-height:16px}.toolbar-action-item .toolbar-action-image[data-type=Add]::before{content:url(/assets/img/toolbar-action-add.svg)}.toolbar-action-item .toolbar-action-image[data-type=Delete]::before{content:url(/assets/img/toolbar-action-delete.svg)}.toolbar-action-item .toolbar-action-image[data-type=Import]::before{content:url(/assets/img/toolbar-action-import.svg)}.toolbar-action-item .toolbar-action-image[data-type=Upload]::before{content:url(/assets/img/toolbar-action-upload.svg)}.toolbar-action-item .toolbar-action-image[data-type=Download]::before{content:url(/assets/img/toolbar-action-download.svg)}.toolbar-action-item .toolbar-action-image[data-type=Export]::before{content:url(/assets/img/toolbar-action-export.svg)}.toolbar-action-item .toolbar-action-image[data-type=Duplicate]::before{content:url(/assets/img/toolbar-action-duplicate.svg)}.toolbar-action-item .toolbar-action-image[data-type=Refresh]::before{content:url(/assets/img/toolbar-action-refresh.svg)}.toolbar-action-item .toolbar-action-image img{height:16px;display:block}.toolbar-action-item.e-btn{width:100%;justify-content:flex-start}.toolbar-action-item.mat-menu-item::after{display:none}"]
50
- }] }
51
- ];
52
- ToolbarItemComponent.propDecorators = {
53
- image: [{ type: Input, args: ["image",] }],
54
- text: [{ type: Input, args: ["text",] }],
55
- disabled: [{ type: Input, args: ["disabled",] }],
56
- children: [{ type: Input, args: ["children",] }],
57
- disabledOptions: [{ type: Input }],
58
- buttonElement: [{ type: ViewChild, args: ["buttonElement", { static: false },] }],
59
- hostDisabled: [{ type: HostBinding, args: ["class.disabled",] }]
60
- };
61
- return ToolbarItemComponent;
62
- }());
63
- export { ToolbarItemComponent };
64
- if (false) {
65
- /** @type {?} */
66
- ToolbarItemComponent.prototype.image;
67
- /** @type {?} */
68
- ToolbarItemComponent.prototype.text;
69
- /** @type {?} */
70
- ToolbarItemComponent.prototype.disabled;
71
- /** @type {?} */
72
- ToolbarItemComponent.prototype.children;
73
- /** @type {?} */
74
- ToolbarItemComponent.prototype.disabledOptions;
75
- /** @type {?} */
76
- ToolbarItemComponent.prototype.buttonElement;
77
- /** @type {?} */
78
- ToolbarItemComponent.prototype.ImageType;
79
- }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL3Rvb2xiYXItaXRlbS9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QjtJQUFBO1FBU3FCLGFBQVEsR0FBVSxFQUFFLENBQUM7UUFDL0Isb0JBQWUsR0FBeUIsRUFBRSxDQUFDO1FBYXBELGNBQVMsR0FBRztZQUNWLEtBQUs7WUFDTCxRQUFRO1lBQ1IsUUFBUTtZQUNSLFFBQVE7WUFDUixRQUFRO1lBQ1IsVUFBVTtZQUNWLFdBQVc7WUFDWCxTQUFTO1NBQ1YsQ0FBQztJQUNKLENBQUM7SUFuQkMsc0JBQW1DLDhDQUFZOzs7O1FBQS9DO1lBQ0UsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN6QixDQUFDOzs7T0FBQTtJQUVELGFBQWE7Ozs7O0lBQ2IsdUNBQVE7Ozs7O0lBQVI7UUFDRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN0RCxDQUFDOztnQkFyQkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLCt3Q0FBcUM7O2lCQUV0Qzs7O3dCQUVFLEtBQUssU0FBQyxPQUFPO3VCQUNiLEtBQUssU0FBQyxNQUFNOzJCQUNaLEtBQUssU0FBQyxVQUFVOzJCQUNoQixLQUFLLFNBQUMsVUFBVTtrQ0FDaEIsS0FBSztnQ0FHTCxTQUFTLFNBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTsrQkFDNUMsV0FBVyxTQUFDLGdCQUFnQjs7SUFtQi9CLDJCQUFDO0NBQUEsQUFqQ0QsSUFpQ0M7U0E1Qlksb0JBQW9COzs7SUFDL0IscUNBQThCOztJQUM5QixvQ0FBNEI7O0lBQzVCLHdDQUFxQzs7SUFDckMsd0NBQXdDOztJQUN4QywrQ0FBb0Q7O0lBR3BELDZDQUEwRTs7SUFVMUUseUNBU0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtdG9vbGJhci1pdGVtXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2xiYXJJdGVtQ29tcG9uZW50IHtcclxuICBASW5wdXQoXCJpbWFnZVwiKSBpbWFnZTogc3RyaW5nO1xyXG4gIEBJbnB1dChcInRleHRcIikgdGV4dDogc3RyaW5nO1xyXG4gIEBJbnB1dChcImRpc2FibGVkXCIpIGRpc2FibGVkOiBib29sZWFuO1xyXG4gIEBJbnB1dChcImNoaWxkcmVuXCIpIGNoaWxkcmVuOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkT3B0aW9uczoge1trZXk6IHN0cmluZ106IGFueX0gPSB7fTtcclxuXHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJidXR0b25FbGVtZW50XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBidXR0b25FbGVtZW50ITogRWxlbWVudFJlZjtcclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5kaXNhYmxlZFwiKSBnZXQgaG9zdERpc2FibGVkKCkge1xyXG4gICAgcmV0dXJuICEhdGhpcy5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIC8vIOaatOmcsuaWueazleS+m+eItue7hOS7tuiwg+eUqFxyXG4gIGdldFdpZHRoKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5idXR0b25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgfVxyXG5cclxuICBJbWFnZVR5cGUgPSBbXHJcbiAgICBcIkFkZFwiLFxyXG4gICAgXCJEZWxldGVcIixcclxuICAgIFwiSW1wb3J0XCIsXHJcbiAgICBcIkV4cG9ydFwiLFxyXG4gICAgXCJVcGxvYWRcIixcclxuICAgIFwiRG93bmxvYWRcIixcclxuICAgIFwiRHVwbGljYXRlXCIsXHJcbiAgICBcIlJlZnJlc2hcIixcclxuICBdO1xyXG59XHJcbiJdfQ==
@@ -1,121 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/layout/toolbar/index.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- // 组件类
7
- import { ChangeDetectorRef, Component, ElementRef, HostListener, Input, QueryList, ViewChild, ViewChildren, } from "@angular/core";
8
- import { Router } from "@angular/router";
9
- var RSToolbarComponent = /** @class */ (function () {
10
- function RSToolbarComponent(router, ref) {
11
- this.router = router;
12
- this.ref = ref;
13
- this.buttons = [];
14
- this.disabledOptions = {};
15
- this.visibleButtons = [];
16
- this.hiddenButtons = [];
17
- }
18
- /**
19
- * @return {?}
20
- */
21
- RSToolbarComponent.prototype.ngAfterViewInit = /**
22
- * @return {?}
23
- */
24
- function () {
25
- this.updateButtonVisibility();
26
- };
27
- /**
28
- * @return {?}
29
- */
30
- RSToolbarComponent.prototype.updateButtonVisibility = /**
31
- * @return {?}
32
- */
33
- function () {
34
- if (!this.toolbarContainer || !this.buttonElements)
35
- return;
36
- /** @type {?} */
37
- var buttonRefs = this.buttonElements.toArray();
38
- /** @type {?} */
39
- var containerWidth = this.toolbarContainer.nativeElement.offsetWidth - 50;
40
- // console.log("containerWidth", containerWidth);
41
- /** @type {?} */
42
- var totalWidth = 0;
43
- /** @type {?} */
44
- var menuButtonWidth = 60;
45
- this.visibleButtons = [];
46
- this.hiddenButtons = [];
47
- for (var i = 0; i < buttonRefs.length; i++) {
48
- /** @type {?} */
49
- var buttonWidth = buttonRefs[i].nativeElement.getBoundingClientRect().width;
50
- // console.log("buttonWidth", buttonWidth);
51
- if (totalWidth +
52
- 4 + // 4px margin between buttons
53
- buttonWidth +
54
- (i < buttonRefs.length - 1 ? menuButtonWidth : 0) <=
55
- containerWidth) {
56
- this.visibleButtons.push(this.buttons[i]);
57
- buttonRefs[i].nativeElement.classList.remove("temp-hidden");
58
- totalWidth += buttonWidth;
59
- }
60
- else {
61
- buttonRefs[i].nativeElement.classList.add("temp-hidden");
62
- this.hiddenButtons.push(this.buttons[i]);
63
- }
64
- }
65
- // console.log("visibleButtons", this.visibleButtons);
66
- // console.log("hiddenButtons", this.hiddenButtons);
67
- this.ref.detectChanges();
68
- };
69
- /**
70
- * @return {?}
71
- */
72
- RSToolbarComponent.prototype.onWindowResize = /**
73
- * @return {?}
74
- */
75
- function () {
76
- this.updateButtonVisibility();
77
- };
78
- RSToolbarComponent.decorators = [
79
- { type: Component, args: [{
80
- selector: "rs-toolbar",
81
- template: "<div #toolbarContainer class=\"rs-toolbar-container\">\r\n <!-- \u53EF\u89C1\u6309\u94AE -->\r\n <ng-container *ngFor=\"let button of buttons\">\r\n <div class=\"temp-hidden\" #toolbarItem>\r\n <rs-toolbar-item\r\n [image]=\"button.image\"\r\n [text]=\"button.text\"\r\n [disabled]=\"(button.key && disabledOptions[button.key]) || false\"\r\n (click)=\"button.action && button.action()\"\r\n [children]=\"button.children || []\"\r\n [disabledOptions]=\"disabledOptions\"\r\n >\r\n </rs-toolbar-item>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- \u4E0B\u62C9\u83DC\u5355\uFF08\u5982\u679C\u6709\u9690\u85CF\u6309\u94AE\uFF09 -->\r\n <button\r\n *ngIf=\"hiddenButtons.length > 0\"\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n #menuTrigger=\"matMenuTrigger\"\r\n class=\"action-toggle\"\r\n >\r\n <mat-icon svgIcon=\"more\"></mat-icon>\r\n </button>\r\n\r\n <mat-menu #menu=\"matMenu\">\r\n <ng-container *ngFor=\"let button of hiddenButtons\">\r\n <rs-toolbar-item\r\n [image]=\"button.image\"\r\n [text]=\"button.text\"\r\n (click)=\"button.action && button.action()\"\r\n [disabled]=\"disabledOptions[button.key] || false\"\r\n [children]=\"button.children || []\"\r\n [disabledOptions]=\"disabledOptions\"\r\n >\r\n </rs-toolbar-item>\r\n </ng-container>\r\n </mat-menu>\r\n</div>\r\n",
82
- styles: [":host{display:block;width:100%}.rs-toolbar-container{width:100%;display:flex;align-items:center}.rs-toolbar-container .temp-hidden{visibility:hidden;position:absolute}.rs-toolbar-container .action-toggle{width:24px;height:24px;min-width:24px;max-width:24px;padding:0;border-radius:4px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;background:0 0}.rs-toolbar-container .action-toggle:hover{background:rgba(214,227,245,.2)}.rs-toolbar-container .action-toggle .mat-button-wrapper{max-height:24px;height:24px}.rs-toolbar-container .action-toggle ::ng-deep .mat-icon{width:16px;height:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}"]
83
- }] }
84
- ];
85
- /** @nocollapse */
86
- RSToolbarComponent.ctorParameters = function () { return [
87
- { type: Router },
88
- { type: ChangeDetectorRef }
89
- ]; };
90
- RSToolbarComponent.propDecorators = {
91
- buttons: [{ type: Input }],
92
- disabledOptions: [{ type: Input }],
93
- toolbarContainer: [{ type: ViewChild, args: ["toolbarContainer", { static: false },] }],
94
- buttonElements: [{ type: ViewChildren, args: ["toolbarItem",] }],
95
- onWindowResize: [{ type: HostListener, args: ["window:resize",] }]
96
- };
97
- return RSToolbarComponent;
98
- }());
99
- export { RSToolbarComponent };
100
- if (false) {
101
- /** @type {?} */
102
- RSToolbarComponent.prototype.buttons;
103
- /** @type {?} */
104
- RSToolbarComponent.prototype.disabledOptions;
105
- /** @type {?} */
106
- RSToolbarComponent.prototype.toolbarContainer;
107
- /** @type {?} */
108
- RSToolbarComponent.prototype.buttonElements;
109
- /** @type {?} */
110
- RSToolbarComponent.prototype.visibleButtons;
111
- /** @type {?} */
112
- RSToolbarComponent.prototype.hiddenButtons;
113
- /** @type {?} */
114
- RSToolbarComponent.prototype.router;
115
- /**
116
- * @type {?}
117
- * @private
118
- */
119
- RSToolbarComponent.prototype.ref;
120
- }
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvdG9vbGJhci9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUVWLFlBQVksRUFDWixLQUFLLEVBR0wsU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3pDO0lBY0UsNEJBQW1CLE1BQWMsRUFBVSxHQUFzQjtRQUE5QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFSeEQsWUFBTyxHQUFvQixFQUFFLENBQUM7UUFDOUIsb0JBQWUsR0FBMkIsRUFBRSxDQUFDO1FBWXRELG1CQUFjLEdBQW9CLEVBQUUsQ0FBQztRQUNyQyxrQkFBYSxHQUFvQixFQUFFLENBQUM7SUFOZ0MsQ0FBQzs7OztJQUNyRSw0Q0FBZTs7O0lBQWY7UUFDRSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzs7O0lBS00sbURBQXNCOzs7SUFBN0I7UUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFPOztZQUVyRCxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7O1lBQzFDLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxFQUFFOzs7WUFFdkUsVUFBVSxHQUFHLENBQUM7O1lBQ1osZUFBZSxHQUFHLEVBQUU7UUFFMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFFeEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7O2dCQUNwQyxXQUFXLEdBQ2YsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUs7WUFDM0QsMkNBQTJDO1lBQzNDLElBQ0UsVUFBVTtnQkFDUixDQUFDLEdBQUcsNkJBQTZCO2dCQUNqQyxXQUFXO2dCQUNYLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbkQsY0FBYyxFQUNkO2dCQUNBLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUM1RCxVQUFVLElBQUksV0FBVyxDQUFDO2FBQzNCO2lCQUFNO2dCQUNMLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDekQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFDO1NBQ0Y7UUFDRCxzREFBc0Q7UUFDdEQsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7OztJQUdELDJDQUFjOzs7SUFEZDtRQUVFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7O2dCQTdERixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLGc3Q0FBcUM7O2lCQUV0Qzs7OztnQkFQUSxNQUFNO2dCQVpiLGlCQUFpQjs7OzBCQXFCaEIsS0FBSztrQ0FDTCxLQUFLO21DQUVMLFNBQVMsU0FBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7aUNBRy9DLFlBQVksU0FBQyxhQUFhO2lDQThDMUIsWUFBWSxTQUFDLGVBQWU7O0lBSS9CLHlCQUFDO0NBQUEsQUE5REQsSUE4REM7U0F6RFksa0JBQWtCOzs7SUFDN0IscUNBQXVDOztJQUN2Qyw2Q0FBc0Q7O0lBRXRELDhDQUM4Qjs7SUFFOUIsNENBQW9FOztJQU9wRSw0Q0FBcUM7O0lBQ3JDLDJDQUFvQzs7SUFOeEIsb0NBQXFCOzs7OztJQUFFLGlDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIOe7hOS7tuexu1xyXG5pbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NoaWxkcmVuLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgVG9vbGJhckJ1dHRvbiB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtdG9vbGJhclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSU1Rvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBidXR0b25zOiBUb29sYmFyQnV0dG9uW10gPSBbXTtcclxuICBASW5wdXQoKSBkaXNhYmxlZE9wdGlvbnM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuXHJcbiAgQFZpZXdDaGlsZChcInRvb2xiYXJDb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgdG9vbGJhckNvbnRhaW5lciE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oXCJ0b29sYmFySXRlbVwiKSBidXR0b25FbGVtZW50cyE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51cGRhdGVCdXR0b25WaXNpYmlsaXR5KCk7XHJcbiAgfVxyXG5cclxuICB2aXNpYmxlQnV0dG9uczogVG9vbGJhckJ1dHRvbltdID0gW107XHJcbiAgaGlkZGVuQnV0dG9uczogVG9vbGJhckJ1dHRvbltdID0gW107XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVCdXR0b25WaXNpYmlsaXR5KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnRvb2xiYXJDb250YWluZXIgfHwgIXRoaXMuYnV0dG9uRWxlbWVudHMpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBidXR0b25SZWZzID0gdGhpcy5idXR0b25FbGVtZW50cy50b0FycmF5KCk7XHJcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMudG9vbGJhckNvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC0gNTA7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcImNvbnRhaW5lcldpZHRoXCIsIGNvbnRhaW5lcldpZHRoKTtcclxuICAgIGxldCB0b3RhbFdpZHRoID0gMDtcclxuICAgIGNvbnN0IG1lbnVCdXR0b25XaWR0aCA9IDYwO1xyXG5cclxuICAgIHRoaXMudmlzaWJsZUJ1dHRvbnMgPSBbXTtcclxuICAgIHRoaXMuaGlkZGVuQnV0dG9ucyA9IFtdO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnV0dG9uUmVmcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBidXR0b25XaWR0aCA9XHJcbiAgICAgICAgYnV0dG9uUmVmc1tpXS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhcImJ1dHRvbldpZHRoXCIsIGJ1dHRvbldpZHRoKTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRvdGFsV2lkdGggK1xyXG4gICAgICAgICAgNCArIC8vIDRweCBtYXJnaW4gYmV0d2VlbiBidXR0b25zXHJcbiAgICAgICAgICBidXR0b25XaWR0aCArXHJcbiAgICAgICAgICAoaSA8IGJ1dHRvblJlZnMubGVuZ3RoIC0gMSA/IG1lbnVCdXR0b25XaWR0aCA6IDApIDw9XHJcbiAgICAgICAgY29udGFpbmVyV2lkdGhcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlQnV0dG9ucy5wdXNoKHRoaXMuYnV0dG9uc1tpXSk7XHJcbiAgICAgICAgYnV0dG9uUmVmc1tpXS5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJ0ZW1wLWhpZGRlblwiKTtcclxuICAgICAgICB0b3RhbFdpZHRoICs9IGJ1dHRvbldpZHRoO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGJ1dHRvblJlZnNbaV0ubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKFwidGVtcC1oaWRkZW5cIik7XHJcbiAgICAgICAgdGhpcy5oaWRkZW5CdXR0b25zLnB1c2godGhpcy5idXR0b25zW2ldKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gY29uc29sZS5sb2coXCJ2aXNpYmxlQnV0dG9uc1wiLCB0aGlzLnZpc2libGVCdXR0b25zKTtcclxuICAgIC8vIGNvbnNvbGUubG9nKFwiaGlkZGVuQnV0dG9uc1wiLCB0aGlzLmhpZGRlbkJ1dHRvbnMpO1xyXG4gICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIilcclxuICBvbldpbmRvd1Jlc2l6ZSgpIHtcclxuICAgIHRoaXMudXBkYXRlQnV0dG9uVmlzaWJpbGl0eSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
File without changes