@schneideress/dashboardframework 0.0.1

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 (110) hide show
  1. package/README.md +24 -0
  2. package/bundles/schneideress-dashboardframework.umd.js +5666 -0
  3. package/bundles/schneideress-dashboardframework.umd.js.map +1 -0
  4. package/bundles/schneideress-dashboardframework.umd.min.js +2 -0
  5. package/bundles/schneideress-dashboardframework.umd.min.js.map +1 -0
  6. package/esm2015/gridster/index.js +18 -0
  7. package/esm2015/gridster/lib/gridster.component.js +695 -0
  8. package/esm2015/gridster/lib/gridster.interface.js +84 -0
  9. package/esm2015/gridster/lib/gridster.module.js +27 -0
  10. package/esm2015/gridster/lib/gridsterCompact.service.js +223 -0
  11. package/esm2015/gridster/lib/gridsterConfig.constant.js +179 -0
  12. package/esm2015/gridster/lib/gridsterConfig.interface.js +219 -0
  13. package/esm2015/gridster/lib/gridsterConfigS.interface.js +161 -0
  14. package/esm2015/gridster/lib/gridsterDraggable.service.js +510 -0
  15. package/esm2015/gridster/lib/gridsterEmptyCell.service.js +317 -0
  16. package/esm2015/gridster/lib/gridsterItem.component.js +213 -0
  17. package/esm2015/gridster/lib/gridsterItem.interface.js +46 -0
  18. package/esm2015/gridster/lib/gridsterItemComponent.interface.js +48 -0
  19. package/esm2015/gridster/lib/gridsterPreview.component.js +66 -0
  20. package/esm2015/gridster/lib/gridsterPush.service.js +467 -0
  21. package/esm2015/gridster/lib/gridsterPushResize.service.js +358 -0
  22. package/esm2015/gridster/lib/gridsterRenderer.service.js +277 -0
  23. package/esm2015/gridster/lib/gridsterResizable.service.js +552 -0
  24. package/esm2015/gridster/lib/gridsterResizeEventType.interface.js +19 -0
  25. package/esm2015/gridster/lib/gridsterScroll.service.js +195 -0
  26. package/esm2015/gridster/lib/gridsterSwap.service.js +134 -0
  27. package/esm2015/gridster/lib/gridsterUtils.service.js +137 -0
  28. package/esm2015/lib/ra-dashboard-area/ra.dashboard.area.js +258 -0
  29. package/esm2015/lib/ra-widget-container/ra.widget.container.component.js +216 -0
  30. package/esm2015/lib/ra.base.dashboard.filter.js +35 -0
  31. package/esm2015/lib/ra.base.dashboard.template.js +63 -0
  32. package/esm2015/lib/ra.dashbard.event.bus.js +85 -0
  33. package/esm2015/lib/ra.dashboard.module.js +31 -0
  34. package/esm2015/lib/ra.dashboard.service.js +213 -0
  35. package/esm2015/lib/ra.event.enum.js +33 -0
  36. package/esm2015/lib/ra.gridster.config.js +63 -0
  37. package/esm2015/public-api.js +16 -0
  38. package/esm2015/schneideress-dashboardframework.js +13 -0
  39. package/esm5/gridster/index.js +18 -0
  40. package/esm5/gridster/lib/gridster.component.js +798 -0
  41. package/esm5/gridster/lib/gridster.interface.js +94 -0
  42. package/esm5/gridster/lib/gridster.module.js +31 -0
  43. package/esm5/gridster/lib/gridsterCompact.service.js +253 -0
  44. package/esm5/gridster/lib/gridsterConfig.constant.js +179 -0
  45. package/esm5/gridster/lib/gridsterConfig.interface.js +219 -0
  46. package/esm5/gridster/lib/gridsterConfigS.interface.js +161 -0
  47. package/esm5/gridster/lib/gridsterDraggable.service.js +549 -0
  48. package/esm5/gridster/lib/gridsterEmptyCell.service.js +358 -0
  49. package/esm5/gridster/lib/gridsterItem.component.js +238 -0
  50. package/esm5/gridster/lib/gridsterItem.interface.js +46 -0
  51. package/esm5/gridster/lib/gridsterItemComponent.interface.js +58 -0
  52. package/esm5/gridster/lib/gridsterPreview.component.js +70 -0
  53. package/esm5/gridster/lib/gridsterPush.service.js +547 -0
  54. package/esm5/gridster/lib/gridsterPushResize.service.js +423 -0
  55. package/esm5/gridster/lib/gridsterRenderer.service.js +323 -0
  56. package/esm5/gridster/lib/gridsterResizable.service.js +629 -0
  57. package/esm5/gridster/lib/gridsterResizeEventType.interface.js +19 -0
  58. package/esm5/gridster/lib/gridsterScroll.service.js +195 -0
  59. package/esm5/gridster/lib/gridsterSwap.service.js +152 -0
  60. package/esm5/gridster/lib/gridsterUtils.service.js +177 -0
  61. package/esm5/lib/ra-dashboard-area/ra.dashboard.area.js +307 -0
  62. package/esm5/lib/ra-widget-container/ra.widget.container.component.js +277 -0
  63. package/esm5/lib/ra.base.dashboard.filter.js +38 -0
  64. package/esm5/lib/ra.base.dashboard.template.js +63 -0
  65. package/esm5/lib/ra.dashbard.event.bus.js +125 -0
  66. package/esm5/lib/ra.dashboard.module.js +35 -0
  67. package/esm5/lib/ra.dashboard.service.js +295 -0
  68. package/esm5/lib/ra.event.enum.js +33 -0
  69. package/esm5/lib/ra.gridster.config.js +63 -0
  70. package/esm5/public-api.js +16 -0
  71. package/esm5/schneideress-dashboardframework.js +13 -0
  72. package/fesm2015/schneideress-dashboardframework.js +4811 -0
  73. package/fesm2015/schneideress-dashboardframework.js.map +1 -0
  74. package/fesm5/schneideress-dashboardframework.js +5613 -0
  75. package/fesm5/schneideress-dashboardframework.js.map +1 -0
  76. package/gridster/index.d.ts +11 -0
  77. package/gridster/lib/gridster.component.d.ts +67 -0
  78. package/gridster/lib/gridster.interface.d.ts +46 -0
  79. package/gridster/lib/gridster.module.d.ts +2 -0
  80. package/gridster/lib/gridsterCompact.service.d.ts +15 -0
  81. package/gridster/lib/gridsterConfig.constant.d.ts +2 -0
  82. package/gridster/lib/gridsterConfig.interface.d.ts +133 -0
  83. package/gridster/lib/gridsterConfigS.interface.d.ts +93 -0
  84. package/gridster/lib/gridsterDraggable.service.d.ts +59 -0
  85. package/gridster/lib/gridsterEmptyCell.service.d.ts +29 -0
  86. package/gridster/lib/gridsterItem.component.d.ts +32 -0
  87. package/gridster/lib/gridsterItem.interface.d.ts +21 -0
  88. package/gridster/lib/gridsterItemComponent.interface.d.ts +25 -0
  89. package/gridster/lib/gridsterPreview.component.d.ts +10 -0
  90. package/gridster/lib/gridsterPush.service.d.ts +33 -0
  91. package/gridster/lib/gridsterPushResize.service.d.ts +26 -0
  92. package/gridster/lib/gridsterRenderer.service.d.ts +38 -0
  93. package/gridster/lib/gridsterResizable.service.d.ts +67 -0
  94. package/gridster/lib/gridsterResizeEventType.interface.d.ts +6 -0
  95. package/gridster/lib/gridsterScroll.service.d.ts +4 -0
  96. package/gridster/lib/gridsterSwap.service.d.ts +13 -0
  97. package/gridster/lib/gridsterUtils.service.d.ts +16 -0
  98. package/lib/ra-dashboard-area/ra.dashboard.area.d.ts +37 -0
  99. package/lib/ra-widget-container/ra.widget.container.component.d.ts +37 -0
  100. package/lib/ra.base.dashboard.filter.d.ts +4 -0
  101. package/lib/ra.base.dashboard.template.d.ts +14 -0
  102. package/lib/ra.dashbard.event.bus.d.ts +20 -0
  103. package/lib/ra.dashboard.module.d.ts +2 -0
  104. package/lib/ra.dashboard.service.d.ts +73 -0
  105. package/lib/ra.event.enum.d.ts +24 -0
  106. package/lib/ra.gridster.config.d.ts +2 -0
  107. package/package.json +25 -0
  108. package/public-api.d.ts +8 -0
  109. package/schneideress-dashboardframework.d.ts +8 -0
  110. package/schneideress-dashboardframework.metadata.json +1 -0
@@ -0,0 +1,552 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Injectable, NgZone } from '@angular/core';
6
+ import { cancelScroll, scroll } from './gridsterScroll.service';
7
+ import { GridsterPush } from './gridsterPush.service';
8
+ import { GridsterUtils } from './gridsterUtils.service';
9
+ import { GridsterPushResize } from './gridsterPushResize.service';
10
+ import { GridsterItemComponentInterface } from './gridsterItemComponent.interface';
11
+ import { GridsterComponentInterface } from './gridster.interface';
12
+ export class GridsterResizable {
13
+ /**
14
+ * @param {?} gridsterItem
15
+ * @param {?} gridster
16
+ * @param {?} zone
17
+ */
18
+ constructor(gridsterItem, gridster, zone) {
19
+ this.zone = zone;
20
+ this.gridsterItem = gridsterItem;
21
+ this.gridster = gridster;
22
+ this.lastMouse = {
23
+ clientX: 0,
24
+ clientY: 0
25
+ };
26
+ this.itemBackup = [0, 0, 0, 0];
27
+ this.resizeEventScrollType = { w: false, e: false, n: false, s: false };
28
+ }
29
+ /**
30
+ * @return {?}
31
+ */
32
+ destroy() {
33
+ if (this.gridster.previewStyle) {
34
+ this.gridster.previewStyle();
35
+ }
36
+ delete this.gridsterItem;
37
+ delete this.gridster;
38
+ }
39
+ /**
40
+ * @param {?} e
41
+ * @return {?}
42
+ */
43
+ dragStart(e) {
44
+ switch (e.which) {
45
+ case 1:
46
+ // left mouse button
47
+ break;
48
+ case 2:
49
+ case 3:
50
+ // right or middle mouse button
51
+ return;
52
+ }
53
+ if (this.gridster.options.resizable && this.gridster.options.resizable.start) {
54
+ this.gridster.options.resizable.start(this.gridsterItem.item, this.gridsterItem, e);
55
+ }
56
+ e.stopPropagation();
57
+ e.preventDefault();
58
+ this.dragFunction = this.dragMove.bind(this);
59
+ this.dragStopFunction = this.dragStop.bind(this);
60
+ this.zone.runOutsideAngular((/**
61
+ * @return {?}
62
+ */
63
+ () => {
64
+ this.mousemove = this.gridsterItem.renderer.listen('document', 'mousemove', this.dragFunction);
65
+ this.touchmove = this.gridster.renderer.listen(this.gridster.el, 'touchmove', this.dragFunction);
66
+ }));
67
+ this.mouseup = this.gridsterItem.renderer.listen('document', 'mouseup', this.dragStopFunction);
68
+ this.mouseleave = this.gridsterItem.renderer.listen('document', 'mouseleave', this.dragStopFunction);
69
+ this.cancelOnBlur = this.gridsterItem.renderer.listen('window', 'blur', this.dragStopFunction);
70
+ this.touchend = this.gridsterItem.renderer.listen('document', 'touchend', this.dragStopFunction);
71
+ this.touchcancel = this.gridsterItem.renderer.listen('document', 'touchcancel', this.dragStopFunction);
72
+ this.gridsterItem.renderer.addClass(this.gridsterItem.el, 'gridster-item-resizing');
73
+ this.lastMouse.clientX = e.clientX;
74
+ this.lastMouse.clientY = e.clientY;
75
+ this.left = this.gridsterItem.left;
76
+ this.top = this.gridsterItem.top;
77
+ this.width = this.gridsterItem.width;
78
+ this.height = this.gridsterItem.height;
79
+ this.bottom = this.gridsterItem.top + this.gridsterItem.height;
80
+ this.right = this.gridsterItem.left + this.gridsterItem.width;
81
+ this.margin = this.gridster.$options.margin;
82
+ this.offsetLeft = this.gridster.el.scrollLeft - this.gridster.el.offsetLeft;
83
+ this.offsetTop = this.gridster.el.scrollTop - this.gridster.el.offsetTop;
84
+ this.diffLeft = e.clientX + this.offsetLeft - this.left;
85
+ this.diffRight = e.clientX + this.offsetLeft - this.right;
86
+ this.diffTop = e.clientY + this.offsetTop - this.top;
87
+ this.diffBottom = e.clientY + this.offsetTop - this.bottom;
88
+ this.minHeight = this.gridster.positionYToPixels(this.gridsterItem.$item.minItemRows || this.gridster.$options.minItemRows)
89
+ - this.margin;
90
+ this.minWidth = this.gridster.positionXToPixels(this.gridsterItem.$item.minItemCols || this.gridster.$options.minItemCols)
91
+ - this.margin;
92
+ this.gridster.movingItem = this.gridsterItem.$item;
93
+ this.gridster.previewStyle();
94
+ this.push = new GridsterPush(this.gridsterItem);
95
+ this.pushResize = new GridsterPushResize(this.gridsterItem);
96
+ this.gridster.dragInProgress = true;
97
+ this.gridster.updateGrid();
98
+ if (e.target.hasAttribute('class') && e.target.getAttribute('class').split(' ').indexOf('handle-n') > -1) {
99
+ this.resizeEventScrollType.n = true;
100
+ this.directionFunction = this.handleN;
101
+ }
102
+ else if (e.target.hasAttribute('class') && e.target.getAttribute('class').split(' ').indexOf('handle-w') > -1) {
103
+ this.resizeEventScrollType.w = true;
104
+ this.directionFunction = this.handleW;
105
+ }
106
+ else if (e.target.hasAttribute('class') && e.target.getAttribute('class').split(' ').indexOf('handle-s') > -1) {
107
+ this.resizeEventScrollType.s = true;
108
+ this.directionFunction = this.handleS;
109
+ }
110
+ else if (e.target.hasAttribute('class') && e.target.getAttribute('class').split(' ').indexOf('handle-e') > -1) {
111
+ this.resizeEventScrollType.e = true;
112
+ this.directionFunction = this.handleE;
113
+ }
114
+ else if (e.target.hasAttribute('class') && e.target.getAttribute('class').split(' ').indexOf('handle-nw') > -1) {
115
+ this.resizeEventScrollType.n = true;
116
+ this.resizeEventScrollType.w = true;
117
+ this.directionFunction = this.handleNW;
118
+ }
119
+ else if (e.target.hasAttribute('class') && e.target.getAttribute('class').split(' ').indexOf('handle-ne') > -1) {
120
+ this.resizeEventScrollType.n = true;
121
+ this.resizeEventScrollType.e = true;
122
+ this.directionFunction = this.handleNE;
123
+ }
124
+ else if (e.target.hasAttribute('class') && e.target.getAttribute('class').split(' ').indexOf('handle-sw') > -1) {
125
+ this.resizeEventScrollType.s = true;
126
+ this.resizeEventScrollType.w = true;
127
+ this.directionFunction = this.handleSW;
128
+ }
129
+ else if (e.target.hasAttribute('class') && e.target.getAttribute('class').split(' ').indexOf('handle-se') > -1) {
130
+ this.resizeEventScrollType.s = true;
131
+ this.resizeEventScrollType.e = true;
132
+ this.directionFunction = this.handleSE;
133
+ }
134
+ }
135
+ /**
136
+ * @param {?} e
137
+ * @return {?}
138
+ */
139
+ dragMove(e) {
140
+ e.stopPropagation();
141
+ e.preventDefault();
142
+ GridsterUtils.checkTouchEvent(e);
143
+ this.offsetTop = this.gridster.el.scrollTop - this.gridster.el.offsetTop;
144
+ this.offsetLeft = this.gridster.el.scrollLeft - this.gridster.el.offsetLeft;
145
+ scroll(this.gridster, this.left, this.top, this.width, this.height, e, this.lastMouse, this.directionFunction.bind(this), true, this.resizeEventScrollType);
146
+ this.directionFunction(e);
147
+ this.lastMouse.clientX = e.clientX;
148
+ this.lastMouse.clientY = e.clientY;
149
+ this.zone.run((/**
150
+ * @return {?}
151
+ */
152
+ () => {
153
+ this.gridster.updateGrid();
154
+ }));
155
+ }
156
+ /**
157
+ * @param {?} e
158
+ * @return {?}
159
+ */
160
+ dragStop(e) {
161
+ e.stopPropagation();
162
+ e.preventDefault();
163
+ cancelScroll();
164
+ this.mousemove();
165
+ this.mouseup();
166
+ this.mouseleave();
167
+ this.cancelOnBlur();
168
+ this.touchmove();
169
+ this.touchend();
170
+ this.touchcancel();
171
+ this.gridster.dragInProgress = false;
172
+ this.gridster.updateGrid();
173
+ if (this.gridster.options.resizable && this.gridster.options.resizable.stop) {
174
+ Promise.resolve(this.gridster.options.resizable.stop(this.gridsterItem.item, this.gridsterItem, e))
175
+ .then(this.makeResize.bind(this), this.cancelResize.bind(this));
176
+ }
177
+ else {
178
+ this.makeResize();
179
+ }
180
+ setTimeout((/**
181
+ * @return {?}
182
+ */
183
+ () => {
184
+ this.gridsterItem.renderer.removeClass(this.gridsterItem.el, 'gridster-item-resizing');
185
+ if (this.gridster) {
186
+ this.gridster.movingItem = null;
187
+ this.gridster.previewStyle();
188
+ }
189
+ }));
190
+ }
191
+ /**
192
+ * @return {?}
193
+ */
194
+ cancelResize() {
195
+ this.gridsterItem.$item.cols = this.gridsterItem.item.cols || 1;
196
+ this.gridsterItem.$item.rows = this.gridsterItem.item.rows || 1;
197
+ this.gridsterItem.$item.x = this.gridsterItem.item.x || 0;
198
+ this.gridsterItem.$item.y = this.gridsterItem.item.y || 0;
199
+ this.gridsterItem.setSize();
200
+ this.push.restoreItems();
201
+ this.pushResize.restoreItems();
202
+ this.push.destroy();
203
+ delete this.push;
204
+ this.pushResize.destroy();
205
+ delete this.pushResize;
206
+ }
207
+ /**
208
+ * @return {?}
209
+ */
210
+ makeResize() {
211
+ this.gridsterItem.setSize();
212
+ this.gridsterItem.checkItemChanges(this.gridsterItem.$item, this.gridsterItem.item);
213
+ this.push.setPushedItems();
214
+ this.pushResize.setPushedItems();
215
+ this.push.destroy();
216
+ delete this.push;
217
+ this.pushResize.destroy();
218
+ delete this.pushResize;
219
+ }
220
+ /**
221
+ * @param {?} e
222
+ * @return {?}
223
+ */
224
+ handleN(e) {
225
+ this.top = e.clientY + this.offsetTop - this.diffTop;
226
+ this.height = this.bottom - this.top;
227
+ if (this.minHeight > this.height) {
228
+ this.height = this.minHeight;
229
+ this.top = this.bottom - this.minHeight;
230
+ }
231
+ this.newPosition = this.gridster.pixelsToPositionY(this.top + this.margin, Math.floor);
232
+ if (this.gridsterItem.$item.y !== this.newPosition) {
233
+ this.itemBackup[1] = this.gridsterItem.$item.y;
234
+ this.itemBackup[3] = this.gridsterItem.$item.rows;
235
+ this.gridsterItem.$item.rows += this.gridsterItem.$item.y - this.newPosition;
236
+ this.gridsterItem.$item.y = this.newPosition;
237
+ this.pushResize.pushItems(this.pushResize.fromSouth);
238
+ this.push.pushItems(this.push.fromSouth, this.gridster.$options.disablePushOnResize);
239
+ if (this.gridster.checkCollision(this.gridsterItem.$item)) {
240
+ this.gridsterItem.$item.y = this.itemBackup[1];
241
+ this.gridsterItem.$item.rows = this.itemBackup[3];
242
+ this.setItemTop(this.gridster.positionYToPixels(this.gridsterItem.$item.y));
243
+ this.setItemHeight(this.gridster.positionYToPixels(this.gridsterItem.$item.rows) - this.margin);
244
+ return;
245
+ }
246
+ else {
247
+ this.gridster.previewStyle();
248
+ }
249
+ this.pushResize.checkPushBack();
250
+ this.push.checkPushBack();
251
+ }
252
+ this.setItemTop(this.top);
253
+ this.setItemHeight(this.height);
254
+ }
255
+ /**
256
+ * @param {?} e
257
+ * @return {?}
258
+ */
259
+ handleW(e) {
260
+ this.left = e.clientX + this.offsetLeft - this.diffLeft;
261
+ this.width = this.right - this.left;
262
+ if (this.minWidth > this.width) {
263
+ this.width = this.minWidth;
264
+ this.left = this.right - this.minWidth;
265
+ }
266
+ this.newPosition = this.gridster.pixelsToPositionX(this.left + this.margin, Math.floor);
267
+ if (this.gridsterItem.$item.x !== this.newPosition) {
268
+ this.itemBackup[0] = this.gridsterItem.$item.x;
269
+ this.itemBackup[2] = this.gridsterItem.$item.cols;
270
+ this.gridsterItem.$item.cols += this.gridsterItem.$item.x - this.newPosition;
271
+ this.gridsterItem.$item.x = this.newPosition;
272
+ this.pushResize.pushItems(this.pushResize.fromEast);
273
+ this.push.pushItems(this.push.fromEast, this.gridster.$options.disablePushOnResize);
274
+ if (this.gridster.checkCollision(this.gridsterItem.$item)) {
275
+ this.gridsterItem.$item.x = this.itemBackup[0];
276
+ this.gridsterItem.$item.cols = this.itemBackup[2];
277
+ this.setItemLeft(this.gridster.positionXToPixels(this.gridsterItem.$item.x));
278
+ this.setItemWidth(this.gridster.positionXToPixels(this.gridsterItem.$item.cols) - this.margin);
279
+ return;
280
+ }
281
+ else {
282
+ this.gridster.previewStyle();
283
+ }
284
+ this.pushResize.checkPushBack();
285
+ this.push.checkPushBack();
286
+ }
287
+ this.setItemLeft(this.left);
288
+ this.setItemWidth(this.width);
289
+ }
290
+ /**
291
+ * @param {?} e
292
+ * @return {?}
293
+ */
294
+ handleS(e) {
295
+ this.height = e.clientY + this.offsetTop - this.diffBottom - this.top;
296
+ if (this.minHeight > this.height) {
297
+ this.height = this.minHeight;
298
+ }
299
+ this.bottom = this.top + this.height;
300
+ this.newPosition = this.gridster.pixelsToPositionY(this.bottom, Math.ceil);
301
+ if ((this.gridsterItem.$item.y + this.gridsterItem.$item.rows) !== this.newPosition) {
302
+ this.itemBackup[3] = this.gridsterItem.$item.rows;
303
+ this.gridsterItem.$item.rows = this.newPosition - this.gridsterItem.$item.y;
304
+ this.pushResize.pushItems(this.pushResize.fromNorth);
305
+ this.push.pushItems(this.push.fromNorth, this.gridster.$options.disablePushOnResize);
306
+ if (this.gridster.checkCollision(this.gridsterItem.$item)) {
307
+ this.gridsterItem.$item.rows = this.itemBackup[3];
308
+ this.setItemHeight(this.gridster.positionYToPixels(this.gridsterItem.$item.rows) - this.margin);
309
+ return;
310
+ }
311
+ else {
312
+ this.gridster.previewStyle();
313
+ }
314
+ this.pushResize.checkPushBack();
315
+ this.push.checkPushBack();
316
+ }
317
+ this.setItemHeight(this.height);
318
+ }
319
+ /**
320
+ * @param {?} e
321
+ * @return {?}
322
+ */
323
+ handleE(e) {
324
+ this.width = e.clientX + this.offsetLeft - this.diffRight - this.left;
325
+ if (this.minWidth > this.width) {
326
+ this.width = this.minWidth;
327
+ }
328
+ this.right = this.left + this.width;
329
+ this.newPosition = this.gridster.pixelsToPositionX(this.right, Math.ceil);
330
+ if ((this.gridsterItem.$item.x + this.gridsterItem.$item.cols) !== this.newPosition) {
331
+ this.itemBackup[2] = this.gridsterItem.$item.cols;
332
+ this.gridsterItem.$item.cols = this.newPosition - this.gridsterItem.$item.x;
333
+ this.pushResize.pushItems(this.pushResize.fromWest);
334
+ this.push.pushItems(this.push.fromWest, this.gridster.$options.disablePushOnResize);
335
+ if (this.gridster.checkCollision(this.gridsterItem.$item)) {
336
+ this.gridsterItem.$item.cols = this.itemBackup[2];
337
+ this.setItemWidth(this.gridster.positionXToPixels(this.gridsterItem.$item.cols) - this.margin);
338
+ return;
339
+ }
340
+ else {
341
+ this.gridster.previewStyle();
342
+ }
343
+ this.pushResize.checkPushBack();
344
+ this.push.checkPushBack();
345
+ }
346
+ this.setItemWidth(this.width);
347
+ }
348
+ /**
349
+ * @param {?} e
350
+ * @return {?}
351
+ */
352
+ handleNW(e) {
353
+ this.handleN(e);
354
+ this.handleW(e);
355
+ }
356
+ /**
357
+ * @param {?} e
358
+ * @return {?}
359
+ */
360
+ handleNE(e) {
361
+ this.handleN(e);
362
+ this.handleE(e);
363
+ }
364
+ /**
365
+ * @param {?} e
366
+ * @return {?}
367
+ */
368
+ handleSW(e) {
369
+ this.handleS(e);
370
+ this.handleW(e);
371
+ }
372
+ /**
373
+ * @param {?} e
374
+ * @return {?}
375
+ */
376
+ handleSE(e) {
377
+ this.handleS(e);
378
+ this.handleE(e);
379
+ }
380
+ /**
381
+ * @return {?}
382
+ */
383
+ toggle() {
384
+ this.resizeEnabled = this.gridsterItem.canBeResized();
385
+ }
386
+ /**
387
+ * @param {?} e
388
+ * @return {?}
389
+ */
390
+ dragStartDelay(e) {
391
+ GridsterUtils.checkTouchEvent(e);
392
+ if (!this.gridster.$options.resizable.delayStart) {
393
+ this.dragStart(e);
394
+ return;
395
+ }
396
+ /** @type {?} */
397
+ const timeout = setTimeout((/**
398
+ * @return {?}
399
+ */
400
+ () => {
401
+ this.dragStart(e);
402
+ cancelDrag();
403
+ }), this.gridster.$options.resizable.delayStart);
404
+ /** @type {?} */
405
+ const cancelMouse = this.gridsterItem.renderer.listen('document', 'mouseup', cancelDrag);
406
+ /** @type {?} */
407
+ const cancelMouseLeave = this.gridsterItem.renderer.listen('document', 'mouseleave', cancelDrag);
408
+ /** @type {?} */
409
+ const cancelOnBlur = this.gridsterItem.renderer.listen('window', 'blur', cancelDrag);
410
+ /** @type {?} */
411
+ const cancelTouchMove = this.gridsterItem.renderer.listen('document', 'touchmove', cancelMove);
412
+ /** @type {?} */
413
+ const cancelTouchEnd = this.gridsterItem.renderer.listen('document', 'touchend', cancelDrag);
414
+ /** @type {?} */
415
+ const cancelTouchCancel = this.gridsterItem.renderer.listen('document', 'touchcancel', cancelDrag);
416
+ /**
417
+ * @param {?} eventMove
418
+ * @return {?}
419
+ */
420
+ function cancelMove(eventMove) {
421
+ GridsterUtils.checkTouchEvent(eventMove);
422
+ if (Math.abs(eventMove.clientX - e.clientX) > 9 || Math.abs(eventMove.clientY - e.clientY) > 9) {
423
+ cancelDrag();
424
+ }
425
+ }
426
+ /**
427
+ * @return {?}
428
+ */
429
+ function cancelDrag() {
430
+ clearTimeout(timeout);
431
+ cancelOnBlur();
432
+ cancelMouse();
433
+ cancelMouseLeave();
434
+ cancelTouchMove();
435
+ cancelTouchEnd();
436
+ cancelTouchCancel();
437
+ }
438
+ }
439
+ /**
440
+ * @param {?} top
441
+ * @return {?}
442
+ */
443
+ setItemTop(top) {
444
+ this.gridster.gridRenderer.setCellPosition(this.gridsterItem.renderer, this.gridsterItem.el, this.left, top);
445
+ }
446
+ /**
447
+ * @param {?} left
448
+ * @return {?}
449
+ */
450
+ setItemLeft(left) {
451
+ this.gridster.gridRenderer.setCellPosition(this.gridsterItem.renderer, this.gridsterItem.el, left, this.top);
452
+ }
453
+ /**
454
+ * @param {?} height
455
+ * @return {?}
456
+ */
457
+ setItemHeight(height) {
458
+ this.gridsterItem.renderer.setStyle(this.gridsterItem.el, 'height', height + 'px');
459
+ }
460
+ /**
461
+ * @param {?} width
462
+ * @return {?}
463
+ */
464
+ setItemWidth(width) {
465
+ this.gridsterItem.renderer.setStyle(this.gridsterItem.el, 'width', width + 'px');
466
+ }
467
+ }
468
+ GridsterResizable.decorators = [
469
+ { type: Injectable }
470
+ ];
471
+ /** @nocollapse */
472
+ GridsterResizable.ctorParameters = () => [
473
+ { type: GridsterItemComponentInterface },
474
+ { type: GridsterComponentInterface },
475
+ { type: NgZone }
476
+ ];
477
+ if (false) {
478
+ /** @type {?} */
479
+ GridsterResizable.prototype.gridsterItem;
480
+ /** @type {?} */
481
+ GridsterResizable.prototype.gridster;
482
+ /** @type {?} */
483
+ GridsterResizable.prototype.lastMouse;
484
+ /** @type {?} */
485
+ GridsterResizable.prototype.itemBackup;
486
+ /** @type {?} */
487
+ GridsterResizable.prototype.resizeEventScrollType;
488
+ /** @type {?} */
489
+ GridsterResizable.prototype.directionFunction;
490
+ /** @type {?} */
491
+ GridsterResizable.prototype.dragFunction;
492
+ /** @type {?} */
493
+ GridsterResizable.prototype.dragStopFunction;
494
+ /** @type {?} */
495
+ GridsterResizable.prototype.resizeEnabled;
496
+ /** @type {?} */
497
+ GridsterResizable.prototype.mousemove;
498
+ /** @type {?} */
499
+ GridsterResizable.prototype.mouseup;
500
+ /** @type {?} */
501
+ GridsterResizable.prototype.mouseleave;
502
+ /** @type {?} */
503
+ GridsterResizable.prototype.cancelOnBlur;
504
+ /** @type {?} */
505
+ GridsterResizable.prototype.touchmove;
506
+ /** @type {?} */
507
+ GridsterResizable.prototype.touchend;
508
+ /** @type {?} */
509
+ GridsterResizable.prototype.touchcancel;
510
+ /** @type {?} */
511
+ GridsterResizable.prototype.push;
512
+ /** @type {?} */
513
+ GridsterResizable.prototype.pushResize;
514
+ /** @type {?} */
515
+ GridsterResizable.prototype.minHeight;
516
+ /** @type {?} */
517
+ GridsterResizable.prototype.minWidth;
518
+ /** @type {?} */
519
+ GridsterResizable.prototype.offsetTop;
520
+ /** @type {?} */
521
+ GridsterResizable.prototype.offsetLeft;
522
+ /** @type {?} */
523
+ GridsterResizable.prototype.diffTop;
524
+ /** @type {?} */
525
+ GridsterResizable.prototype.diffLeft;
526
+ /** @type {?} */
527
+ GridsterResizable.prototype.diffRight;
528
+ /** @type {?} */
529
+ GridsterResizable.prototype.diffBottom;
530
+ /** @type {?} */
531
+ GridsterResizable.prototype.margin;
532
+ /** @type {?} */
533
+ GridsterResizable.prototype.top;
534
+ /** @type {?} */
535
+ GridsterResizable.prototype.left;
536
+ /** @type {?} */
537
+ GridsterResizable.prototype.bottom;
538
+ /** @type {?} */
539
+ GridsterResizable.prototype.right;
540
+ /** @type {?} */
541
+ GridsterResizable.prototype.width;
542
+ /** @type {?} */
543
+ GridsterResizable.prototype.height;
544
+ /** @type {?} */
545
+ GridsterResizable.prototype.newPosition;
546
+ /**
547
+ * @type {?}
548
+ * @private
549
+ */
550
+ GridsterResizable.prototype.zone;
551
+ }
552
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZHN0ZXJSZXNpemFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzY2huZWlkZXJlc3MvZGFzaGJvYXJkZnJhbWV3b3JrLyIsInNvdXJjZXMiOlsiZ3JpZHN0ZXIvbGliL2dyaWRzdGVyUmVzaXphYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFOUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRSxNQUFNLE9BQU8saUJBQWlCOzs7Ozs7SUF1QzVCLFlBQVksWUFBNEMsRUFBRSxRQUFvQyxFQUFVLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ2xILElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sRUFBRSxDQUFDO1NBQ1gsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUs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LENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDeEcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDdkM7YUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDL0csSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDdkM7YUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDL0csSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDdkM7YUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDL0csSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDdkM7YUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDaEgsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDcEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDeEM7YUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDaEgsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDcEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDeEM7YUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxP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LDZDQUF1Qzs7SUFDdkMsMENBQXVCOztJQUN2QixzQ0FBb0I7O0lBQ3BCLG9DQUFrQjs7SUFDbEIsdUNBQXFCOztJQUNyQix5Q0FBdUI7O0lBQ3ZCLHNDQUFvQjs7SUFDcEIscUNBQW1COztJQUNuQix3Q0FBc0I7O0lBQ3RCLGlDQUFtQjs7SUFDbkIsdUNBQStCOztJQUMvQixzQ0FBa0I7O0lBQ2xCLHFDQUFpQjs7SUFDakIsc0NBQWtCOztJQUNsQix1Q0FBbUI7O0lBQ25CLG9DQUFnQjs7SUFDaEIscUNBQWlCOztJQUNqQixzQ0FBa0I7O0lBQ2xCLHVDQUFtQjs7SUFDbkIsbUNBQWU7O0lBQ2YsZ0NBQVk7O0lBQ1osaUNBQWE7O0lBQ2IsbUNBQWU7O0lBQ2Ysa0NBQWM7O0lBQ2Qsa0NBQWM7O0lBQ2QsbUNBQWU7O0lBQ2Ysd0NBQW9COzs7OztJQUU0RSxpQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge2NhbmNlbFNjcm9sbCwgc2Nyb2xsfSBmcm9tICcuL2dyaWRzdGVyU2Nyb2xsLnNlcnZpY2UnO1xyXG5pbXBvcnQge0dyaWRzdGVyUmVzaXplRXZlbnRUeXBlfSBmcm9tICcuL2dyaWRzdGVyUmVzaXplRXZlbnRUeXBlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7R3JpZHN0ZXJQdXNofSBmcm9tICcuL2dyaWRzdGVyUHVzaC5zZXJ2aWNlJztcclxuaW1wb3J0IHtHcmlkc3RlclV0aWxzfSBmcm9tICcuL2dyaWRzdGVyVXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7R3JpZHN0ZXJQdXNoUmVzaXplfSBmcm9tICcuL2dyaWRzdGVyUHVzaFJlc2l6ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtHcmlkc3Rlckl0ZW1Db21wb25lbnRJbnRlcmZhY2V9IGZyb20gJy4vZ3JpZHN0ZXJJdGVtQ29tcG9uZW50LmludGVyZmFjZSc7XHJcbmltcG9ydCB7R3JpZHN0ZXJDb21wb25lbnRJbnRlcmZhY2V9IGZyb20gJy4vZ3JpZHN0ZXIuaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEdyaWRzdGVyUmVzaXphYmxlIHtcclxuICBncmlkc3Rlckl0ZW06IEdyaWRzdGVySXRlbUNvbXBvbmVudEludGVyZmFjZTtcclxuICBncmlkc3RlcjogR3JpZHN0ZXJDb21wb25lbnRJbnRlcmZhY2U7XHJcbiAgbGFzdE1vdXNlOiB7XHJcbiAgICBjbGllbnRYOiBudW1iZXIsXHJcbiAgICBjbGllbnRZOiBudW1iZXJcclxuICB9O1xyXG4gIGl0ZW1CYWNrdXA6IEFycmF5PG51bWJlcj47XHJcbiAgcmVzaXplRXZlbnRTY3JvbGxUeXBlOiBHcmlkc3RlclJlc2l6ZUV2ZW50VHlwZTtcclxuICBkaXJlY3Rpb25GdW5jdGlvbjogRnVuY3Rpb247XHJcbiAgZHJhZ0Z1bmN0aW9uOiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcclxuICBkcmFnU3RvcEZ1bmN0aW9uOiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcclxuICByZXNpemVFbmFibGVkOiBib29sZWFuO1xyXG4gIG1vdXNlbW92ZTogRnVuY3Rpb247XHJcbiAgbW91c2V1cDogRnVuY3Rpb247XHJcbiAgbW91c2VsZWF2ZTogRnVuY3Rpb247XHJcbiAgY2FuY2VsT25CbHVyOiBGdW5jdGlvbjtcclxuICB0b3VjaG1vdmU6IEZ1bmN0aW9uO1xyXG4gIHRvdWNoZW5kOiBGdW5jdGlvbjtcclxuICB0b3VjaGNhbmNlbDogRnVuY3Rpb247XHJcbiAgcHVzaDogR3JpZHN0ZXJQdXNoO1xyXG4gIHB1c2hSZXNpemU6IEdyaWRzdGVyUHVzaFJlc2l6ZTtcclxuICBtaW5IZWlnaHQ6IG51bWJlcjtcclxuICBtaW5XaWR0aDogbnVtYmVyO1xyXG4gIG9mZnNldFRvcDogbnVtYmVyO1xyXG4gIG9mZnNldExlZnQ6IG51bWJlcjtcclxuICBkaWZmVG9wOiBudW1iZXI7XHJcbiAgZGlmZkxlZnQ6IG51bWJlcjtcclxuICBkaWZmUmlnaHQ6IG51bWJlcjtcclxuICBkaWZmQm90dG9tOiBudW1iZXI7XHJcbiAgbWFyZ2luOiBudW1iZXI7XHJcbiAgdG9wOiBudW1iZXI7XHJcbiAgbGVmdDogbnVtYmVyO1xyXG4gIGJvdHRvbTogbnVtYmVyO1xyXG4gIHJpZ2h0OiBudW1iZXI7XHJcbiAgd2lkdGg6IG51bWJlcjtcclxuICBoZWlnaHQ6IG51bWJlcjtcclxuICBuZXdQb3NpdGlvbjogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihncmlkc3Rlckl0ZW06IEdyaWRzdGVySXRlbUNvbXBvbmVudEludGVyZmFjZSwgZ3JpZHN0ZXI6IEdyaWRzdGVyQ29tcG9uZW50SW50ZXJmYWNlLCBwcml2YXRlIHpvbmU6IE5nWm9uZSkge1xyXG4gICAgdGhpcy5ncmlkc3Rlckl0ZW0gPSBncmlkc3Rlckl0ZW07XHJcbiAgICB0aGlzLmdyaWRzdGVyID0gZ3JpZHN0ZXI7XHJcbiAgICB0aGlzLmxhc3RNb3VzZSA9IHtcclxuICAgICAgY2xpZW50WDogMCxcclxuICAgICAgY2xpZW50WTogMFxyXG4gICAgfTtcclxuICAgIHRoaXMuaXRlbUJhY2t1cCA9IFswLCAwLCAwLCAwXTtcclxuICAgIHRoaXMucmVzaXplRXZlbnRTY3JvbGxUeXBlID0ge3c6IGZhbHNlLCBlOiBmYWxzZSwgbjogZmFsc2UsIHM6IGZhbHNlfTtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci5wcmV2aWV3U3R5bGUpIHtcclxuICAgICAgdGhpcy5ncmlkc3Rlci5wcmV2aWV3U3R5bGUoKTtcclxuICAgIH1cclxuICAgIGRlbGV0ZSB0aGlzLmdyaWRzdGVySXRlbTtcclxuICAgIGRlbGV0ZSB0aGlzLmdyaWRzdGVyO1xyXG4gIH1cclxuXHJcbiAgZHJhZ1N0YXJ0KGU6IGFueSk6IHZvaWQge1xyXG4gICAgc3dpdGNoIChlLndoaWNoKSB7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICAvLyBsZWZ0IG1vdXNlIGJ1dHRvblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgIGNhc2UgMzpcclxuICAgICAgICAvLyByaWdodCBvciBtaWRkbGUgbW91c2UgYnV0dG9uXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZ3JpZHN0ZXIub3B0aW9ucy5yZXNpemFibGUgJiYgdGhpcy5ncmlkc3Rlci5vcHRpb25zLnJlc2l6YWJsZS5zdGFydCkge1xyXG4gICAgICB0aGlzLmdyaWRzdGVyLm9wdGlvbnMucmVzaXphYmxlLnN0YXJ0KHRoaXMuZ3JpZHN0ZXJJdGVtLml0ZW0sIHRoaXMuZ3JpZHN0ZXJJdGVtLCBlKTtcclxuICAgIH1cclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmRyYWdGdW5jdGlvbiA9IHRoaXMuZHJhZ01vdmUuYmluZCh0aGlzKTtcclxuICAgIHRoaXMuZHJhZ1N0b3BGdW5jdGlvbiA9IHRoaXMuZHJhZ1N0b3AuYmluZCh0aGlzKTtcclxuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIHRoaXMubW91c2Vtb3ZlID0gdGhpcy5ncmlkc3Rlckl0ZW0ucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdtb3VzZW1vdmUnLCB0aGlzLmRyYWdGdW5jdGlvbik7XHJcbiAgICAgIHRoaXMudG91Y2htb3ZlID0gdGhpcy5ncmlkc3Rlci5yZW5kZXJlci5saXN0ZW4odGhpcy5ncmlkc3Rlci5lbCwgJ3RvdWNobW92ZScsIHRoaXMuZHJhZ0Z1bmN0aW9uKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5tb3VzZXVwID0gdGhpcy5ncmlkc3Rlckl0ZW0ucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdtb3VzZXVwJywgdGhpcy5kcmFnU3RvcEZ1bmN0aW9uKTtcclxuICAgIHRoaXMubW91c2VsZWF2ZSA9IHRoaXMuZ3JpZHN0ZXJJdGVtLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnbW91c2VsZWF2ZScsIHRoaXMuZHJhZ1N0b3BGdW5jdGlvbik7XHJcbiAgICB0aGlzLmNhbmNlbE9uQmx1ciA9IHRoaXMuZ3JpZHN0ZXJJdGVtLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ2JsdXInLCB0aGlzLmRyYWdTdG9wRnVuY3Rpb24pO1xyXG4gICAgdGhpcy50b3VjaGVuZCA9IHRoaXMuZ3JpZHN0ZXJJdGVtLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAndG91Y2hlbmQnLCB0aGlzLmRyYWdTdG9wRnVuY3Rpb24pO1xyXG4gICAgdGhpcy50b3VjaGNhbmNlbCA9IHRoaXMuZ3JpZHN0ZXJJdGVtLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAndG91Y2hjYW5jZWwnLCB0aGlzLmRyYWdTdG9wRnVuY3Rpb24pO1xyXG5cclxuICAgIHRoaXMuZ3JpZHN0ZXJJdGVtLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZ3JpZHN0ZXJJdGVtLmVsLCAnZ3JpZHN0ZXItaXRlbS1yZXNpemluZycpO1xyXG4gICAgdGhpcy5sYXN0TW91c2UuY2xpZW50WCA9IGUuY2xpZW50WDtcclxuICAgIHRoaXMubGFzdE1vdXNlLmNsaWVudFkgPSBlLmNsaWVudFk7XHJcbiAgICB0aGlzLmxlZnQgPSB0aGlzLmdyaWRzdGVySXRlbS5sZWZ0O1xyXG4gICAgdGhpcy50b3AgPSB0aGlzLmdyaWRzdGVySXRlbS50b3A7XHJcbiAgICB0aGlzLndpZHRoID0gdGhpcy5ncmlkc3Rlckl0ZW0ud2lkdGg7XHJcbiAgICB0aGlzLmhlaWdodCA9IHRoaXMuZ3JpZHN0ZXJJdGVtLmhlaWdodDtcclxuICAgIHRoaXMuYm90dG9tID0gdGhpcy5ncmlkc3Rlckl0ZW0udG9wICsgdGhpcy5ncmlkc3Rlckl0ZW0uaGVpZ2h0O1xyXG4gICAgdGhpcy5yaWdodCA9IHRoaXMuZ3JpZHN0ZXJJdGVtLmxlZnQgKyB0aGlzLmdyaWRzdGVySXRlbS53aWR0aDtcclxuICAgIHRoaXMubWFyZ2luID0gdGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5tYXJnaW47XHJcbiAgICB0aGlzLm9mZnNldExlZnQgPSB0aGlzLmdyaWRzdGVyLmVsLnNjcm9sbExlZnQgLSB0aGlzLmdyaWRzdGVyLmVsLm9mZnNldExlZnQ7XHJcbiAgICB0aGlzLm9mZnNldFRvcCA9IHRoaXMuZ3JpZHN0ZXIuZWwuc2Nyb2xsVG9wIC0gdGhpcy5ncmlkc3Rlci5lbC5vZmZzZXRUb3A7XHJcbiAgICB0aGlzLmRpZmZMZWZ0ID0gZS5jbGllbnRYICsgdGhpcy5vZmZzZXRMZWZ0IC0gdGhpcy5sZWZ0O1xyXG4gICAgdGhpcy5kaWZmUmlnaHQgPSBlLmNsaWVudFggKyB0aGlzLm9mZnNldExlZnQgLSB0aGlzLnJpZ2h0O1xyXG4gICAgdGhpcy5kaWZmVG9wID0gZS5jbGllbnRZICsgdGhpcy5vZmZzZXRUb3AgLSB0aGlzLnRvcDtcclxuICAgIHRoaXMuZGlmZkJvdHRvbSA9IGUuY2xpZW50WSArIHRoaXMub2Zmc2V0VG9wIC0gdGhpcy5ib3R0b207XHJcbiAgICB0aGlzLm1pbkhlaWdodCA9IHRoaXMuZ3JpZHN0ZXIucG9zaXRpb25ZVG9QaXhlbHModGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0ubWluSXRlbVJvd3MgfHwgdGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5taW5JdGVtUm93cylcclxuICAgICAgLSB0aGlzLm1hcmdpbjtcclxuICAgIHRoaXMubWluV2lkdGggPSB0aGlzLmdyaWRzdGVyLnBvc2l0aW9uWFRvUGl4ZWxzKHRoaXMuZ3JpZHN0ZXJJdGVtLiRpdGVtLm1pbkl0ZW1Db2xzIHx8IHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMubWluSXRlbUNvbHMpXHJcbiAgICAgIC0gdGhpcy5tYXJnaW47XHJcbiAgICB0aGlzLmdyaWRzdGVyLm1vdmluZ0l0ZW0gPSB0aGlzLmdyaWRzdGVySXRlbS4kaXRlbTtcclxuICAgIHRoaXMuZ3JpZHN0ZXIucHJldmlld1N0eWxlKCk7XHJcbiAgICB0aGlzLnB1c2ggPSBuZXcgR3JpZHN0ZXJQdXNoKHRoaXMuZ3JpZHN0ZXJJdGVtKTtcclxuICAgIHRoaXMucHVzaFJlc2l6ZSA9IG5ldyBHcmlkc3RlclB1c2hSZXNpemUodGhpcy5ncmlkc3Rlckl0ZW0pO1xyXG4gICAgdGhpcy5ncmlkc3Rlci5kcmFnSW5Qcm9ncmVzcyA9IHRydWU7XHJcbiAgICB0aGlzLmdyaWRzdGVyLnVwZGF0ZUdyaWQoKTtcclxuXHJcbiAgICBpZiAoZS50YXJnZXQuaGFzQXR0cmlidXRlKCdjbGFzcycpICYmIGUudGFyZ2V0LmdldEF0dHJpYnV0ZSgnY2xhc3MnKS5zcGxpdCgnICcpLmluZGV4T2YoJ2hhbmRsZS1uJykgPiAtMSkge1xyXG4gICAgICB0aGlzLnJlc2l6ZUV2ZW50U2Nyb2xsVHlwZS5uID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kaXJlY3Rpb25GdW5jdGlvbiA9IHRoaXMuaGFuZGxlTjtcclxuICAgIH0gZWxzZSBpZiAoZS50YXJnZXQuaGFzQXR0cmlidXRlKCdjbGFzcycpICYmIGUudGFyZ2V0LmdldEF0dHJpYnV0ZSgnY2xhc3MnKS5zcGxpdCgnICcpLmluZGV4T2YoJ2hhbmRsZS13JykgPiAtMSkge1xyXG4gICAgICB0aGlzLnJlc2l6ZUV2ZW50U2Nyb2xsVHlwZS53ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kaXJlY3Rpb25GdW5jdGlvbiA9IHRoaXMuaGFuZGxlVztcclxuICAgIH0gZWxzZSBpZiAoZS50YXJnZXQuaGFzQXR0cmlidXRlKCdjbGFzcycpICYmIGUudGFyZ2V0LmdldEF0dHJpYnV0ZSgnY2xhc3MnKS5zcGxpdCgnICcpLmluZGV4T2YoJ2hhbmRsZS1zJykgPiAtMSkge1xyXG4gICAgICB0aGlzLnJlc2l6ZUV2ZW50U2Nyb2xsVHlwZS5zID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kaXJlY3Rpb25GdW5jdGlvbiA9IHRoaXMuaGFuZGxlUztcclxuICAgIH0gZWxzZSBpZiAoZS50YXJnZXQuaGFzQXR0cmlidXRlKCdjbGFzcycpICYmIGUudGFyZ2V0LmdldEF0dHJpYnV0ZSgnY2xhc3MnKS5zcGxpdCgnICcpLmluZGV4T2YoJ2hhbmRsZS1lJykgPiAtMSkge1xyXG4gICAgICB0aGlzLnJlc2l6ZUV2ZW50U2Nyb2xsVHlwZS5lID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kaXJlY3Rpb25GdW5jdGlvbiA9IHRoaXMuaGFuZGxlRTtcclxuICAgIH0gZWxzZSBpZiAoZS50YXJnZXQuaGFzQXR0cmlidXRlKCdjbGFzcycpICYmIGUudGFyZ2V0LmdldEF0dHJpYnV0ZSgnY2xhc3MnKS5zcGxpdCgnICcpLmluZGV4T2YoJ2hhbmRsZS1udycpID4gLTEpIHtcclxuICAgICAgdGhpcy5yZXNpemVFdmVudFNjcm9sbFR5cGUubiA9IHRydWU7XHJcbiAgICAgIHRoaXMucmVzaXplRXZlbnRTY3JvbGxUeXBlLncgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRpcmVjdGlvbkZ1bmN0aW9uID0gdGhpcy5oYW5kbGVOVztcclxuICAgIH0gZWxzZSBpZiAoZS50YXJnZXQuaGFzQXR0cmlidXRlKCdjbGFzcycpICYmIGUudGFyZ2V0LmdldEF0dHJpYnV0ZSgnY2xhc3MnKS5zcGxpdCgnICcpLmluZGV4T2YoJ2hhbmRsZS1uZScpID4gLTEpIHtcclxuICAgICAgdGhpcy5yZXNpemVFdmVudFNjcm9sbFR5cGUubiA9IHRydWU7XHJcbiAgICAgIHRoaXMucmVzaXplRXZlbnRTY3JvbGxUeXBlLmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRpcmVjdGlvbkZ1bmN0aW9uID0gdGhpcy5oYW5kbGVORTtcclxuICAgIH0gZWxzZSBpZiAoZS50YXJnZXQuaGFzQXR0cmlidXRlKCdjbGFzcycpICYmIGUudGFyZ2V0LmdldEF0dHJpYnV0ZSgnY2xhc3MnKS5zcGxpdCgnICcpLmluZGV4T2YoJ2hhbmRsZS1zdycpID4gLTEpIHtcclxuICAgICAgdGhpcy5yZXNpemVFdmVudFNjcm9sbFR5cGUucyA9IHRydWU7XHJcbiAgICAgIHRoaXMucmVzaXplRXZlbnRTY3JvbGxUeXBlLncgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRpcmVjdGlvbkZ1bmN0aW9uID0gdGhpcy5oYW5kbGVTVztcclxuICAgIH0gZWxzZSBpZiAoZS50YXJnZXQuaGFzQXR0cmlidXRlKCdjbGFzcycpICYmIGUudGFyZ2V0LmdldEF0dHJpYnV0ZSgnY2xhc3MnKS5zcGxpdCgnICcpLmluZGV4T2YoJ2hhbmRsZS1zZScpID4gLTEpIHtcclxuICAgICAgdGhpcy5yZXNpemVFdmVudFNjcm9sbFR5cGUucyA9IHRydWU7XHJcbiAgICAgIHRoaXMucmVzaXplRXZlbnRTY3JvbGxUeXBlLmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRpcmVjdGlvbkZ1bmN0aW9uID0gdGhpcy5oYW5kbGVTRTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRyYWdNb3ZlKGU6IGFueSk6IHZvaWQge1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIEdyaWRzdGVyVXRpbHMuY2hlY2tUb3VjaEV2ZW50KGUpO1xyXG4gICAgdGhpcy5vZmZzZXRUb3AgPSB0aGlzLmdyaWRzdGVyLmVsLnNjcm9sbFRvcCAtIHRoaXMuZ3JpZHN0ZXIuZWwub2Zmc2V0VG9wO1xyXG4gICAgdGhpcy5vZmZzZXRMZWZ0ID0gdGhpcy5ncmlkc3Rlci5lbC5zY3JvbGxMZWZ0IC0gdGhpcy5ncmlkc3Rlci5lbC5vZmZzZXRMZWZ0O1xyXG4gICAgc2Nyb2xsKHRoaXMuZ3JpZHN0ZXIsIHRoaXMubGVmdCwgdGhpcy50b3AsIHRoaXMud2lkdGgsIHRoaXMuaGVpZ2h0LCBlLCB0aGlzLmxhc3RNb3VzZSwgdGhpcy5kaXJlY3Rpb25GdW5jdGlvbi5iaW5kKHRoaXMpLCB0cnVlLFxyXG4gICAgICB0aGlzLnJlc2l6ZUV2ZW50U2Nyb2xsVHlwZSk7XHJcbiAgICB0aGlzLmRpcmVjdGlvbkZ1bmN0aW9uKGUpO1xyXG5cclxuICAgIHRoaXMubGFzdE1vdXNlLmNsaWVudFggPSBlLmNsaWVudFg7XHJcbiAgICB0aGlzLmxhc3RNb3VzZS5jbGllbnRZID0gZS5jbGllbnRZO1xyXG4gICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgIHRoaXMuZ3JpZHN0ZXIudXBkYXRlR3JpZCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkcmFnU3RvcChlOiBhbnkpOiB2b2lkIHtcclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBjYW5jZWxTY3JvbGwoKTtcclxuICAgIHRoaXMubW91c2Vtb3ZlKCk7XHJcbiAgICB0aGlzLm1vdXNldXAoKTtcclxuICAgIHRoaXMubW91c2VsZWF2ZSgpO1xyXG4gICAgdGhpcy5jYW5jZWxPbkJsdXIoKTtcclxuICAgIHRoaXMudG91Y2htb3ZlKCk7XHJcbiAgICB0aGlzLnRvdWNoZW5kKCk7XHJcbiAgICB0aGlzLnRvdWNoY2FuY2VsKCk7XHJcbiAgICB0aGlzLmdyaWRzdGVyLmRyYWdJblByb2dyZXNzID0gZmFsc2U7XHJcbiAgICB0aGlzLmdyaWRzdGVyLnVwZGF0ZUdyaWQoKTtcclxuICAgIGlmICh0aGlzLmdyaWRzdGVyLm9wdGlvbnMucmVzaXphYmxlICYmIHRoaXMuZ3JpZHN0ZXIub3B0aW9ucy5yZXNpemFibGUuc3RvcCkge1xyXG4gICAgICBQcm9taXNlLnJlc29sdmUodGhpcy5ncmlkc3Rlci5vcHRpb25zLnJlc2l6YWJsZS5zdG9wKHRoaXMuZ3JpZHN0ZXJJdGVtLml0ZW0sIHRoaXMuZ3JpZHN0ZXJJdGVtLCBlKSlcclxuICAgICAgICAudGhlbih0aGlzLm1ha2VSZXNpemUuYmluZCh0aGlzKSwgdGhpcy5jYW5jZWxSZXNpemUuYmluZCh0aGlzKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1ha2VSZXNpemUoKTtcclxuICAgIH1cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmdyaWRzdGVySXRlbS5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmdyaWRzdGVySXRlbS5lbCwgJ2dyaWRzdGVyLWl0ZW0tcmVzaXppbmcnKTtcclxuICAgICAgaWYgKHRoaXMuZ3JpZHN0ZXIpIHtcclxuICAgICAgICB0aGlzLmdyaWRzdGVyLm1vdmluZ0l0ZW0gPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZ3JpZHN0ZXIucHJldmlld1N0eWxlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsUmVzaXplKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0uY29scyA9IHRoaXMuZ3JpZHN0ZXJJdGVtLml0ZW0uY29scyB8fCAxO1xyXG4gICAgdGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0ucm93cyA9IHRoaXMuZ3JpZHN0ZXJJdGVtLml0ZW0ucm93cyB8fCAxO1xyXG4gICAgdGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0ueCA9IHRoaXMuZ3JpZHN0ZXJJdGVtLml0ZW0ueCB8fCAwO1xyXG4gICAgdGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0ueSA9IHRoaXMuZ3JpZHN0ZXJJdGVtLml0ZW0ueSB8fCAwO1xyXG4gICAgdGhpcy5ncmlkc3Rlckl0ZW0uc2V0U2l6ZSgpO1xyXG4gICAgdGhpcy5wdXNoLnJlc3RvcmVJdGVtcygpO1xyXG4gICAgdGhpcy5wdXNoUmVzaXplLnJlc3RvcmVJdGVtcygpO1xyXG4gICAgdGhpcy5wdXNoLmRlc3Ryb3koKTtcclxuICAgIGRlbGV0ZSB0aGlzLnB1c2g7XHJcbiAgICB0aGlzLnB1c2hSZXNpemUuZGVzdHJveSgpO1xyXG4gICAgZGVsZXRlIHRoaXMucHVzaFJlc2l6ZTtcclxuICB9XHJcblxyXG4gIG1ha2VSZXNpemUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyaWRzdGVySXRlbS5zZXRTaXplKCk7XHJcbiAgICB0aGlzLmdyaWRzdGVySXRlbS5jaGVja0l0ZW1DaGFuZ2VzKHRoaXMuZ3JpZHN0ZXJJdGVtLiRpdGVtLCB0aGlzLmdyaWRzdGVySXRlbS5pdGVtKTtcclxuICAgIHRoaXMucHVzaC5zZXRQdXNoZWRJdGVtcygpO1xyXG4gICAgdGhpcy5wdXNoUmVzaXplLnNldFB1c2hlZEl0ZW1zKCk7XHJcbiAgICB0aGlzLnB1c2guZGVzdHJveSgpO1xyXG4gICAgZGVsZXRlIHRoaXMucHVzaDtcclxuICAgIHRoaXMucHVzaFJlc2l6ZS5kZXN0cm95KCk7XHJcbiAgICBkZWxldGUgdGhpcy5wdXNoUmVzaXplO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlTihlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudG9wID0gZS5jbGllbnRZICsgdGhpcy5vZmZzZXRUb3AgLSB0aGlzLmRpZmZUb3A7XHJcbiAgICB0aGlzLmhlaWdodCA9IHRoaXMuYm90dG9tIC0gdGhpcy50b3A7XHJcbiAgICBpZiAodGhpcy5taW5IZWlnaHQgPiB0aGlzLmhlaWdodCkge1xyXG4gICAgICB0aGlzLmhlaWdodCA9IHRoaXMubWluSGVpZ2h0O1xyXG4gICAgICB0aGlzLnRvcCA9IHRoaXMuYm90dG9tIC0gdGhpcy5taW5IZWlnaHQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLm5ld1Bvc2l0aW9uID0gdGhpcy5ncmlkc3Rlci5waXhlbHNUb1Bvc2l0aW9uWSh0aGlzLnRvcCArIHRoaXMubWFyZ2luLCBNYXRoLmZsb29yKTtcclxuICAgIGlmICh0aGlzLmdyaWRzdGVySXRlbS4kaXRlbS55ICE9PSB0aGlzLm5ld1Bvc2l0aW9uKSB7XHJcbiAgICAgIHRoaXMuaXRlbUJhY2t1cFsxXSA9IHRoaXMuZ3JpZHN0ZXJJdGVtLiRpdGVtLnk7XHJcbiAgICAgIHRoaXMuaXRlbUJhY2t1cFszXSA9IHRoaXMuZ3JpZHN0ZXJJdGVtLiRpdGVtLnJvd3M7XHJcbiAgICAgIHRoaXMuZ3JpZHN0ZXJJdGVtLiRpdGVtLnJvd3MgKz0gdGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0ueSAtIHRoaXMubmV3UG9zaXRpb247XHJcbiAgICAgIHRoaXMuZ3JpZHN0ZXJJdGVtLiRpdGVtLnkgPSB0aGlzLm5ld1Bvc2l0aW9uO1xyXG4gICAgICB0aGlzLnB1c2hSZXNpemUucHVzaEl0ZW1zKHRoaXMucHVzaFJlc2l6ZS5mcm9tU291dGgpO1xyXG4gICAgICB0aGlzLnB1c2gucHVzaEl0ZW1zKHRoaXMucHVzaC5mcm9tU291dGgsIHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMuZGlzYWJsZVB1c2hPblJlc2l6ZSk7XHJcbiAgICAgIGlmICh0aGlzLmdyaWRzdGVyLmNoZWNrQ29sbGlzaW9uKHRoaXMuZ3JpZHN0ZXJJdGVtLiRpdGVtKSkge1xyXG4gICAgICAgIHRoaXMuZ3JpZHN0ZXJJdGVtLiRpdGVtLnkgPSB0aGlzLml0ZW1CYWNrdXBbMV07XHJcbiAgICAgICAgdGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0ucm93cyA9IHRoaXMuaXRlbUJhY2t1cFszXTtcclxuICAgICAgICB0aGlzLnNldEl0ZW1Ub3AodGhpcy5ncmlkc3Rlci5wb3NpdGlvbllUb1BpeGVscyh0aGlzLmdyaWRzdGVySXRlbS4kaXRlbS55KSk7XHJcbiAgICAgICAgdGhpcy5zZXRJdGVtSGVpZ2h0KHRoaXMuZ3JpZHN0ZXIucG9zaXRpb25ZVG9QaXhlbHModGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0ucm93cykgLSB0aGlzLm1hcmdpbik7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZ3JpZHN0ZXIucHJldmlld1N0eWxlKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5wdXNoUmVzaXplLmNoZWNrUHVzaEJhY2soKTtcclxuICAgICAgdGhpcy5wdXNoLmNoZWNrUHVzaEJhY2soKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0SXRlbVRvcCh0aGlzLnRvcCk7XHJcbiAgICB0aGlzLnNldEl0ZW1IZWlnaHQodGhpcy5oZWlnaHQpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlVyhlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMubGVmdCA9IGUuY2xpZW50WCArIHRoaXMub2Zmc2V0TGVmdCAtIHRoaXMuZGlmZkxlZnQ7XHJcbiAgICB0aGlzLndpZHRoID0gdGhpcy5yaWdodCAtIHRoaXMubGVmdDtcclxuICAgIGlmICh0aGlzLm1pbldpZHRoID4gdGhpcy53aWR0aCkge1xyXG4gICAgICB0aGlzLndpZHRoID0gdGhpcy5taW5XaWR0aDtcclxuICAgICAgdGhpcy5sZWZ0ID0gdGhpcy5yaWdodCAtIHRoaXMubWluV2lkdGg7XHJcbiAgICB9XHJcbiAgICB0aGlzLm5ld1Bvc2l0aW9uID0gdGhpcy5ncmlkc3Rlci5waXhlbHNUb1Bvc2l0aW9uWCh0aGlzLmxlZnQgKyB0aGlzLm1hcmdpbiwgTWF0aC5mbG9vcik7XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0ueCAhPT0gdGhpcy5uZXdQb3NpdGlvbikge1xyXG4gICAgICB0aGlzLml0ZW1CYWNrdXBbMF0gPSB0aGlzLmdyaWRzdGVySXRlbS4kaXRlbS54O1xyXG4gICAgICB0aGlzLml0ZW1CYWNrdXBbMl0gPSB0aGlzLmdyaWRzdGVySXRlbS4kaXRlbS5jb2xzO1xyXG4gICAgICB0aGlzLmdyaWRzdGVySXRlbS4kaXRlbS5jb2xzICs9IHRoaXMuZ3JpZHN0ZXJJdGVtLiRpdGVtLnggLSB0aGlzLm5ld1Bvc2l0aW9uO1xyXG4gICAgICB0aGlzLmdyaWRzdGVySXRlbS4kaXRlbS54ID0gdGhpcy5uZXdQb3NpdGlvbjtcclxuICAgICAgdGhpcy5wdXNoUmVzaXplLnB1c2hJdGVtcyh0aGlzLnB1c2hSZXNpemUuZnJvbUVhc3QpO1xyXG4gICAgICB0aGlzLnB1c2gucHVzaEl0ZW1zKHRoaXMucHVzaC5mcm9tRWFzdCwgdGhpcy5ncmlkc3Rlci4kb3B0aW9ucy5kaXNhYmxlUHVzaE9uUmVzaXplKTtcclxuICAgICAgaWYgKHRoaXMuZ3JpZHN0ZXIuY2hlY2tDb2xsaXNpb24odGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0pKSB7XHJcbiAgICAgICAgdGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0ueCA9IHRoaXMuaXRlbUJhY2t1cFswXTtcclxuICAgICAgICB0aGlzLmdyaWRzdGVySXRlbS4kaXRlbS5jb2xzID0gdGhpcy5pdGVtQmFja3VwWzJdO1xyXG4gICAgICAgIHRoaXMuc2V0SXRlbUxlZnQodGhpcy5ncmlkc3Rlci5wb3NpdGlvblhUb1BpeGVscyh0aGlzLmdyaWRzdGVySXRlbS4kaXRlbS54KSk7XHJcbiAgICAgICAgdGhpcy5zZXRJdGVtV2lkdGgodGhpcy5ncmlkc3Rlci5wb3NpdGlvblhUb1BpeGVscyh0aGlzLmdyaWRzdGVySXRlbS4kaXRlbS5jb2xzKSAtIHRoaXMubWFyZ2luKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ncmlkc3Rlci5wcmV2aWV3U3R5bGUoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnB1c2hSZXNpemUuY2hlY2tQdXNoQmFjaygpO1xyXG4gICAgICB0aGlzLnB1c2guY2hlY2tQdXNoQmFjaygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRJdGVtTGVmdCh0aGlzLmxlZnQpO1xyXG4gICAgdGhpcy5zZXRJdGVtV2lkdGgodGhpcy53aWR0aCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTKGU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5oZWlnaHQgPSBlLmNsaWVudFkgKyB0aGlzLm9mZnNldFRvcCAtIHRoaXMuZGlmZkJvdHRvbSAtIHRoaXMudG9wO1xyXG4gICAgaWYgKHRoaXMubWluSGVpZ2h0ID4gdGhpcy5oZWlnaHQpIHtcclxuICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLm1pbkhlaWdodDtcclxuICAgIH1cclxuICAgIHRoaXMuYm90dG9tID0gdGhpcy50b3AgKyB0aGlzLmhlaWdodDtcclxuICAgIHRoaXMubmV3UG9zaXRpb24gPSB0aGlzLmdyaWRzdGVyLnBpeGVsc1RvUG9zaXRpb25ZKHRoaXMuYm90dG9tLCBNYXRoLmNlaWwpO1xyXG4gICAgaWYgKCh0aGlzLmdyaWRzdGVySXRlbS4kaXRlbS55ICsgdGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0ucm93cykgIT09IHRoaXMubmV3UG9zaXRpb24pIHtcclxuICAgICAgdGhpcy5pdGVtQmFja3VwWzNdID0gdGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0ucm93cztcclxuICAgICAgdGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0ucm93cyA9IHRoaXMubmV3UG9zaXRpb24gLSB0aGlzLmdyaWRzdGVySXRlbS4kaXRlbS55O1xyXG4gICAgICB0aGlzLnB1c2hSZXNpemUucHVzaEl0ZW1zKHRoaXMucHVzaFJlc2l6ZS5mcm9tTm9ydGgpO1xyXG4gICAgICB0aGlzLnB1c2gucHVzaEl0ZW1zKHRoaXMucHVzaC5mcm9tTm9ydGgsIHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMuZGlzYWJsZVB1c2hPblJlc2l6ZSk7XHJcbiAgICAgIGlmICh0aGlzLmdyaWRzdGVyLmNoZWNrQ29sbGlzaW9uKHRoaXMuZ3JpZHN0ZXJJdGVtLiRpdGVtKSkge1xyXG4gICAgICAgIHRoaXMuZ3JpZHN0ZXJJdGVtLiRpdGVtLnJvd3MgPSB0aGlzLml0ZW1CYWNrdXBbM107XHJcbiAgICAgICAgdGhpcy5zZXRJdGVtSGVpZ2h0KHRoaXMuZ3JpZHN0ZXIucG9zaXRpb25ZVG9QaXhlbHModGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0ucm93cykgLSB0aGlzLm1hcmdpbik7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZ3JpZHN0ZXIucHJldmlld1N0eWxlKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5wdXNoUmVzaXplLmNoZWNrUHVzaEJhY2soKTtcclxuICAgICAgdGhpcy5wdXNoLmNoZWNrUHVzaEJhY2soKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0SXRlbUhlaWdodCh0aGlzLmhlaWdodCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVFKGU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy53aWR0aCA9IGUuY2xpZW50WCArIHRoaXMub2Zmc2V0TGVmdCAtIHRoaXMuZGlmZlJpZ2h0IC0gdGhpcy5sZWZ0O1xyXG4gICAgaWYgKHRoaXMubWluV2lkdGggPiB0aGlzLndpZHRoKSB7XHJcbiAgICAgIHRoaXMud2lkdGggPSB0aGlzLm1pbldpZHRoO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yaWdodCA9IHRoaXMubGVmdCArIHRoaXMud2lkdGg7XHJcbiAgICB0aGlzLm5ld1Bvc2l0aW9uID0gdGhpcy5ncmlkc3Rlci5waXhlbHNUb1Bvc2l0aW9uWCh0aGlzLnJpZ2h0LCBNYXRoLmNlaWwpO1xyXG4gICAgaWYgKCh0aGlzLmdyaWRzdGVySXRlbS4kaXRlbS54ICsgdGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0uY29scykgIT09IHRoaXMubmV3UG9zaXRpb24pIHtcclxuICAgICAgdGhpcy5pdGVtQmFja3VwWzJdID0gdGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0uY29scztcclxuICAgICAgdGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0uY29scyA9IHRoaXMubmV3UG9zaXRpb24gLSB0aGlzLmdyaWRzdGVySXRlbS4kaXRlbS54O1xyXG4gICAgICB0aGlzLnB1c2hSZXNpemUucHVzaEl0ZW1zKHRoaXMucHVzaFJlc2l6ZS5mcm9tV2VzdCk7XHJcbiAgICAgIHRoaXMucHVzaC5wdXNoSXRlbXModGhpcy5wdXNoLmZyb21XZXN0LCB0aGlzLmdyaWRzdGVyLiRvcHRpb25zLmRpc2FibGVQdXNoT25SZXNpemUpO1xyXG4gICAgICBpZiAodGhpcy5ncmlkc3Rlci5jaGVja0NvbGxpc2lvbih0aGlzLmdyaWRzdGVySXRlbS4kaXRlbSkpIHtcclxuICAgICAgICB0aGlzLmdyaWRzdGVySXRlbS4kaXRlbS5jb2xzID0gdGhpcy5pdGVtQmFja3VwWzJdO1xyXG4gICAgICAgIHRoaXMuc2V0SXRlbVdpZHRoKHRoaXMuZ3JpZHN0ZXIucG9zaXRpb25YVG9QaXhlbHModGhpcy5ncmlkc3Rlckl0ZW0uJGl0ZW0uY29scykgLSB0aGlzLm1hcmdpbik7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZ3JpZHN0ZXIucHJldmlld1N0eWxlKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5wdXNoUmVzaXplLmNoZWNrUHVzaEJhY2soKTtcclxuICAgICAgdGhpcy5wdXNoLmNoZWNrUHVzaEJhY2soKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0SXRlbVdpZHRoKHRoaXMud2lkdGgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlTlcoZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmhhbmRsZU4oZSk7XHJcbiAgICB0aGlzLmhhbmRsZVcoZSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVORShlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuaGFuZGxlTihlKTtcclxuICAgIHRoaXMuaGFuZGxlRShlKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVNXKGU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5oYW5kbGVTKGUpO1xyXG4gICAgdGhpcy5oYW5kbGVXKGUpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU0UoZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmhhbmRsZVMoZSk7XHJcbiAgICB0aGlzLmhhbmRsZUUoZSk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlc2l6ZUVuYWJsZWQgPSB0aGlzLmdyaWRzdGVySXRlbS5jYW5CZVJlc2l6ZWQoKTtcclxuICB9XHJcblxyXG4gIGRyYWdTdGFydERlbGF5KGU6IGFueSk6IHZvaWQge1xyXG4gICAgR3JpZHN0ZXJVdGlscy5jaGVja1RvdWNoRXZlbnQoZSk7XHJcbiAgICBpZiAoIXRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMucmVzaXphYmxlLmRlbGF5U3RhcnQpIHtcclxuICAgICAgdGhpcy5kcmFnU3RhcnQoZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5kcmFnU3RhcnQoZSk7XHJcbiAgICAgIGNhbmNlbERyYWcoKTtcclxuICAgIH0sIHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMucmVzaXphYmxlLmRlbGF5U3RhcnQpO1xyXG4gICAgY29uc3QgY2FuY2VsTW91c2UgPSB0aGlzLmdyaWRzdGVySXRlbS5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ21vdXNldXAnLCBjYW5jZWxEcmFnKTtcclxuICAgIGNvbnN0IGNhbmNlbE1vdXNlTGVhdmUgPSB0aGlzLmdyaWRzdGVySXRlbS5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ21vdXNlbGVhdmUnLCBjYW5jZWxEcmFnKTtcclxuICAgIGNvbnN0IGNhbmNlbE9uQmx1ciA9IHRoaXMuZ3JpZHN0ZXJJdGVtLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ2JsdXInLCBjYW5jZWxEcmFnKTtcclxuICAgIGNvbnN0IGNhbmNlbFRvdWNoTW92ZSA9IHRoaXMuZ3JpZHN0ZXJJdGVtLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAndG91Y2htb3ZlJywgY2FuY2VsTW92ZSk7XHJcbiAgICBjb25zdCBjYW5jZWxUb3VjaEVuZCA9IHRoaXMuZ3JpZHN0ZXJJdGVtLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAndG91Y2hlbmQnLCBjYW5jZWxEcmFnKTtcclxuICAgIGNvbnN0IGNhbmNlbFRvdWNoQ2FuY2VsID0gdGhpcy5ncmlkc3Rlckl0ZW0ucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICd0b3VjaGNhbmNlbCcsIGNhbmNlbERyYWcpO1xyXG5cclxuICAgIGZ1bmN0aW9uIGNhbmNlbE1vdmUoZXZlbnRNb3ZlOiBhbnkpIHtcclxuICAgICAgR3JpZHN0ZXJVdGlscy5jaGVja1RvdWNoRXZlbnQoZXZlbnRNb3ZlKTtcclxuICAgICAgaWYgKE1hdGguYWJzKGV2ZW50TW92ZS5jbGllbnRYIC0gZS5jbGllbnRYKSA+IDkgfHwgTWF0aC5hYnMoZXZlbnRNb3ZlLmNsaWVudFkgLSBlLmNsaWVudFkpID4gOSkge1xyXG4gICAgICAgIGNhbmNlbERyYWcoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZ1bmN0aW9uIGNhbmNlbERyYWcoKSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcclxuICAgICAgY2FuY2VsT25CbHVyKCk7XHJcbiAgICAgIGNhbmNlbE1vdXNlKCk7XHJcbiAgICAgIGNhbmNlbE1vdXNlTGVhdmUoKTtcclxuICAgICAgY2FuY2VsVG91Y2hNb3ZlKCk7XHJcbiAgICAgIGNhbmNlbFRvdWNoRW5kKCk7XHJcbiAgICAgIGNhbmNlbFRvdWNoQ2FuY2VsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRJdGVtVG9wKHRvcDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyaWRzdGVyLmdyaWRSZW5kZXJlci5zZXRDZWxsUG9zaXRpb24odGhpcy5ncmlkc3Rlckl0ZW0ucmVuZGVyZXIsIHRoaXMuZ3JpZHN0ZXJJdGVtLmVsLCB0aGlzLmxlZnQsIHRvcCk7XHJcbiAgfVxyXG5cclxuICBzZXRJdGVtTGVmdChsZWZ0OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JpZHN0ZXIuZ3JpZFJlbmRlcmVyLnNldENlbGxQb3NpdGlvbih0aGlzLmdyaWRzdGVySXRlbS5yZW5kZXJlciwgdGhpcy5ncmlkc3Rlckl0ZW0uZWwsIGxlZnQsIHRoaXMudG9wKTtcclxuICB9XHJcblxyXG4gIHNldEl0ZW1IZWlnaHQoaGVpZ2h0OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JpZHN0ZXJJdGVtLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZ3JpZHN0ZXJJdGVtLmVsLCAnaGVpZ2h0JywgaGVpZ2h0ICsgJ3B4Jyk7XHJcbiAgfVxyXG5cclxuICBzZXRJdGVtV2lkdGgod2lkdGg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5ncmlkc3Rlckl0ZW0ucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ncmlkc3Rlckl0ZW0uZWwsICd3aWR0aCcsIHdpZHRoICsgJ3B4Jyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /**
6
+ * @record
7
+ */
8
+ export function GridsterResizeEventType() { }
9
+ if (false) {
10
+ /** @type {?} */
11
+ GridsterResizeEventType.prototype.n;
12
+ /** @type {?} */
13
+ GridsterResizeEventType.prototype.s;
14
+ /** @type {?} */
15
+ GridsterResizeEventType.prototype.w;
16
+ /** @type {?} */
17
+ GridsterResizeEventType.prototype.e;
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZHN0ZXJSZXNpemVFdmVudFR5cGUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNjaG5laWRlcmVzcy9kYXNoYm9hcmRmcmFtZXdvcmsvIiwic291cmNlcyI6WyJncmlkc3Rlci9saWIvZ3JpZHN0ZXJSZXNpemVFdmVudFR5cGUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSw2Q0FLQzs7O0lBSkMsb0NBQVc7O0lBQ1gsb0NBQVc7O0lBQ1gsb0NBQVc7O0lBQ1gsb0NBQVciLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEdyaWRzdGVyUmVzaXplRXZlbnRUeXBlIHtcclxuICBuOiBib29sZWFuO1xyXG4gIHM6IGJvb2xlYW47XHJcbiAgdzogYm9vbGVhbjtcclxuICBlOiBib29sZWFuO1xyXG59XHJcbiJdfQ==