@kaspernj/api-maker 1.0.2139 → 1.0.2141

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 (94) hide show
  1. package/build/api.js +2 -2
  2. package/build/base-error.d.ts +112 -1
  3. package/build/base-error.d.ts.map +1 -1
  4. package/build/base-model.d.ts +328 -0
  5. package/build/base-model.d.ts.map +1 -0
  6. package/build/base-model.js +40 -53
  7. package/build/bootstrap/card.js +2 -2
  8. package/build/bootstrap/checkboxes.js +3 -3
  9. package/build/collection.d.ts +671 -5
  10. package/build/collection.d.ts.map +1 -1
  11. package/build/config.d.ts +8 -0
  12. package/build/config.d.ts.map +1 -1
  13. package/build/config.js +9 -1
  14. package/build/devise.d.ts.map +1 -1
  15. package/build/devise.js +18 -23
  16. package/build/draggable-sort/index.js +5 -1
  17. package/build/draggable-sort/item.js +7 -1
  18. package/build/inputs/input.js +3 -3
  19. package/build/inputs/money.js +5 -5
  20. package/build/link.js +4 -4
  21. package/build/model-class-require.d.ts +2 -2
  22. package/build/model-class-require.d.ts.map +1 -1
  23. package/build/model-class-require.js +2 -2
  24. package/build/model-events.d.ts +336 -3
  25. package/build/model-events.d.ts.map +1 -1
  26. package/build/model-recipes-model-loader.d.ts +1357 -67
  27. package/build/model-recipes-model-loader.d.ts.map +1 -1
  28. package/build/models-response-reader.d.ts +336 -3
  29. package/build/models-response-reader.d.ts.map +1 -1
  30. package/build/models.d.ts +1 -1
  31. package/build/models.d.ts.map +1 -1
  32. package/build/models.js +2 -1
  33. package/build/preloaded.d.ts +112 -1
  34. package/build/preloaded.d.ts.map +1 -1
  35. package/build/result.d.ts +336 -3
  36. package/build/result.d.ts.map +1 -1
  37. package/build/router/switch.d.ts +1 -1
  38. package/build/router/switch.d.ts.map +1 -1
  39. package/build/router/switch.js +2 -2
  40. package/build/routes-native.d.ts.map +1 -1
  41. package/build/routes-native.js +4 -3
  42. package/build/services.d.ts +2 -2
  43. package/build/services.d.ts.map +1 -1
  44. package/build/services.js +2 -2
  45. package/build/super-admin/config-reader.js +2 -2
  46. package/build/super-admin/edit-page/edit-attribute.js +2 -1
  47. package/build/super-admin/layout/header/index.js +6 -5
  48. package/build/super-admin/layout/index.js +6 -4
  49. package/build/super-admin/layout/menu/index.js +2 -2
  50. package/build/super-admin/models.d.ts.map +1 -1
  51. package/build/super-admin/models.js +2 -1
  52. package/build/table/column-content.d.ts +11 -2
  53. package/build/table/column-content.d.ts.map +1 -1
  54. package/build/table/column-content.js +10 -1
  55. package/build/table/components/flat-list.js +2 -2
  56. package/build/table/filters/filter-form.js +2 -2
  57. package/build/table/filters/index.js +2 -1
  58. package/build/table/filters/load-search-modal.js +4 -3
  59. package/build/table/filters/save-search-modal.js +2 -2
  60. package/build/table/settings/column-row.js +3 -3
  61. package/build/table/settings/download-action.js +2 -1
  62. package/build/table/settings/index.js +2 -2
  63. package/build/table/table.js +13 -12
  64. package/build/table/use-sorting.d.ts +2 -2
  65. package/build/table/use-sorting.d.ts.map +1 -1
  66. package/build/table/use-sorting.js +2 -2
  67. package/build/table/worker-plugins-check-all-checkbox.js +4 -4
  68. package/build/table/worker-plugins-checkbox.js +2 -2
  69. package/build/use-collection.d.ts +112 -1
  70. package/build/use-collection.d.ts.map +1 -1
  71. package/build/use-current-user.d.ts +113 -2
  72. package/build/use-current-user.d.ts.map +1 -1
  73. package/build/use-current-user.js +2 -2
  74. package/build/use-input.d.ts +8 -23
  75. package/build/use-input.d.ts.map +1 -1
  76. package/build/use-input.js +6 -12
  77. package/build/use-model.d.ts +112 -1
  78. package/build/use-model.d.ts.map +1 -1
  79. package/build/use-router.js +2 -2
  80. package/build/use-updated-event.d.ts +225 -3
  81. package/build/use-updated-event.d.ts.map +1 -1
  82. package/build/use-updated-event.js +2 -2
  83. package/build/utils/checkbox.js +2 -1
  84. package/build/utils/checkboxes.js +3 -3
  85. package/build/utils/default-style.d.ts +2 -4
  86. package/build/utils/default-style.d.ts.map +1 -1
  87. package/build/utils/default-style.js +4 -3
  88. package/build/utils/header.d.ts +1 -1
  89. package/build/utils/header.js +2 -2
  90. package/build/utils/text.js +2 -2
  91. package/build/with-api-maker.js +2 -2
  92. package/build/with-collection.d.ts.map +1 -1
  93. package/build/with-collection.js +4 -2
  94. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"collection.d.ts","sourceRoot":"/src/","sources":["collection.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collection.d.ts","sourceRoot":"/src/","sources":["collection.js"],"names":[],"mappings":"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"}
package/build/config.d.ts CHANGED
@@ -24,6 +24,14 @@ declare class ApiMakerConfig {
24
24
  * @returns {void}
25
25
  */
26
26
  setWebsocketRequests(_newValue: boolean | undefined): void;
27
+ /** @returns {any} */
28
+ getCurrenciesCollection(): any;
29
+ /** @returns {any} */
30
+ getModal(): any;
31
+ /** @returns {Record<string, any>} */
32
+ getRouteDefinitions(): Record<string, any>;
33
+ /** @returns {Record<string, any>} */
34
+ getRoutes(): Record<string, any>;
27
35
  }
28
36
  import { EventEmitter } from "eventemitter3";
29
37
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"/src/","sources":["config.js"],"names":[],"mappings":";AA8FA,6CAA2C;AAlE3C,sBAAsB;AACtB;IAKI,YAA6C;IAC7C,2CAAgC;IAGlC,iBAAiB;IACjB,gDAAkC;IAElC,kDAAkD;IAClD,cADc,OAAO,SAAS,EAAE,cAAc,CACkB;IAEhE,wBAAwB;IACxB,WADc,MAAM,CACsC;IAE1D,oCAAoC;IACpC,eADc,MAAM,GAAG,SAAS,CACkC;IAElE;;;OAGG;IACH,uBAHW,MAAM,GAAG,SAAS,GAChB,IAAI,CAE0D;IAE3E,qCAAqC;IACrC,wBADc,OAAO,GAAG,SAAS,CACmD;IAEpF;;;OAGG;IACH,gCAHW,OAAO,GAAG,SAAS,GACjB,IAAI,CAE4E;CAC9F;6BAhE0B,eAAe"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"/src/","sources":["config.js"],"names":[],"mappings":";AA0GA,6CAA2C;AA9E3C,sBAAsB;AACtB;IAKI,YAA6C;IAC7C,2CAAgC;IAGlC,iBAAiB;IACjB,gDAAkC;IAElC,kDAAkD;IAClD,cADc,OAAO,SAAS,EAAE,cAAc,CACkB;IAEhE,wBAAwB;IACxB,WADc,MAAM,CACsC;IAE1D,oCAAoC;IACpC,eADc,MAAM,GAAG,SAAS,CACkC;IAElE;;;OAGG;IACH,uBAHW,MAAM,GAAG,SAAS,GAChB,IAAI,CAE0D;IAE3E,qCAAqC;IACrC,wBADc,OAAO,GAAG,SAAS,CACmD;IAEpF;;;OAGG;IACH,gCAHW,OAAO,GAAG,SAAS,GACjB,IAAI,CAE4E;IAE7F,qBAAqB;IACrB,2BADc,GAAG,CACyE;IAE1F,qBAAqB;IACrB,YADc,GAAG,CAC2C;IAE5D,qCAAqC;IACrC,uBADc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACiD;IAElF,qCAAqC;IACrC,aADc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAC6B;CAC/D;6BA5E0B,eAAe"}
package/build/config.js CHANGED
@@ -53,6 +53,14 @@ class ApiMakerConfig {
53
53
  * @returns {void}
54
54
  */
55
55
  setWebsocketRequests(_newValue) { throw new Error("'setWebsocketRequests' not implemented"); }
56
+ /** @returns {any} */
57
+ getCurrenciesCollection() { throw new Error("'getCurrenciesCollection' not implemented"); }
58
+ /** @returns {any} */
59
+ getModal() { throw new Error("'getModal' not implemented"); }
60
+ /** @returns {Record<string, any>} */
61
+ getRouteDefinitions() { throw new Error("'getRouteDefinitions' not implemented"); }
62
+ /** @returns {Record<string, any>} */
63
+ getRoutes() { throw new Error("'getRoutes' not implemented"); }
56
64
  }
57
65
  for (const accessorName in accessors) {
58
66
  const accessorData = accessors[accessorName];
@@ -79,4 +87,4 @@ for (const accessorName in accessors) {
79
87
  }
80
88
  const apiMakerConfig = new ApiMakerConfig();
81
89
  export default apiMakerConfig;
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJjb25maWcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQSxDQUFDLG1DQUFtQztBQUU1RSxNQUFNLFNBQVMsR0FBRztJQUNoQixXQUFXLEVBQUU7UUFDWCxPQUFPLEVBQUU7WUFDUCxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUM7WUFDYixDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7WUFDWixDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDWCxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDWCxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDWCxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDVjtRQUNELFFBQVEsRUFBRSxJQUFJO0tBQ2Y7SUFDRCxRQUFRLEVBQUUsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDO0lBQzFCLG9CQUFvQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztJQUN0QyxPQUFPLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO0lBQ3pCLElBQUksRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUM7SUFDdkIsSUFBSSxFQUFFLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQztJQUN2QixNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO0lBQ3hCLEtBQUssRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUM7SUFDeEIsVUFBVSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztJQUM1QixNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFDO0lBQ3pCLGdCQUFnQixFQUFFLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQztJQUNuQyxpQkFBaUIsRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFL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cm9tIFwiZXZlbnRlbWl0dGVyM1wiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcblxuY29uc3QgYWNjZXNzb3JzID0ge1xuICBicmVha3BvaW50czoge1xuICAgIGRlZmF1bHQ6IFtcbiAgICAgIFtcInh4bFwiLCAxNDAwXSxcbiAgICAgIFtcInhsXCIsIDEyMDBdLFxuICAgICAgW1wibGdcIiwgOTkyXSxcbiAgICAgIFtcIm1kXCIsIDc2OF0sXG4gICAgICBbXCJzbVwiLCA1NzZdLFxuICAgICAgW1wieHNcIiwgMF1cbiAgICBdLFxuICAgIHJlcXVpcmVkOiB0cnVlXG4gIH0sXG4gIGNhYmxlVXJsOiB7cmVxdWlyZTogZmFsc2V9LFxuICBjdXJyZW5jaWVzQ29sbGVjdGlvbjoge3JlcXVpcmVkOiB0cnVlfSxcbiAgaGlzdG9yeToge3JlcXVpcmVkOiB0cnVlfSxcbiAgaG9zdDoge3JlcXVpcmVkOiBmYWxzZX0sXG4gIGkxOG46IHtyZXF1aXJlZDogZmFsc2V9LFxuICBsaW5rVG86IHtyZXF1aXJlZDogdHJ1ZX0sXG4gIG1vZGFsOiB7cmVxdWlyZWQ6IGZhbHNlfSxcbiAgbmF2aWdhdGlvbjoge3JlcXVpcmVkOiB0cnVlfSxcbiAgcm91dGVzOiB7cmVxdWlyZWQ6IGZhbHNlfSxcbiAgcm91dGVEZWZpbml0aW9uczoge3JlcXVpcmVkOiBmYWxzZX0sXG4gIHdlYnNvY2tldFJlcXVlc3RzOiB7cmVxdWlyZWQ6IGZhbHNlfVxufVxuXG4vKiogQXBpTWFrZXJDb25maWcuICovXG5jbGFzcyBBcGlNYWtlckNvbmZpZyB7XG4gIC8qKiBDb25zdHJ1Y3Rvci4gKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCFnbG9iYWxUaGlzLmFwaU1ha2VyQ29uZmlnR2xvYmFsKSBnbG9iYWxUaGlzLmFwaU1ha2VyQ29uZmlnR2xvYmFsID0ge31cblxuICAgIHRoaXMuZ2xvYmFsID0gZ2xvYmFsVGhpcy5hcGlNYWtlckNvbmZpZ0dsb2JhbFxuICAgIHRoaXMuZXZlbnRzID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIH1cblxuICAvKiogZ2V0RXZlbnRzLiAqL1xuICBnZXRFdmVudHMoKSB7IHJldHVybiB0aGlzLmV2ZW50cyB9XG5cbiAgLyoqIEByZXR1cm5zIHtpbXBvcnQoXCJoaXN0b3J5XCIpLkJyb3dzZXJIaXN0b3J5fSAqL1xuICBnZXRIaXN0b3J5KCkgeyB0aHJvdyBuZXcgRXJyb3IoXCInZ2V0SGlzdG9yeScgbm90IGltcGxlbWVudGVkXCIpIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gKi9cbiAgZ2V0SG9zdCgpIHsgdGhyb3cgbmV3IEVycm9yKFwiJ2dldEhvc3QnIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9ICovXG4gIGdldENhYmxlVXJsKCkgeyB0aHJvdyBuZXcgRXJyb3IoXCInZ2V0Q2FibGVVcmwnIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgdW5kZWZpbmVkfSBfbmV3VmFsdWVcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzZXRDYWJsZVVybChfbmV3VmFsdWUpIHsgdGhyb3cgbmV3IEVycm9yKFwiJ3NldENhYmxlVXJsJyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKiBAcmV0dXJucyB7Ym9vbGVhbiB8IHVuZGVmaW5lZH0gKi9cbiAgZ2V0V2Vic29ja2V0UmVxdWVzdHMoKSB7IHRocm93IG5ldyBFcnJvcihcIidnZXRXZWJzb2NrZXRSZXF1ZXN0cycgbm90IGltcGxlbWVudGVkXCIpIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtib29sZWFuIHwgdW5kZWZpbmVkfSBfbmV3VmFsdWVcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzZXRXZWJzb2NrZXRSZXF1ZXN0cyhfbmV3VmFsdWUpIHsgdGhyb3cgbmV3IEVycm9yKFwiJ3NldFdlYnNvY2tldFJlcXVlc3RzJyBub3QgaW1wbGVtZW50ZWRcIikgfVxufVxuXG5mb3IgKGNvbnN0IGFjY2Vzc29yTmFtZSBpbiBhY2Nlc3NvcnMpIHtcbiAgY29uc3QgYWNjZXNzb3JEYXRhID0gYWNjZXNzb3JzW2FjY2Vzc29yTmFtZV1cbiAgY29uc3QgY2FtZWxpemVkQWNjZXNzb3IgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGFjY2Vzc29yTmFtZSlcblxuICBBcGlNYWtlckNvbmZpZy5wcm90b3R5cGVbYHNldCR7Y2FtZWxpemVkQWNjZXNzb3J9YF0gPSBmdW5jdGlvbiAobmV3VmFsdWUpIHtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuZ2xvYmFsW2FjY2Vzc29yTmFtZV1cblxuICAgIHRoaXMuZ2xvYmFsW2FjY2Vzc29yTmFtZV0gPSBuZXdWYWx1ZVxuXG4gICAgaWYgKG9sZFZhbHVlICE9PSBuZXdWYWx1ZSkge1xuICAgICAgdGhpcy5ldmVudHMuZW1pdChgb24ke2NhbWVsaXplZEFjY2Vzc29yfUNoYW5nZWAsIHtvbGRWYWx1ZSwgbmV3VmFsdWV9KVxuICAgIH1cbiAgfVxuXG4gIEFwaU1ha2VyQ29uZmlnLnByb3RvdHlwZVtgZ2V0JHtjYW1lbGl6ZWRBY2Nlc3Nvcn1gXSA9IGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgaWYgKCF0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdKSB7XG4gICAgICBpZiAoYWNjZXNzb3JEYXRhLmRlZmF1bHQpIHJldHVybiBhY2Nlc3NvckRhdGEuZGVmYXVsdFxuICAgICAgaWYgKGFjY2Vzc29yRGF0YS5yZXF1aXJlZCkgdGhyb3cgbmV3IEVycm9yKGAke2FjY2Vzc29yTmFtZX0gaGFzbid0IGJlZW4gc2V0YClcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2xvYmFsW2FjY2Vzc29yTmFtZV1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdmFsdWUoLi4uYXJncylcblxuICAgIHJldHVybiB2YWx1ZVxuICB9XG59XG5cbmNvbnN0IGFwaU1ha2VyQ29uZmlnID0gbmV3IEFwaU1ha2VyQ29uZmlnKClcblxuZXhwb3J0IGRlZmF1bHQgYXBpTWFrZXJDb25maWdcbiJdfQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJjb25maWcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQSxDQUFDLG1DQUFtQztBQUU1RSxNQUFNLFNBQVMsR0FBRztJQUNoQixXQUFXLEVBQUU7UUFDWCxPQUFPLEVBQUU7WUFDUCxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUM7WUFDYixDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7WUFDWixDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDWCxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDWCxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDWCxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDVjtRQUNELFFBQVEsRUFBRSxJQUFJO0tBQ2Y7SUFDRCxRQUFRLEVBQUUsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDO0lBQzFCLG9CQUFvQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztJQUN0QyxPQUFPLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO0lBQ3pCLElBQUksRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUM7SUFDdkIsSUFBSSxFQUFFLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQztJQUN2QixNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDO0lBQ3hCLEtBQUssRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUM7SUFDeEIsVUFBVSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztJQUM1QixNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFDO0lBQ3pCLGdCQUFnQixFQUFFLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQztJQUNuQyxpQkFBaUIsRUFBRSxFQUFDLFFBQVEsRUFBRSxLQUFL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QUFZLGtCQUFrQixDQUFDLENBQUE7UUFDL0UsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7UUFFdkMsSUFBSSxPQUFPLEtBQUssSUFBSSxVQUFVO1lBQUUsT0FBTyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUVyRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUMsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFBO0FBRTNDLGVBQWUsY0FBYyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gXCJldmVudGVtaXR0ZXIzXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHNvcnQtaW1wb3J0c1xuXG5jb25zdCBhY2Nlc3NvcnMgPSB7XG4gIGJyZWFrcG9pbnRzOiB7XG4gICAgZGVmYXVsdDogW1xuICAgICAgW1wieHhsXCIsIDE0MDBdLFxuICAgICAgW1wieGxcIiwgMTIwMF0sXG4gICAgICBbXCJsZ1wiLCA5OTJdLFxuICAgICAgW1wibWRcIiwgNzY4XSxcbiAgICAgIFtcInNtXCIsIDU3Nl0sXG4gICAgICBbXCJ4c1wiLCAwXVxuICAgIF0sXG4gICAgcmVxdWlyZWQ6IHRydWVcbiAgfSxcbiAgY2FibGVVcmw6IHtyZXF1aXJlOiBmYWxzZX0sXG4gIGN1cnJlbmNpZXNDb2xsZWN0aW9uOiB7cmVxdWlyZWQ6IHRydWV9LFxuICBoaXN0b3J5OiB7cmVxdWlyZWQ6IHRydWV9LFxuICBob3N0OiB7cmVxdWlyZWQ6IGZhbHNlfSxcbiAgaTE4bjoge3JlcXVpcmVkOiBmYWxzZX0sXG4gIGxpbmtUbzoge3JlcXVpcmVkOiB0cnVlfSxcbiAgbW9kYWw6IHtyZXF1aXJlZDogZmFsc2V9LFxuICBuYXZpZ2F0aW9uOiB7cmVxdWlyZWQ6IHRydWV9LFxuICByb3V0ZXM6IHtyZXF1aXJlZDogZmFsc2V9LFxuICByb3V0ZURlZmluaXRpb25zOiB7cmVxdWlyZWQ6IGZhbHNlfSxcbiAgd2Vic29ja2V0UmVxdWVzdHM6IHtyZXF1aXJlZDogZmFsc2V9XG59XG5cbi8qKiBBcGlNYWtlckNvbmZpZy4gKi9cbmNsYXNzIEFwaU1ha2VyQ29uZmlnIHtcbiAgLyoqIENvbnN0cnVjdG9yLiAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIWdsb2JhbFRoaXMuYXBpTWFrZXJDb25maWdHbG9iYWwpIGdsb2JhbFRoaXMuYXBpTWFrZXJDb25maWdHbG9iYWwgPSB7fVxuXG4gICAgdGhpcy5nbG9iYWwgPSBnbG9iYWxUaGlzLmFwaU1ha2VyQ29uZmlnR2xvYmFsXG4gICAgdGhpcy5ldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgfVxuXG4gIC8qKiBnZXRFdmVudHMuICovXG4gIGdldEV2ZW50cygpIHsgcmV0dXJuIHRoaXMuZXZlbnRzIH1cblxuICAvKiogQHJldHVybnMge2ltcG9ydChcImhpc3RvcnlcIikuQnJvd3Nlckhpc3Rvcnl9ICovXG4gIGdldEhpc3RvcnkoKSB7IHRocm93IG5ldyBFcnJvcihcIidnZXRIaXN0b3J5JyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBnZXRIb3N0KCkgeyB0aHJvdyBuZXcgRXJyb3IoXCInZ2V0SG9zdCcgbm90IGltcGxlbWVudGVkXCIpIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gKi9cbiAgZ2V0Q2FibGVVcmwoKSB7IHRocm93IG5ldyBFcnJvcihcIidnZXRDYWJsZVVybCcgbm90IGltcGxlbWVudGVkXCIpIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmcgfCB1bmRlZmluZWR9IF9uZXdWYWx1ZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHNldENhYmxlVXJsKF9uZXdWYWx1ZSkgeyB0aHJvdyBuZXcgRXJyb3IoXCInc2V0Q2FibGVVcmwnIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqIEByZXR1cm5zIHtib29sZWFuIHwgdW5kZWZpbmVkfSAqL1xuICBnZXRXZWJzb2NrZXRSZXF1ZXN0cygpIHsgdGhyb3cgbmV3IEVycm9yKFwiJ2dldFdlYnNvY2tldFJlcXVlc3RzJyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW4gfCB1bmRlZmluZWR9IF9uZXdWYWx1ZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHNldFdlYnNvY2tldFJlcXVlc3RzKF9uZXdWYWx1ZSkgeyB0aHJvdyBuZXcgRXJyb3IoXCInc2V0V2Vic29ja2V0UmVxdWVzdHMnIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqIEByZXR1cm5zIHthbnl9ICovXG4gIGdldEN1cnJlbmNpZXNDb2xsZWN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoXCInZ2V0Q3VycmVuY2llc0NvbGxlY3Rpb24nIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqIEByZXR1cm5zIHthbnl9ICovXG4gIGdldE1vZGFsKCkgeyB0aHJvdyBuZXcgRXJyb3IoXCInZ2V0TW9kYWwnIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSAqL1xuICBnZXRSb3V0ZURlZmluaXRpb25zKCkgeyB0aHJvdyBuZXcgRXJyb3IoXCInZ2V0Um91dGVEZWZpbml0aW9ucycgbm90IGltcGxlbWVudGVkXCIpIH1cblxuICAvKiogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueT59ICovXG4gIGdldFJvdXRlcygpIHsgdGhyb3cgbmV3IEVycm9yKFwiJ2dldFJvdXRlcycgbm90IGltcGxlbWVudGVkXCIpIH1cbn1cblxuZm9yIChjb25zdCBhY2Nlc3Nvck5hbWUgaW4gYWNjZXNzb3JzKSB7XG4gIGNvbnN0IGFjY2Vzc29yRGF0YSA9IGFjY2Vzc29yc1thY2Nlc3Nvck5hbWVdXG4gIGNvbnN0IGNhbWVsaXplZEFjY2Vzc29yID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShhY2Nlc3Nvck5hbWUpXG5cbiAgQXBpTWFrZXJDb25maWcucHJvdG90eXBlW2BzZXQke2NhbWVsaXplZEFjY2Vzc29yfWBdID0gZnVuY3Rpb24gKG5ld1ZhbHVlKSB7XG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdXG5cbiAgICB0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdID0gbmV3VmFsdWVcblxuICAgIGlmIChvbGRWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuZXZlbnRzLmVtaXQoYG9uJHtjYW1lbGl6ZWRBY2Nlc3Nvcn1DaGFuZ2VgLCB7b2xkVmFsdWUsIG5ld1ZhbHVlfSlcbiAgICB9XG4gIH1cblxuICBBcGlNYWtlckNvbmZpZy5wcm90b3R5cGVbYGdldCR7Y2FtZWxpemVkQWNjZXNzb3J9YF0gPSBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgIGlmICghdGhpcy5nbG9iYWxbYWNjZXNzb3JOYW1lXSkge1xuICAgICAgaWYgKGFjY2Vzc29yRGF0YS5kZWZhdWx0KSByZXR1cm4gYWNjZXNzb3JEYXRhLmRlZmF1bHRcbiAgICAgIGlmIChhY2Nlc3NvckRhdGEucmVxdWlyZWQpIHRocm93IG5ldyBFcnJvcihgJHthY2Nlc3Nvck5hbWV9IGhhc24ndCBiZWVuIHNldGApXG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdXG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHZhbHVlKC4uLmFyZ3MpXG5cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxufVxuXG5jb25zdCBhcGlNYWtlckNvbmZpZyA9IG5ldyBBcGlNYWtlckNvbmZpZygpXG5cbmV4cG9ydCBkZWZhdWx0IGFwaU1ha2VyQ29uZmlnXG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"devise.d.ts","sourceRoot":"/src/","sources":["devise.js"],"names":[],"mappings":"AA0BA,sBAAsB;AACtB;IACE,wBAAwB;IACxB,yCAEC;IAED,gCAAgC;IAChC,kBADc,cAAc,CAO3B;IAED,cAAc;IACd,4EAEC;IAED,oBAAoB;IACpB,iDAYC;IAED,gBAAgB;IAChB,iCAKC;IAED;;;OAoCC;IAED;;;;;OAKG;IACH,6BAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,GAAG,CAAC,CAgBxB;IAED,qBAAqB;IACrB,kDAMC;IASD,oBAAoB;IACpB,qCAEC;IAED,wCAwBC;IApCD,uBAAuB;IACvB,qCAIC;IAmCC,aAAkB;IAGpB,uBAAuB;IACvB,iCAMC;IAED,6BAA6B;IAC7B,2CAMC;IAED,wBAAwB;IACxB,kCAkBC;CACF"}
1
+ {"version":3,"file":"devise.d.ts","sourceRoot":"/src/","sources":["devise.js"],"names":[],"mappings":"AA0BA,sBAAsB;AACtB;IACE,wBAAwB;IACxB,yCAEC;IAED,gCAAgC;IAChC,kBADc,cAAc,CAO3B;IAED,cAAc;IACd,4EAEC;IAED,oBAAoB;IACpB,iDAYC;IAED,gBAAgB;IAChB,iCAKC;IAED;;;OAmCC;IAED;;;;;OAKG;IACH,6BAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,OAAO,CAAC,GAAG,CAAC,CAgBxB;IAED,qBAAqB;IACrB,kDAMC;IASD,oBAAoB;IACpB,qCAEC;IAED,wCAuBC;IAnCD,uBAAuB;IACvB,qCAIC;IAkCC,aAAkB;IAGpB,uBAAuB;IACvB,iCAMC;IAED,6BAA6B;IAC7B,2CAMC;IAED,wBAAwB;IACxB,kCAkBC;CACF"}
package/build/devise.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import * as inflection from "inflection"; // eslint-disable-line sort-imports
2
- import config from "./config.js";
3
2
  import { createContext } from "react";
4
3
  import Deserializer from "./deserializer.js"; // eslint-disable-line sort-imports
5
4
  import events from "./events.js";
6
5
  import modelClassRequire from "./model-class-require.js";
6
+ import { resetChannelsConsumer } from "./channels-consumer.js";
7
7
  import SessionStatusUpdater from "./session-status-updater.js"; // eslint-disable-line sort-imports
8
8
  import Services from "./services.js"; // eslint-disable-line sort-imports
9
9
  if (!globalThis.ApiMakerDevise)
@@ -60,28 +60,25 @@ export default class ApiMakerDevise {
60
60
  if (!args.scope)
61
61
  args.scope = "user";
62
62
  const postData = { username, password, args };
63
- const response = await Services.current().sendRequest("Devise::SignIn", postData);
63
+ // Always use HTTP for sign-in so Devise sets the session cookie and
64
+ // remember-me token directly in the HTTP response. WebSocket sign-in
65
+ // cannot set cookies (no HTTP response headers), so it relied on a
66
+ // fragile Rails.cache-based shadow session handoff via persistSession.
67
+ const response = await Services.current().sendRequest("Devise::SignIn", postData, { forceHttp: true });
64
68
  let model = response.model;
65
69
  if (Array.isArray(model))
66
70
  model = model[0];
67
71
  const sessionStatusUpdater = SessionStatusUpdater.current();
68
- if (config.getWebsocketRequests()) {
69
- if (response.session_status) {
70
- sessionStatusUpdater.updateMetaElementsFromResult(response.session_status);
71
- }
72
- await ApiMakerDevise.persistSession({
73
- rememberMe: args.rememberMe,
74
- scope: args.scope,
75
- shadowSessionToken: response.session_status?.shadow_session_token,
76
- signedIn: true
77
- });
78
- }
79
- else if (response.session_status) {
72
+ if (response.session_status) {
80
73
  sessionStatusUpdater.applyResult(response.session_status);
81
74
  }
82
75
  else {
83
76
  await sessionStatusUpdater.updateSessionStatus();
84
77
  }
78
+ // Reset the ActionCable connection so it reconnects with the new
79
+ // session cookies. Without this, WebSocket commands would still run
80
+ // as the previous (anonymous/old) user.
81
+ resetChannelsConsumer();
85
82
  ApiMakerDevise.updateSession(model);
86
83
  if (!args.skipSignInEvent) {
87
84
  events.emit("onDeviseSignIn", { username, ...args });
@@ -127,15 +124,9 @@ export default class ApiMakerDevise {
127
124
  if (!args.scope) {
128
125
  args.scope = "user";
129
126
  }
130
- const response = await Services.current().sendRequest("Devise::SignOut", { args });
127
+ const response = await Services.current().sendRequest("Devise::SignOut", { args }, { forceHttp: true });
131
128
  const sessionStatusUpdater = SessionStatusUpdater.current();
132
- if (config.getWebsocketRequests()) {
133
- if (response.session_status) {
134
- sessionStatusUpdater.updateMetaElementsFromResult(response.session_status);
135
- }
136
- await ApiMakerDevise.persistSession({ scope: args.scope, signedIn: false });
137
- }
138
- else if (response.session_status) {
129
+ if (response.session_status) {
139
130
  sessionStatusUpdater.applyResult(response.session_status);
140
131
  }
141
132
  else {
@@ -143,6 +134,10 @@ export default class ApiMakerDevise {
143
134
  ApiMakerDevise.setSignedOut(args);
144
135
  ApiMakerDevise.callSignOutEvent(args);
145
136
  }
137
+ // Reset the ActionCable connection so it reconnects without the
138
+ // old user's session. Without this, WebSocket commands would still
139
+ // run as the signed-out user.
140
+ resetChannelsConsumer();
146
141
  return response;
147
142
  }
148
143
  /** Constructor. */
@@ -180,4 +175,4 @@ export default class ApiMakerDevise {
180
175
  return modelInstance;
181
176
  }
182
177
  }
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aXNlLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJkZXZpc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUEsQ0FBQyxtQ0FBbUM7QUFDNUUsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDbkMsT0FBTyxZQUFZLE1BQU0sbUJBQW1CLENBQUEsQ0FBQyxtQ0FBbUM7QUFDaEYsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8saUJBQWlCLE1BQU0sMEJBQTBCLENBQUE7QUFDeEQsT0FBTyxvQkFBb0IsTUFBTSw2QkFBNkIsQ0FBQSxDQUFDLG1DQUFtQztBQUNsRyxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUEsQ0FBQyxtQ0FBbUM7QUFFeEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjO0lBQUUsVUFBVSxDQUFDLGNBQWMsR0FBRyxFQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUMsQ0FBQTtBQUV4RSxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFBO0FBRXhDLG1CQUFtQjtBQUNuQixNQUFNLFdBQVc7SUFDZixtQkFBbUI7SUFDbkIsWUFBWSxLQUFLLEVBQUUsSUFBSTtRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUN2QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtJQUNwQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO0NBQ2hDO0FBRUQsc0JBQXNCO0FBQ3RCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sY0FBYztJQUNqQyx3QkFBd0I7SUFDeEIsTUFBTSxDQUFDLGdCQUFnQixDQUFD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QixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3JELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDN0IsQ0FBQztJQUVELDZCQUE2QjtJQUM3QixxQkFBcUIsQ0FBQyxLQUFLO1FBQ3pCLElBQUksVUFBVSxDQUFDLHFCQUFxQixJQUFJLEtBQUssSUFBSSxVQUFVLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNsRixPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsZ0JBQWdCLENBQUMsS0FBSztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRXpELElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFFM0IsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVyRCxxREFBcUQ7UUFDckQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztZQUFFLE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTdELE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzNDLE1BQU0sYUFBYSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUE7UUFFN0QsT0FBTyxhQUFhLENBQUE7SUFDdEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgc29ydC1pbXBvcnRzXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuL2NvbmZpZy5qc1wiXG5pbXBvcnQge2NyZWF0ZUNvbnRleHR9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgRGVzZXJpYWxpemVyIGZyb20gXCIuL2Rlc2VyaWFsaXplci5qc1wiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgc29ydC1pbXBvcnRzXG5pbXBvcnQgZXZlbnRzIGZyb20gXCIuL2V2ZW50cy5qc1wiXG5pbXBvcnQgbW9kZWxDbGFzc1JlcXVpcmUgZnJvbSBcIi4vbW9kZWwtY2xhc3MtcmVxdWlyZS5qc1wiXG5pbXBvcnQgU2Vzc2lvblN0YXR1c1VwZGF0ZXIgZnJvbSBcIi4vc2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qc1wiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgc29ydC1pbXBvcnRzXG5pbXBvcnQgU2VydmljZXMgZnJvbSBcIi4vc2VydmljZXMuanNcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHNvcnQtaW1wb3J0c1xuXG5pZiAoIWdsb2JhbFRoaXMuQXBpTWFrZXJEZXZpc2UpIGdsb2JhbFRoaXMuQXBpTWFrZXJEZXZpc2UgPSB7c2NvcGVzOiB7fX1cblxuY29uc3Qgc2hhcmVkID0gZ2xvYmFsVGhpcy5BcGlNYWtlckRldmlzZVxuXG4vKiogRGV2aXNlU2NvcGUuICovXG5jbGFzcyBEZXZpc2VTY29wZSB7XG4gIC8qKiBDb25zdHJ1Y3Rvci4gKi9cbiAgY29uc3RydWN0b3Ioc2NvcGUsIGFyZ3MpIHtcbiAgICB0aGlzLmFyZ3MgPSBhcmdzXG4gICAgdGhpcy5jb250ZXh0ID0gY3JlYXRlQ29udGV4dCh1bmRlZmluZWQpXG4gICAgdGhpcy5zY29wZSA9IHNjb3BlXG4gIH1cblxuICAvKiogZ2V0Q29udGV4dC4gKi9cbiAgZ2V0Q29udGV4dCA9ICgpID0+IHRoaXMuY29udGV4dFxufVxuXG4vKiogQXBpTWFrZXJEZXZpc2UuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckRldmlzZSB7XG4gIC8qKiBjYWxsU2lnbk91dEV2ZW50LiAqL1xuICBzdGF0aWMgY2FsbFNpZ25PdXRFdmVudChhcmdzKSB7XG4gICAgZXZlbnRzLmVtaXQoXCJvbkRldmlzZVNpZ25PdXRcIiwge2FyZ3N9KVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtBcGlNYWtlckRldmlzZX0gKi9cbiAgc3RhdGljIGN1cnJlbnQoKSB7XG4gICAgaWYgKCFzaGFyZWQuY3VycmVudEFwaU1ha2VyRGV2aXNlKSB7XG4gICAgICBzaGFyZWQuY3VycmVudEFwaU1ha2VyRGV2aXNlID0gbmV3IEFwaU1ha2VyRGV2aXNlKClcbiAgICB9XG5cbiAgICByZXR1cm4gc2hhcmVkLmN1cnJlbnRBcGlNYWtlckRldmlzZVxuICB9XG5cbiAgLyoqIGV2ZW50cy4gKi9cbiAgc3RhdGljIGV2ZW50cygpIHtcbiAgICByZXR1cm4gZXZlbnRzXG4gIH1cblxuICAvKiogYWRkVXNlclNjb3BlLiAqL1xuICBzdGF0aWMgYWRkVXNlclNjb3BlKHNjb3BlLCBhcmdzID0ge30pIHtcbiAgICBjb25zdCBzY29wZUNhbWVsaXplZCA9IGluZmxlY3Rpb24uY2FtZWxpemUoc2NvcGUpXG4gICAgY29uc3QgY3VycmVudE1ldGhvZE5hbWUgPSBgY3VycmVudCR7c2NvcGVDYW1lbGl6ZWR9YFxuICAgIGNvbnN0IGlzU2lnbmVkSW5NZXRob2ROYW1lID0gYGlzJHtzY29wZUNhbWVsaXplZH1TaWduZWRJbmBcbiAgICBjb25zdCBnZXRBcmdzTWV0aG9kTmFtZSA9IGBnZXQke3Njb3BlQ2FtZWxpemVkfUFyZ3NgXG4gICAgY29uc3QgZ2V0U2NvcGVOYW1lID0gYGdldCR7c2NvcGVDYW1lbGl6ZWR9U2NvcGVgXG4gICAgY29uc3Qgc2NvcGVJbnN0YW5jZSA9IG5ldyBEZXZpc2VTY29wZShzY29wZSwgYXJncylcblxuICAgIEFwaU1ha2VyRGV2aXNlW2N1cnJlbnRNZXRob2ROYW1lXSA9ICgpID0+IEFwaU1ha2VyRGV2aXNlLmN1cnJlbnQoKS5nZXRDdXJyZW50U2NvcGUoc2NvcGUpXG4gICAgQXBpTWFrZXJEZXZpc2VbaXNTaWduZWRJbk1ldGhvZE5hbWVdID0gKCkgPT4gQm9vbGVhbihBcGlNYWtlckRldmlzZS5jdXJyZW50KCkuZ2V0Q3VycmVudFNjb3BlKHNjb3BlKSlcbiAgICBBcGlNYWtlckRldmlzZVtnZXRBcmdzTWV0aG9kTmFtZV0gPSAoKSA9PiBhcmdzXG4gICAgQXBpTWFrZXJEZXZpc2VbZ2V0U2NvcGVOYW1lXSA9ICgpID0+IHNjb3BlSW5zdGFuY2VcbiAgfVxuXG4gIC8qKiBnZXRTY29wZS4gKi9cbiAgc3RhdGljIGdldFNjb3BlKHNjb3BlKSB7XG4gICAgY29uc3Qgc2NvcGVDYW1lbGl6ZWQgPSBpbmZsZWN0aW9uLmNhbWVsaXplKHNjb3BlKVxuICAgIGNvbnN0IGdldFNjb3BlTmFtZSA9IGBnZXQke3Njb3BlQ2FtZWxpemVkfVNjb3BlYFxuXG4gICAgcmV0dXJuIEFwaU1ha2VyRGV2aXNlW2dldFNjb3BlTmFtZV0oKVxuICB9XG5cbiAgc3RhdGljIGFzeW5jIHNpZ25Jbih1c2VybmFtZSwgcGFzc3dvcmQsIGFyZ3MgPSB7fSkge1xuICAgIGlmICghYXJncy5zY29wZSkgYXJncy5zY29wZSA9IFwidXNlclwiXG5cbiAgICBjb25zdCBwb3N0RGF0YSA9IHt1c2VybmFtZSwgcGFzc3dvcmQsIGFyZ3N9XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBTZXJ2aWNlcy5jdXJyZW50KCkuc2VuZFJlcXVlc3QoXCJEZXZpc2U6OlNpZ25JblwiLCBwb3N0RGF0YSlcblxuICAgIGxldCBtb2RlbCA9IHJlc3BvbnNlLm1vZGVsXG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShtb2RlbCkpIG1vZGVsID0gbW9kZWxbMF1cblxuICAgIGNvbnN0IHNlc3Npb25TdGF0dXNVcGRhdGVyID0gU2Vzc2lvblN0YXR1c1VwZGF0ZXIuY3VycmVudCgpXG5cbiAgICBpZiAoY29uZmlnLmdldFdlYnNvY2tldFJlcXVlc3RzKCkpIHtcbiAgICAgIGlmIChyZXNwb25zZS5zZXNzaW9uX3N0YXR1cykge1xuICAgICAgICBzZXNzaW9uU3RhdHVzVXBkYXRlci51cGRhdGVNZXRhRWxlbWVudHNGcm9tUmVzdWx0KHJlc3BvbnNlLnNlc3Npb25fc3RhdHVzKVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBBcGlNYWtlckRldmlzZS5wZXJzaXN0U2Vzc2lvbih7XG4gICAgICAgIHJlbWVtYmVyTWU6IGFyZ3MucmVtZW1iZXJNZSxcbiAgICAgICAgc2NvcGU6IGFyZ3Muc2NvcGUsXG4gICAgICAgIHNoYWRvd1Nlc3Npb25Ub2tlbjogcmVzcG9uc2Uuc2Vzc2lvbl9zdGF0dXM/LnNoYWRvd19zZXNzaW9uX3Rva2VuLFxuICAgICAgICBzaWduZWRJbjogdHJ1ZVxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLnNlc3Npb25fc3RhdHVzKSB7XG4gICAgICBzZXNzaW9uU3RhdHVzVXBkYXRlci5hcHBseVJlc3VsdChyZXNwb25zZS5zZXNzaW9uX3N0YXR1cylcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgc2Vzc2lvblN0YXR1c1VwZGF0ZXIudXBkYXRlU2Vzc2lvblN0YXR1cygpXG4gICAgfVxuXG4gICAgQXBpTWFrZXJEZXZpc2UudXBkYXRlU2Vzc2lvbihtb2RlbClcblxuICAgIGlmICghYXJncy5za2lwU2lnbkluRXZlbnQpIHtcbiAgICAgIGV2ZW50cy5lbWl0KFwib25EZXZpc2VTaWduSW5cIiwge3VzZXJuYW1lLCAuLi5hcmdzfSlcbiAgICB9XG5cbiAgICByZXR1cm4ge21vZGVsLCByZXNwb25zZX1cbiAgfVxuXG4gIC8qKlxuICAgKiBTeW5jaHJvbml6ZXMgdGhlIGN1cnJlbnQgYmFja2VuZCBhdXRoIHN0YXRlIGludG8gcmVhbCBIVFRQIHJlc3BvbnNlIGNvb2tpZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW2FyZ3NdXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBzdGF0aWMgYXN5bmMgcGVyc2lzdFNlc3Npb24oYXJncyA9IHt9KSB7XG4gICAgaWYgKCFhcmdzLnNjb3BlKSBhcmdzLnNjb3BlID0gXCJ1c2VyXCJcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgU2VydmljZXMuY3VycmVudCgpLnNlbmRSZXF1ZXN0KFwiRGV2aXNlOjpQZXJzaXN0U2Vzc2lvblwiLCBhcmdzLCB7Zm9yY2VIdHRwOiB0cnVlfSlcblxuICAgIGNvbnN0IHNlc3Npb25TdGF0dXNVcGRhdGVyID0gU2Vzc2lvblN0YXR1c1VwZGF0ZXIuY3VycmVudCgpXG5cbiAgICBpZiAocmVzcG9uc2Uuc2Vzc2lvbl9zdGF0dXMpIHtcbiAgICAgIHNlc3Npb25TdGF0dXNVcGRhdGVyLmFwcGx5UmVzdWx0KHJlc3BvbnNlLnNlc3Npb25fc3RhdHVzKVxuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCBzZXNzaW9uU3RhdHVzVXBkYXRlci51cGRhdGVTZXNzaW9uU3RhdHVzKClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzcG9uc2VcbiAgfVxuXG4gIC8qKiB1cGRhdGVTZXNzaW9uLiAqL1xuICBzdGF0aWMgdXBkYXRlU2Vzc2lvbihtb2RlbCwgYXJncyA9IHt9KSB7XG4gICAgaWYgKCFhcmdzLnNjb3BlKSBhcmdzLnNjb3BlID0gXCJ1c2VyXCJcblxuICAgIGNvbnN0IGNhbWVsaXplZFNjb3BlTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUoYXJncy5zY29wZSwgdHJ1ZSlcblxuICAgIEFwaU1ha2VyRGV2aXNlLmN1cnJlbnQoKS5jdXJyZW50c1tjYW1lbGl6ZWRTY29wZU5hbWVdID0gbW9kZWxcbiAgfVxuXG4gIC8qKiBoYXNDdXJyZW50U2NvcGUuICovXG4gIGhhc0N1cnJlbnRTY29wZShzY29wZSkge1xuICAgIGNvbnN0IGNhbWVsaXplZFNjb3BlTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUoc2NvcGUsIHRydWUpXG5cbiAgICByZXR1cm4gY2FtZWxpemVkU2NvcGVOYW1lIGluIEFwaU1ha2VyRGV2aXNlLmN1cnJlbnQoKS5jdXJyZW50c1xuICB9XG5cbiAgLyoqIHNldFNpZ25lZE91dC4gKi9cbiAgc3RhdGljIHNldFNpZ25lZE91dChhcmdzKSB7XG4gICAgQXBpTWFrZXJEZXZpc2UuY3VycmVudCgpLmN1cnJlbnRzW2luZmxlY3Rpb24uY2FtZWxpemUoYXJncy5zY29wZSwgdHJ1ZSldID0gbnVsbFxuICB9XG5cbiAgc3RhdGljIGFzeW5jIHNpZ25PdXQoYXJncyA9IHt9KSB7XG4gICAgaWYgKCFhcmdzLnNjb3BlKSB7XG4gICAgICBhcmdzLnNjb3BlID0gXCJ1c2VyXCJcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIkRldmlzZTo6U2lnbk91dFwiLCB7YXJnc30pXG5cbiAgICBjb25zdCBzZXNzaW9uU3RhdHVzVXBkYXRlciA9IFNlc3Npb25TdGF0dXNVcGRhdGVyLmN1cnJlbnQoKVxuXG4gICAgaWYgKGNvbmZpZy5nZXRXZWJzb2NrZXRSZXF1ZXN0cygpKSB7XG4gICAgICBpZiAocmVzcG9uc2Uuc2Vzc2lvbl9zdGF0dXMpIHtcbiAgICAgICAgc2Vzc2lvblN0YXR1c1VwZGF0ZXIudXBkYXRlTWV0YUVsZW1lbnRzRnJvbVJlc3VsdChyZXNwb25zZS5zZXNzaW9uX3N0YXR1cylcbiAgICAgIH1cblxuICAgICAgYXdhaXQgQXBpTWFrZXJEZXZpc2UucGVyc2lzdFNlc3Npb24oe3Njb3BlOiBhcmdzLnNjb3BlLCBzaWduZWRJbjogZmFsc2V9KVxuICAgIH0gZWxzZSBpZiAocmVzcG9uc2Uuc2Vzc2lvbl9zdGF0dXMpIHtcbiAgICAgIHNlc3Npb25TdGF0dXNVcGRhdGVyLmFwcGx5UmVzdWx0KHJlc3BvbnNlLnNlc3Npb25fc3RhdHVzKVxuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCBzZXNzaW9uU3RhdHVzVXBkYXRlci51cGRhdGVTZXNzaW9uU3RhdHVzKClcbiAgICAgIEFwaU1ha2VyRGV2aXNlLnNldFNpZ25lZE91dChhcmdzKVxuICAgICAgQXBpTWFrZXJEZXZpc2UuY2FsbFNpZ25PdXRFdmVudChhcmdzKVxuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZVxuICB9XG5cbiAgLyoqIENvbnN0cnVjdG9yLiAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmN1cnJlbnRzID0ge31cbiAgfVxuXG4gIC8qKiBnZXRDdXJyZW50U2NvcGUuICovXG4gIGdldEN1cnJlbnRTY29wZShzY29wZSkge1xuICAgIGlmICghKHNjb3BlIGluIHRoaXMuY3VycmVudHMpKSB7XG4gICAgICB0aGlzLmN1cnJlbnRzW3Njb3BlXSA9IHRoaXMubG9hZEN1cnJlbnRTY29wZShzY29wZSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jdXJyZW50c1tzY29wZV1cbiAgfVxuXG4gIC8qKiBoYXNHbG9iYWxDdXJyZW50U2NvcGUuICovXG4gIGhhc0dsb2JhbEN1cnJlbnRTY29wZShzY29wZSkge1xuICAgIGlmIChnbG9iYWxUaGlzLmFwaU1ha2VyRGV2aXNlQ3VycmVudCAmJiBzY29wZSBpbiBnbG9iYWxUaGlzLmFwaU1ha2VyRGV2aXNlQ3VycmVudCkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIC8qKiBsb2FkQ3VycmVudFNjb3BlLiAqL1xuICBsb2FkQ3VycmVudFNjb3BlKHNjb3BlKSB7XG4gICAgaWYgKCF0aGlzLmhhc0dsb2JhbEN1cnJlbnRTY29wZShzY29wZSkpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgY29uc3Qgc2NvcGVEYXRhID0gZ2xvYmFsVGhpcy5hcGlNYWtlckRldmlzZUN1cnJlbnRbc2NvcGVdXG5cbiAgICBpZiAoIXNjb3BlRGF0YSkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IHBhcnNlZFNjb3BlRGF0YSA9IERlc2VyaWFsaXplci5wYXJzZShzY29wZURhdGEpXG5cbiAgICAvLyBNaWdodCBiZSBhIGNvbGxlY3Rpb24gd2l0aCBwcmVsb2FkZWQgcmVsYXRpb25zaGlwc1xuICAgIGlmIChBcnJheS5pc0FycmF5KHBhcnNlZFNjb3BlRGF0YSkpIHJldHVybiBwYXJzZWRTY29wZURhdGFbMF1cblxuICAgIGNvbnN0IE1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzUmVxdWlyZShzY29wZSlcbiAgICBjb25zdCBtb2RlbEluc3RhbmNlID0gbmV3IE1vZGVsQ2xhc3Moe2RhdGE6IHBhcnNlZFNjb3BlRGF0YX0pXG5cbiAgICByZXR1cm4gbW9kZWxJbnN0YW5jZVxuICB9XG59XG4iXX0=
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aXNlLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJkZXZpc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUEsQ0FBQyxtQ0FBbUM7QUFDNUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNuQyxPQUFPLFlBQVksTUFBTSxtQkFBbUIsQ0FBQSxDQUFDLG1DQUFtQztBQUNoRixPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxpQkFBaUIsTUFBTSwwQkFBMEIsQ0FBQTtBQUN4RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQTtBQUM1RCxPQUFPLG9CQUFvQixNQUFNLDZCQUE2QixDQUFBLENBQUMsbUNBQW1DO0FBQ2xHLE9BQU8sUUFBUSxNQUFNLGVBQWUsQ0FBQSxDQUFDLG1DQUFtQztBQUV4RSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWM7SUFBRSxVQUFVLENBQUMsY0FBYyxHQUFHLEVBQUMsTUFBTSxFQUFFLEVBQUUsRUFBQyxDQUFBO0FBRXhFLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUE7QUFFeEMsbUJBQW1CO0FBQ25CLE1BQU0sV0FBVztJQUNmLG1CQUFtQjtJQUNuQixZQUFZLEtBQUssRUFBRSxJQUFJO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ3BCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsVUFBVSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7Q0FDaEM7QUFFRCxzQkFBc0I7QUFDdEIsTUFBTSxDQUFDLE9BQU8sT0FBTyxjQUFjO0lBQ2pDLHdCQUF3QjtJQUN4QixNQUFNLENB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Q0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRXpELElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFFM0IsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVyRCxxREFBcUQ7UUFDckQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztZQUFFLE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTdELE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzNDLE1BQU0sYUFBYSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUMsSUFBSSxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUE7UUFFN0QsT0FBTyxhQUFhLENBQUE7SUFDdEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgc29ydC1pbXBvcnRzXG5pbXBvcnQge2NyZWF0ZUNvbnRleHR9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgRGVzZXJpYWxpemVyIGZyb20gXCIuL2Rlc2VyaWFsaXplci5qc1wiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgc29ydC1pbXBvcnRzXG5pbXBvcnQgZXZlbnRzIGZyb20gXCIuL2V2ZW50cy5qc1wiXG5pbXBvcnQgbW9kZWxDbGFzc1JlcXVpcmUgZnJvbSBcIi4vbW9kZWwtY2xhc3MtcmVxdWlyZS5qc1wiXG5pbXBvcnQge3Jlc2V0Q2hhbm5lbHNDb25zdW1lcn0gZnJvbSBcIi4vY2hhbm5lbHMtY29uc3VtZXIuanNcIlxuaW1wb3J0IFNlc3Npb25TdGF0dXNVcGRhdGVyIGZyb20gXCIuL3Nlc3Npb24tc3RhdHVzLXVwZGF0ZXIuanNcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHNvcnQtaW1wb3J0c1xuaW1wb3J0IFNlcnZpY2VzIGZyb20gXCIuL3NlcnZpY2VzLmpzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcblxuaWYgKCFnbG9iYWxUaGlzLkFwaU1ha2VyRGV2aXNlKSBnbG9iYWxUaGlzLkFwaU1ha2VyRGV2aXNlID0ge3Njb3Blczoge319XG5cbmNvbnN0IHNoYXJlZCA9IGdsb2JhbFRoaXMuQXBpTWFrZXJEZXZpc2VcblxuLyoqIERldmlzZVNjb3BlLiAqL1xuY2xhc3MgRGV2aXNlU2NvcGUge1xuICAvKiogQ29uc3RydWN0b3IuICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlLCBhcmdzKSB7XG4gICAgdGhpcy5hcmdzID0gYXJnc1xuICAgIHRoaXMuY29udGV4dCA9IGNyZWF0ZUNvbnRleHQodW5kZWZpbmVkKVxuICAgIHRoaXMuc2NvcGUgPSBzY29wZVxuICB9XG5cbiAgLyoqIGdldENvbnRleHQuICovXG4gIGdldENvbnRleHQgPSAoKSA9PiB0aGlzLmNvbnRleHRcbn1cblxuLyoqIEFwaU1ha2VyRGV2aXNlLiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJEZXZpc2Uge1xuICAvKiogY2FsbFNpZ25PdXRFdmVudC4gKi9cbiAgc3RhdGljIGNhbGxTaWduT3V0RXZlbnQoYXJncykge1xuICAgIGV2ZW50cy5lbWl0KFwib25EZXZpc2VTaWduT3V0XCIsIHthcmdzfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7QXBpTWFrZXJEZXZpc2V9ICovXG4gIHN0YXRpYyBjdXJyZW50KCkge1xuICAgIGlmICghc2hhcmVkLmN1cnJlbnRBcGlNYWtlckRldmlzZSkge1xuICAgICAgc2hhcmVkLmN1cnJlbnRBcGlNYWtlckRldmlzZSA9IG5ldyBBcGlNYWtlckRldmlzZSgpXG4gICAgfVxuXG4gICAgcmV0dXJuIHNoYXJlZC5jdXJyZW50QXBpTWFrZXJEZXZpc2VcbiAgfVxuXG4gIC8qKiBldmVudHMuICovXG4gIHN0YXRpYyBldmVudHMoKSB7XG4gICAgcmV0dXJuIGV2ZW50c1xuICB9XG5cbiAgLyoqIGFkZFVzZXJTY29wZS4gKi9cbiAgc3RhdGljIGFkZFVzZXJTY29wZShzY29wZSwgYXJncyA9IHt9KSB7XG4gICAgY29uc3Qgc2NvcGVDYW1lbGl6ZWQgPSBpbmZsZWN0aW9uLmNhbWVsaXplKHNjb3BlKVxuICAgIGNvbnN0IGN1cnJlbnRNZXRob2ROYW1lID0gYGN1cnJlbnQke3Njb3BlQ2FtZWxpemVkfWBcbiAgICBjb25zdCBpc1NpZ25lZEluTWV0aG9kTmFtZSA9IGBpcyR7c2NvcGVDYW1lbGl6ZWR9U2lnbmVkSW5gXG4gICAgY29uc3QgZ2V0QXJnc01ldGhvZE5hbWUgPSBgZ2V0JHtzY29wZUNhbWVsaXplZH1BcmdzYFxuICAgIGNvbnN0IGdldFNjb3BlTmFtZSA9IGBnZXQke3Njb3BlQ2FtZWxpemVkfVNjb3BlYFxuICAgIGNvbnN0IHNjb3BlSW5zdGFuY2UgPSBuZXcgRGV2aXNlU2NvcGUoc2NvcGUsIGFyZ3MpXG5cbiAgICBBcGlNYWtlckRldmlzZVtjdXJyZW50TWV0aG9kTmFtZV0gPSAoKSA9PiBBcGlNYWtlckRldmlzZS5jdXJyZW50KCkuZ2V0Q3VycmVudFNjb3BlKHNjb3BlKVxuICAgIEFwaU1ha2VyRGV2aXNlW2lzU2lnbmVkSW5NZXRob2ROYW1lXSA9ICgpID0+IEJvb2xlYW4oQXBpTWFrZXJEZXZpc2UuY3VycmVudCgpLmdldEN1cnJlbnRTY29wZShzY29wZSkpXG4gICAgQXBpTWFrZXJEZXZpc2VbZ2V0QXJnc01ldGhvZE5hbWVdID0gKCkgPT4gYXJnc1xuICAgIEFwaU1ha2VyRGV2aXNlW2dldFNjb3BlTmFtZV0gPSAoKSA9PiBzY29wZUluc3RhbmNlXG4gIH1cblxuICAvKiogZ2V0U2NvcGUuICovXG4gIHN0YXRpYyBnZXRTY29wZShzY29wZSkge1xuICAgIGNvbnN0IHNjb3BlQ2FtZWxpemVkID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZSlcbiAgICBjb25zdCBnZXRTY29wZU5hbWUgPSBgZ2V0JHtzY29wZUNhbWVsaXplZH1TY29wZWBcblxuICAgIHJldHVybiBBcGlNYWtlckRldmlzZVtnZXRTY29wZU5hbWVdKClcbiAgfVxuXG4gIHN0YXRpYyBhc3luYyBzaWduSW4odXNlcm5hbWUsIHBhc3N3b3JkLCBhcmdzID0ge30pIHtcbiAgICBpZiAoIWFyZ3Muc2NvcGUpIGFyZ3Muc2NvcGUgPSBcInVzZXJcIlxuXG4gICAgY29uc3QgcG9zdERhdGEgPSB7dXNlcm5hbWUsIHBhc3N3b3JkLCBhcmdzfVxuXG4gICAgLy8gQWx3YXlzIHVzZSBIVFRQIGZvciBzaWduLWluIHNvIERldmlzZSBzZXRzIHRoZSBzZXNzaW9uIGNvb2tpZSBhbmRcbiAgICAvLyByZW1lbWJlci1tZSB0b2tlbiBkaXJlY3RseSBpbiB0aGUgSFRUUCByZXNwb25zZS4gV2ViU29ja2V0IHNpZ24taW5cbiAgICAvLyBjYW5ub3Qgc2V0IGNvb2tpZXMgKG5vIEhUVFAgcmVzcG9uc2UgaGVhZGVycyksIHNvIGl0IHJlbGllZCBvbiBhXG4gICAgLy8gZnJhZ2lsZSBSYWlscy5jYWNoZS1iYXNlZCBzaGFkb3cgc2Vzc2lvbiBoYW5kb2ZmIHZpYSBwZXJzaXN0U2Vzc2lvbi5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIkRldmlzZTo6U2lnbkluXCIsIHBvc3REYXRhLCB7Zm9yY2VIdHRwOiB0cnVlfSlcblxuICAgIGxldCBtb2RlbCA9IHJlc3BvbnNlLm1vZGVsXG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShtb2RlbCkpIG1vZGVsID0gbW9kZWxbMF1cblxuICAgIGNvbnN0IHNlc3Npb25TdGF0dXNVcGRhdGVyID0gU2Vzc2lvblN0YXR1c1VwZGF0ZXIuY3VycmVudCgpXG5cbiAgICBpZiAocmVzcG9uc2Uuc2Vzc2lvbl9zdGF0dXMpIHtcbiAgICAgIHNlc3Npb25TdGF0dXNVcGRhdGVyLmFwcGx5UmVzdWx0KHJlc3BvbnNlLnNlc3Npb25fc3RhdHVzKVxuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCBzZXNzaW9uU3RhdHVzVXBkYXRlci51cGRhdGVTZXNzaW9uU3RhdHVzKClcbiAgICB9XG5cbiAgICAvLyBSZXNldCB0aGUgQWN0aW9uQ2FibGUgY29ubmVjdGlvbiBzbyBpdCByZWNvbm5lY3RzIHdpdGggdGhlIG5ld1xuICAgIC8vIHNlc3Npb24gY29va2llcy4gV2l0aG91dCB0aGlzLCBXZWJTb2NrZXQgY29tbWFuZHMgd291bGQgc3RpbGwgcnVuXG4gICAgLy8gYXMgdGhlIHByZXZpb3VzIChhbm9ueW1vdXMvb2xkKSB1c2VyLlxuICAgIHJlc2V0Q2hhbm5lbHNDb25zdW1lcigpXG5cbiAgICBBcGlNYWtlckRldmlzZS51cGRhdGVTZXNzaW9uKG1vZGVsKVxuXG4gICAgaWYgKCFhcmdzLnNraXBTaWduSW5FdmVudCkge1xuICAgICAgZXZlbnRzLmVtaXQoXCJvbkRldmlzZVNpZ25JblwiLCB7dXNlcm5hbWUsIC4uLmFyZ3N9KVxuICAgIH1cblxuICAgIHJldHVybiB7bW9kZWwsIHJlc3BvbnNlfVxuICB9XG5cbiAgLyoqXG4gICAqIFN5bmNocm9uaXplcyB0aGUgY3VycmVudCBiYWNrZW5kIGF1dGggc3RhdGUgaW50byByZWFsIEhUVFAgcmVzcG9uc2UgY29va2llcy5cbiAgICpcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbYXJnc11cbiAgICogQHJldHVybnMge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIHN0YXRpYyBhc3luYyBwZXJzaXN0U2Vzc2lvbihhcmdzID0ge30pIHtcbiAgICBpZiAoIWFyZ3Muc2NvcGUpIGFyZ3Muc2NvcGUgPSBcInVzZXJcIlxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBTZXJ2aWNlcy5jdXJyZW50KCkuc2VuZFJlcXVlc3QoXCJEZXZpc2U6OlBlcnNpc3RTZXNzaW9uXCIsIGFyZ3MsIHtmb3JjZUh0dHA6IHRydWV9KVxuXG4gICAgY29uc3Qgc2Vzc2lvblN0YXR1c1VwZGF0ZXIgPSBTZXNzaW9uU3RhdHVzVXBkYXRlci5jdXJyZW50KClcblxuICAgIGlmIChyZXNwb25zZS5zZXNzaW9uX3N0YXR1cykge1xuICAgICAgc2Vzc2lvblN0YXR1c1VwZGF0ZXIuYXBwbHlSZXN1bHQocmVzcG9uc2Uuc2Vzc2lvbl9zdGF0dXMpXG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHNlc3Npb25TdGF0dXNVcGRhdGVyLnVwZGF0ZVNlc3Npb25TdGF0dXMoKVxuICAgIH1cblxuICAgIHJldHVybiByZXNwb25zZVxuICB9XG5cbiAgLyoqIHVwZGF0ZVNlc3Npb24uICovXG4gIHN0YXRpYyB1cGRhdGVTZXNzaW9uKG1vZGVsLCBhcmdzID0ge30pIHtcbiAgICBpZiAoIWFyZ3Muc2NvcGUpIGFyZ3Muc2NvcGUgPSBcInVzZXJcIlxuXG4gICAgY29uc3QgY2FtZWxpemVkU2NvcGVOYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShhcmdzLnNjb3BlLCB0cnVlKVxuXG4gICAgQXBpTWFrZXJEZXZpc2UuY3VycmVudCgpLmN1cnJlbnRzW2NhbWVsaXplZFNjb3BlTmFtZV0gPSBtb2RlbFxuICB9XG5cbiAgLyoqIGhhc0N1cnJlbnRTY29wZS4gKi9cbiAgaGFzQ3VycmVudFNjb3BlKHNjb3BlKSB7XG4gICAgY29uc3QgY2FtZWxpemVkU2NvcGVOYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZSwgdHJ1ZSlcblxuICAgIHJldHVybiBjYW1lbGl6ZWRTY29wZU5hbWUgaW4gQXBpTWFrZXJEZXZpc2UuY3VycmVudCgpLmN1cnJlbnRzXG4gIH1cblxuICAvKiogc2V0U2lnbmVkT3V0LiAqL1xuICBzdGF0aWMgc2V0U2lnbmVkT3V0KGFyZ3MpIHtcbiAgICBBcGlNYWtlckRldmlzZS5jdXJyZW50KCkuY3VycmVudHNbaW5mbGVjdGlvbi5jYW1lbGl6ZShhcmdzLnNjb3BlLCB0cnVlKV0gPSBudWxsXG4gIH1cblxuICBzdGF0aWMgYXN5bmMgc2lnbk91dChhcmdzID0ge30pIHtcbiAgICBpZiAoIWFyZ3Muc2NvcGUpIHtcbiAgICAgIGFyZ3Muc2NvcGUgPSBcInVzZXJcIlxuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgU2VydmljZXMuY3VycmVudCgpLnNlbmRSZXF1ZXN0KFwiRGV2aXNlOjpTaWduT3V0XCIsIHthcmdzfSwge2ZvcmNlSHR0cDogdHJ1ZX0pXG5cbiAgICBjb25zdCBzZXNzaW9uU3RhdHVzVXBkYXRlciA9IFNlc3Npb25TdGF0dXNVcGRhdGVyLmN1cnJlbnQoKVxuXG4gICAgaWYgKHJlc3BvbnNlLnNlc3Npb25fc3RhdHVzKSB7XG4gICAgICBzZXNzaW9uU3RhdHVzVXBkYXRlci5hcHBseVJlc3VsdChyZXNwb25zZS5zZXNzaW9uX3N0YXR1cylcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgc2Vzc2lvblN0YXR1c1VwZGF0ZXIudXBkYXRlU2Vzc2lvblN0YXR1cygpXG4gICAgICBBcGlNYWtlckRldmlzZS5zZXRTaWduZWRPdXQoYXJncylcbiAgICAgIEFwaU1ha2VyRGV2aXNlLmNhbGxTaWduT3V0RXZlbnQoYXJncylcbiAgICB9XG5cbiAgICAvLyBSZXNldCB0aGUgQWN0aW9uQ2FibGUgY29ubmVjdGlvbiBzbyBpdCByZWNvbm5lY3RzIHdpdGhvdXQgdGhlXG4gICAgLy8gb2xkIHVzZXIncyBzZXNzaW9uLiBXaXRob3V0IHRoaXMsIFdlYlNvY2tldCBjb21tYW5kcyB3b3VsZCBzdGlsbFxuICAgIC8vIHJ1biBhcyB0aGUgc2lnbmVkLW91dCB1c2VyLlxuICAgIHJlc2V0Q2hhbm5lbHNDb25zdW1lcigpXG5cbiAgICByZXR1cm4gcmVzcG9uc2VcbiAgfVxuXG4gIC8qKiBDb25zdHJ1Y3Rvci4gKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jdXJyZW50cyA9IHt9XG4gIH1cblxuICAvKiogZ2V0Q3VycmVudFNjb3BlLiAqL1xuICBnZXRDdXJyZW50U2NvcGUoc2NvcGUpIHtcbiAgICBpZiAoIShzY29wZSBpbiB0aGlzLmN1cnJlbnRzKSkge1xuICAgICAgdGhpcy5jdXJyZW50c1tzY29wZV0gPSB0aGlzLmxvYWRDdXJyZW50U2NvcGUoc2NvcGUpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY3VycmVudHNbc2NvcGVdXG4gIH1cblxuICAvKiogaGFzR2xvYmFsQ3VycmVudFNjb3BlLiAqL1xuICBoYXNHbG9iYWxDdXJyZW50U2NvcGUoc2NvcGUpIHtcbiAgICBpZiAoZ2xvYmFsVGhpcy5hcGlNYWtlckRldmlzZUN1cnJlbnQgJiYgc2NvcGUgaW4gZ2xvYmFsVGhpcy5hcGlNYWtlckRldmlzZUN1cnJlbnQpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICAvKiogbG9hZEN1cnJlbnRTY29wZS4gKi9cbiAgbG9hZEN1cnJlbnRTY29wZShzY29wZSkge1xuICAgIGlmICghdGhpcy5oYXNHbG9iYWxDdXJyZW50U2NvcGUoc2NvcGUpKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIGNvbnN0IHNjb3BlRGF0YSA9IGdsb2JhbFRoaXMuYXBpTWFrZXJEZXZpc2VDdXJyZW50W3Njb3BlXVxuXG4gICAgaWYgKCFzY29wZURhdGEpIHJldHVybiBudWxsXG5cbiAgICBjb25zdCBwYXJzZWRTY29wZURhdGEgPSBEZXNlcmlhbGl6ZXIucGFyc2Uoc2NvcGVEYXRhKVxuXG4gICAgLy8gTWlnaHQgYmUgYSBjb2xsZWN0aW9uIHdpdGggcHJlbG9hZGVkIHJlbGF0aW9uc2hpcHNcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwYXJzZWRTY29wZURhdGEpKSByZXR1cm4gcGFyc2VkU2NvcGVEYXRhWzBdXG5cbiAgICBjb25zdCBNb2RlbENsYXNzID0gbW9kZWxDbGFzc1JlcXVpcmUoc2NvcGUpXG4gICAgY29uc3QgbW9kZWxJbnN0YW5jZSA9IG5ldyBNb2RlbENsYXNzKHtkYXRhOiBwYXJzZWRTY29wZURhdGF9KVxuXG4gICAgcmV0dXJuIG1vZGVsSW5zdGFuY2VcbiAgfVxufVxuIl19
@@ -11,6 +11,10 @@ import memo from "set-state-compare/build/memo.js";
11
11
  import propTypesExact from "prop-types-exact";
12
12
  import useEventEmitter from "ya-use-event-emitter";
13
13
  export default memo(shapeComponent(class DraggableSort extends ShapeComponent {
14
+ /** @type {import("./controller.js").default} */
15
+ controller;
16
+ /** @type {import("react-native").PanResponderInstance} */
17
+ panResponder;
14
18
  static defaultProps = {
15
19
  activeItemStyle: { backgroundColor: "#fff" },
16
20
  horizontal: false
@@ -76,4 +80,4 @@ export default memo(shapeComponent(class DraggableSort extends ShapeComponent {
76
80
  }
77
81
  };
78
82
  }));
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImRyYWdnYWJsZS1zb3J0L2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBQyxRQUFRLEVBQUUsWUFBWSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLFVBQVUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QyxPQUFPLGlCQUFpQixNQUFNLFFBQVEsQ0FBQTtBQUN0QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxlQUFlLE1BQU0sc0JBQXNCLENBQUE7QUFFbEQsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sYUFBYyxTQUFRLGNBQWM7SUFDM0UsTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixlQUFlLEVBQUUsRUFBQyxlQUFlLEVBQUUsTUFBTSxFQUFDO1FBQzFDLFVBQVUsRUFBRSxLQUFLO0tBQ2xCLENBQUE7SUFFRCxNQUFNLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxlQUFlLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDakMsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDakMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVTtRQUNoQyxPQUFPLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDekIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzFDLFVBQVUsRUFB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Q0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCB7QW5pbWF0ZWQsIFBhblJlc3BvbmRlcn0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQge0V2ZW50RW1pdHRlcn0gZnJvbSBcImV2ZW50ZW1pdHRlcjNcIlxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U2hhcGVDb21wb25lbnQsIHNoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBDb250cm9sbGVyIGZyb20gXCIuL2NvbnRyb2xsZXIuanNcIlxuaW1wb3J0IERyYWdnYWJsZVNvcnRJdGVtIGZyb20gXCIuL2l0ZW1cIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHVzZUV2ZW50RW1pdHRlciBmcm9tIFwieWEtdXNlLWV2ZW50LWVtaXR0ZXJcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIERyYWdnYWJsZVNvcnQgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgYWN0aXZlSXRlbVN0eWxlOiB7YmFja2dyb3VuZENvbG9yOiBcIiNmZmZcIn0sXG4gICAgaG9yaXpvbnRhbDogZmFsc2VcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgYWN0aXZlSXRlbVN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNhY2hlS2V5RXh0cmFjdG9yOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBkYXRhOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgICBkYXRhU2V0OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGV2ZW50czogUHJvcFR5cGVzLmluc3RhbmNlT2YoRXZlbnRFbWl0dGVyKSxcbiAgICBob3Jpem9udGFsOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGtleUV4dHJhY3RvcjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRyYWdJdGVtRW5kOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkRyYWdJdGVtU3RhcnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uSXRlbU1vdmVkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvblJlb3JkZXJlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICByZW5kZXJJdGVtOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge2RhdGEsIGtleUV4dHJhY3Rvcn0gPSB0aGlzLnBcbiAgICBjb25zdCB7ZXZlbnRzfSA9IHRoaXMucHJvcHNcblxuICAgIHRoaXMuY29udHJvbGxlciB8fD0gbmV3IENvbnRyb2xsZXIoe2RhdGEsIGV2ZW50cywga2V5RXh0cmFjdG9yfSlcbiAgICB0aGlzLnBhblJlc3BvbmRlciB8fD0gUGFuUmVzcG9uZGVyLmNyZWF0ZSh7XG4gICAgICBvblN0YXJ0U2hvdWxkU2V0UGFuUmVzcG9uZGVyOiAoZSkgPT4ge1xuICAgICAgICBjb25zdCBpbml0aWFsRHJhZ1Bvc2l0aW9uID0ge3g6IGUubmF0aXZlRXZlbnQubG9jYXRpb25YLCB5OiBlLm5hdGl2ZUV2ZW50LmxvY2F0aW9uWX1cblxuICAgICAgICB0aGlzLmNvbnRyb2xsZXIuc2V0SW5pdGlhbERyYWdQb3NpdGlvbihpbml0aWFsRHJhZ1Bvc2l0aW9uKVxuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2xsZXIuZHJhZ2dlZEl0ZW1EYXRhKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG9uUGFuUmVzcG9uZGVyTW92ZTogKF9lLCBnZXN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMudHQuY29udHJvbGxlci5vbk1vdmUoe2dlc3RhdGV9KVxuICAgICAgfSxcbiAgICAgIG9uUGFuUmVzcG9uZGVyUmVsZWFzZTogKF9lLCBfZ2VzdGF0ZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sbGVyLmRyYWdnZWRJdGVtKSB7XG4gICAgICAgICAgdGhpcy50dC5jb250cm9sbGVyLm9uRHJhZ0VuZCgpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdXNlRXZlbnRFbWl0dGVyKHRoaXMuY29udHJvbGxlci5nZXRFdmVudHMoKSwgXCJvbkRyYWdTdGFydFwiLCB0aGlzLnR0Lm9uRHJhZ0l0ZW1TdGFydClcbiAgICB1c2VFdmVudEVtaXR0ZXIodGhpcy5jb250cm9sbGVyLmdldEV2ZW50cygpLCBcIm9uRHJhZ0VuZFwiLCB0aGlzLnR0Lm9uRHJhZ0l0ZW1FbmQpXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2RhdGEsIGhvcml6b250YWwsIGtleUV4dHJhY3RvciwgcmVuZGVySXRlbX0gPSB0aGlzLnBcbiAgICBjb25zdCB7Y2FjaGVLZXlFeHRyYWN0b3IsIGRhdGFTZXR9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGFjdHVhbERhdGFTZXQgPSB1c2VNZW1vKCgpID0+ICh7XG4gICAgICBjb21wb25lbnQ6IFwiZHJhZ2dhYmxlLXNvcnRcIixcbiAgICAgIC4uLmRhdGFTZXRcbiAgICB9KSwgW2RhdGFTZXRdKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxBbmltYXRlZC5WaWV3XG4gICAgICAgIGRhdGFTZXQ9e2FjdHVhbERhdGFTZXR9XG4gICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwicm9vdFZpZXdTdHlsZVwiLCB7ZmxleERpcmVjdGlvbjogaG9yaXpvbnRhbCA/IFwicm93XCIgOiBcImNvbHVtblwifSwgW2hvcml6b250YWxdKX1cbiAgICAgICAgey4uLnRoaXMudHQucGFuUmVzcG9uZGVyLnBhbkhhbmRsZXJzfVxuICAgICAgPlxuICAgICAgICB7ZGF0YS5tYXAoKGl0ZW0sIGl0ZW1JbmRleCkgPT4gKFxuICAgICAgICAgIDxEcmFnZ2FibGVTb3J0SXRlbVxuICAgICAgICAgICAgYWN0aXZlSXRlbVN0eWxlPXt0aGlzLnAuYWN0aXZlSXRlbVN0eWxlfVxuICAgICAgICAgICAgY2FjaGVLZXk9e2NhY2hlS2V5RXh0cmFjdG9yID8gY2FjaGVLZXlFeHRyYWN0b3IoaXRlbSkgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBjb250cm9sbGVyPXt0aGlzLnR0LmNvbnRyb2xsZXJ9XG4gICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgaXRlbUluZGV4PXtpdGVtSW5kZXh9XG4gICAgICAgICAgICBrZXk9e2tleUV4dHJhY3RvcihpdGVtKX1cbiAgICAgICAgICAgIG9uSXRlbU1vdmVkPXt0aGlzLnByb3BzLm9uSXRlbU1vdmVkfVxuICAgICAgICAgICAgcmVuZGVySXRlbT17cmVuZGVySXRlbX1cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICAgIDwvQW5pbWF0ZWQuVmlldz5cbiAgICApXG4gIH1cblxuICBvbkRyYWdJdGVtU3RhcnQgPSAoe2l0ZW1EYXRhfSkgPT4ge1xuICAgIGlmICh0aGlzLnByb3BzLm9uRHJhZ0l0ZW1TdGFydCkge1xuICAgICAgdGhpcy5wLm9uRHJhZ0l0ZW1TdGFydCh7aXRlbURhdGF9KVxuICAgIH1cbiAgfVxuXG4gIG9uRHJhZ0l0ZW1FbmQgPSAoYXJncykgPT4ge1xuICAgIGlmIChhcmdzLnRvUG9zaXRpb24gIT09IG51bGwpIHtcbiAgICAgIHRoaXMucC5vblJlb3JkZXJlZChhcmdzKVxuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLm9uRHJhZ0l0ZW1FbmQpIHtcbiAgICAgIHRoaXMucC5vbkRyYWdJdGVtRW5kKGFyZ3MpXG4gICAgfVxuICB9XG59KSlcbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImRyYWdnYWJsZS1zb3J0L2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBQyxRQUFRLEVBQUUsWUFBWSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLFVBQVUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QyxPQUFPLGlCQUFpQixNQUFNLFFBQVEsQ0FBQTtBQUN0QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxlQUFlLE1BQU0sc0JBQXNCLENBQUE7QUFFbEQsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sYUFBYyxTQUFRLGNBQWM7SUFDM0UsZ0RBQWdEO0lBQ2hELFVBQVUsQ0FBQTtJQUVWLDBEQUEwRDtJQUMxRCxZQUFZLENBQUE7SUFFWixNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLGVBQWUsRUFBRSxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUM7UUFDMUMsVUFBVSxFQUFFLEtBQUs7S0FDbEIsQ0FBQTtJQUVELE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLGVBQWUsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNqQyxpQkFBaUIsRUFBRSxTQUFTLENBQUMsSUFBSTtRQUNqQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVO1FBQ2hDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN6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YUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzVCLENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IHtBbmltYXRlZCwgUGFuUmVzcG9uZGVyfSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IENvbnRyb2xsZXIgZnJvbSBcIi4vY29udHJvbGxlci5qc1wiXG5pbXBvcnQgRHJhZ2dhYmxlU29ydEl0ZW0gZnJvbSBcIi4vaXRlbVwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgdXNlRXZlbnRFbWl0dGVyIGZyb20gXCJ5YS11c2UtZXZlbnQtZW1pdHRlclwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgRHJhZ2dhYmxlU29ydCBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgLyoqIEB0eXBlIHtpbXBvcnQoXCIuL2NvbnRyb2xsZXIuanNcIikuZGVmYXVsdH0gKi9cbiAgY29udHJvbGxlclxuXG4gIC8qKiBAdHlwZSB7aW1wb3J0KFwicmVhY3QtbmF0aXZlXCIpLlBhblJlc3BvbmRlckluc3RhbmNlfSAqL1xuICBwYW5SZXNwb25kZXJcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGFjdGl2ZUl0ZW1TdHlsZToge2JhY2tncm91bmRDb2xvcjogXCIjZmZmXCJ9LFxuICAgIGhvcml6b250YWw6IGZhbHNlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGFjdGl2ZUl0ZW1TdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjYWNoZUtleUV4dHJhY3RvcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGF0YTogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gICAgZGF0YVNldDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBldmVudHM6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEV2ZW50RW1pdHRlciksXG4gICAgaG9yaXpvbnRhbDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBrZXlFeHRyYWN0b3I6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EcmFnSXRlbUVuZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25EcmFnSXRlbVN0YXJ0OiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkl0ZW1Nb3ZlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25SZW9yZGVyZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcmVuZGVySXRlbTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtkYXRhLCBrZXlFeHRyYWN0b3J9ID0gdGhpcy5wXG4gICAgY29uc3Qge2V2ZW50c30gPSB0aGlzLnByb3BzXG5cbiAgICB0aGlzLmNvbnRyb2xsZXIgfHw9IG5ldyBDb250cm9sbGVyKHtkYXRhLCBldmVudHMsIGtleUV4dHJhY3Rvcn0pXG4gICAgdGhpcy5wYW5SZXNwb25kZXIgfHw9IFBhblJlc3BvbmRlci5jcmVhdGUoe1xuICAgICAgb25TdGFydFNob3VsZFNldFBhblJlc3BvbmRlcjogKGUpID0+IHtcbiAgICAgICAgY29uc3QgaW5pdGlhbERyYWdQb3NpdGlvbiA9IHt4OiBlLm5hdGl2ZUV2ZW50LmxvY2F0aW9uWCwgeTogZS5uYXRpdmVFdmVudC5sb2NhdGlvbll9XG5cbiAgICAgICAgdGhpcy5jb250cm9sbGVyLnNldEluaXRpYWxEcmFnUG9zaXRpb24oaW5pdGlhbERyYWdQb3NpdGlvbilcblxuICAgICAgICBpZiAodGhpcy5jb250cm9sbGVyLmRyYWdnZWRJdGVtRGF0YSkge1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvblBhblJlc3BvbmRlck1vdmU6IChfZSwgZ2VzdGF0ZSkgPT4ge1xuICAgICAgICB0aGlzLnR0LmNvbnRyb2xsZXIub25Nb3ZlKHtnZXN0YXRlfSlcbiAgICAgIH0sXG4gICAgICBvblBhblJlc3BvbmRlclJlbGVhc2U6IChfZSwgX2dlc3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbGxlci5kcmFnZ2VkSXRlbSkge1xuICAgICAgICAgIHRoaXMudHQuY29udHJvbGxlci5vbkRyYWdFbmQoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcblxuICAgIHVzZUV2ZW50RW1pdHRlcih0aGlzLmNvbnRyb2xsZXIuZ2V0RXZlbnRzKCksIFwib25EcmFnU3RhcnRcIiwgdGhpcy50dC5vbkRyYWdJdGVtU3RhcnQpXG4gICAgdXNlRXZlbnRFbWl0dGVyKHRoaXMuY29udHJvbGxlci5nZXRFdmVudHMoKSwgXCJvbkRyYWdFbmRcIiwgdGhpcy50dC5vbkRyYWdJdGVtRW5kKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtkYXRhLCBob3Jpem9udGFsLCBrZXlFeHRyYWN0b3IsIHJlbmRlckl0ZW19ID0gdGhpcy5wXG4gICAgY29uc3Qge2NhY2hlS2V5RXh0cmFjdG9yLCBkYXRhU2V0fSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBhY3R1YWxEYXRhU2V0ID0gdXNlTWVtbygoKSA9PiAoe1xuICAgICAgY29tcG9uZW50OiBcImRyYWdnYWJsZS1zb3J0XCIsXG4gICAgICAuLi5kYXRhU2V0XG4gICAgfSksIFtkYXRhU2V0XSlcblxuICAgIHJldHVybiAoXG4gICAgICA8QW5pbWF0ZWQuVmlld1xuICAgICAgICBkYXRhU2V0PXthY3R1YWxEYXRhU2V0fVxuICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcInJvb3RWaWV3U3R5bGVcIiwge2ZsZXhEaXJlY3Rpb246IGhvcml6b250YWwgPyBcInJvd1wiIDogXCJjb2x1bW5cIn0sIFtob3Jpem9udGFsXSl9XG4gICAgICAgIHsuLi50aGlzLnR0LnBhblJlc3BvbmRlci5wYW5IYW5kbGVyc31cbiAgICAgID5cbiAgICAgICAge2RhdGEubWFwKChpdGVtLCBpdGVtSW5kZXgpID0+IChcbiAgICAgICAgICA8RHJhZ2dhYmxlU29ydEl0ZW1cbiAgICAgICAgICAgIGFjdGl2ZUl0ZW1TdHlsZT17dGhpcy5wLmFjdGl2ZUl0ZW1TdHlsZX1cbiAgICAgICAgICAgIGNhY2hlS2V5PXtjYWNoZUtleUV4dHJhY3RvciA/IGNhY2hlS2V5RXh0cmFjdG9yKGl0ZW0pIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgY29udHJvbGxlcj17dGhpcy50dC5jb250cm9sbGVyfVxuICAgICAgICAgICAgaXRlbT17aXRlbX1cbiAgICAgICAgICAgIGl0ZW1JbmRleD17aXRlbUluZGV4fVxuICAgICAgICAgICAga2V5PXtrZXlFeHRyYWN0b3IoaXRlbSl9XG4gICAgICAgICAgICBvbkl0ZW1Nb3ZlZD17dGhpcy5wcm9wcy5vbkl0ZW1Nb3ZlZH1cbiAgICAgICAgICAgIHJlbmRlckl0ZW09e3JlbmRlckl0ZW19XG4gICAgICAgICAgLz5cbiAgICAgICAgKSl9XG4gICAgICA8L0FuaW1hdGVkLlZpZXc+XG4gICAgKVxuICB9XG5cbiAgb25EcmFnSXRlbVN0YXJ0ID0gKHtpdGVtRGF0YX0pID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5vbkRyYWdJdGVtU3RhcnQpIHtcbiAgICAgIHRoaXMucC5vbkRyYWdJdGVtU3RhcnQoe2l0ZW1EYXRhfSlcbiAgICB9XG4gIH1cblxuICBvbkRyYWdJdGVtRW5kID0gKGFyZ3MpID0+IHtcbiAgICBpZiAoYXJncy50b1Bvc2l0aW9uICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnAub25SZW9yZGVyZWQoYXJncylcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5vbkRyYWdJdGVtRW5kKSB7XG4gICAgICB0aGlzLnAub25EcmFnSXRlbUVuZChhcmdzKVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
@@ -18,6 +18,12 @@ export default memo(shapeComponent(class DraggableSortItem extends ShapeComponen
18
18
  onItemMoved: PropTypes.func,
19
19
  renderItem: PropTypes.func.isRequired
20
20
  });
21
+ /** @type {import("eventemitter3").EventEmitter} */
22
+ events;
23
+ /** @type {import("react-native").Animated.ValueXY} */
24
+ position;
25
+ /** @type {import("react-native").PanResponderInstance} */
26
+ panResponder;
21
27
  initialLayout = null;
22
28
  setup() {
23
29
  this.useStates({
@@ -143,4 +149,4 @@ export default memo(shapeComponent(class DraggableSortItem extends ShapeComponen
143
149
  }
144
150
  };
145
151
  }));
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiZHJhZ2dhYmxlLXNvcnQvaXRlbS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlDQUFpQztBQUNqQyxPQUFPLEVBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNwQyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLGVBQWUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVsRCxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxpQkFBa0IsU0FBUSxjQUFjO0lBQy9FLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLGVBQWUsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNqQyxRQUFRLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDMUIsVUFBVSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUN2QyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVO1FBQzlCLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDdEMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQzNCLFVBQVUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7S0FDdEMsQ0FBQyxDQUFBO0lBRUYsYUFBYSxHQUFHLElBQUksQ0FBQTtJQUVwQixLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLE1BQU0sRUFBRSxL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SixDQUFDO0lBQ0gsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCB7QW5pbWF0ZWQsIEVhc2luZywgUGFuUmVzcG9uZGVyfSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHVzZUV2ZW50RW1pdHRlciBmcm9tIFwieWEtdXNlLWV2ZW50LWVtaXR0ZXJcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIERyYWdnYWJsZVNvcnRJdGVtIGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGFjdGl2ZUl0ZW1TdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjYWNoZUtleTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb250cm9sbGVyOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgaXRlbTogUHJvcFR5cGVzLmFueS5pc1JlcXVpcmVkLFxuICAgIGl0ZW1JbmRleDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICAgIG9uSXRlbU1vdmVkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICByZW5kZXJJdGVtOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgaW5pdGlhbExheW91dCA9IG51bGxcblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBhY3RpdmU6IGZhbHNlLFxuICAgICAgZHJhZ2dpbmc6IGZhbHNlXG4gICAgfSlcblxuICAgIHRoaXMuZXZlbnRzIHx8PSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgICB0aGlzLnBvc2l0aW9uIHx8PSBuZXcgQW5pbWF0ZWQuVmFsdWVYWSgpXG4gICAgdGhpcy5wYW5SZXNwb25kZXIgfHw9IFBhblJlc3BvbmRlci5jcmVhdGUoe1xuICAgICAgb25TdGFydFNob3VsZFNldFBhblJlc3BvbmRlcjogKF9ldmVudCkgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtkcmFnZ2luZzogdHJ1ZX0pXG4gICAgICAgIHRoaXMucC5jb250cm9sbGVyLm9uRHJhZ1N0YXJ0KHtpdGVtOiB0aGlzLnAuaXRlbSwgaXRlbUluZGV4OiB0aGlzLnAuaXRlbUluZGV4fSlcblxuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdXNlRXZlbnRFbWl0dGVyKHRoaXMucC5jb250cm9sbGVyLmdldEV2ZW50cygpLCBcIm9uRHJhZ1N0YXJ0XCIsIHRoaXMudHQub25EcmFnU3RhcnQpXG4gICAgdXNlRXZlbnRFbWl0dGVyKHRoaXMucC5jb250cm9sbGVyLmdldEV2ZW50cygpLCBcIm9uRHJhZ0VuZEFuaW1hdGlvblwiLCB0aGlzLnR0Lm9uRHJhZ0VuZEFuaW1hdGlvbilcbiAgICB1c2VFdmVudEVtaXR0ZXIodGhpcy50dC5ldmVudHMsIFwibW92ZVwiLCB0aGlzLnR0Lm9uTW92ZSlcbiAgICB1c2VFdmVudEVtaXR0ZXIodGhpcy50dC5ldmVudHMsIFwibW92ZVRvUG9zaXRpb25cIiwgdGhpcy50dC5vbk1vdmVUb1Bvc2l0aW9uKVxuICAgIHVzZUV2ZW50RW1pdHRlcih0aGlzLnR0LmV2ZW50cywgXCJyZXNldFBvc2l0aW9uXCIsIHRoaXMudHQub25SZXNldFBvc2l0aW9uKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHthY3RpdmVJdGVtU3R5bGUsIGl0ZW0sIHJlbmRlckl0ZW19ID0gdGhpcy5wXG4gICAgY29uc3Qge2FjdGl2ZX0gPSB0aGlzLnNcbiAgICBjb25zdCBzdHlsZSA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGJhc2VUcmFuc2Zvcm0gPSB0aGlzLnR0LnBvc2l0aW9uLmdldFRyYW5zbGF0ZVRyYW5zZm9ybSgpXG4gICAgICAgIGNvbnN0IHN0eWxlID0ge3RyYW5zZm9ybTogYmFzZVRyYW5zZm9ybX1cblxuICAgICAgICBpZiAoYWN0aXZlKSB7XG4gICAgICAgICAgaWYgKGFjdGl2ZUl0ZW1TdHlsZSkge1xuICAgICAgICAgICAgY29uc3Qge3RyYW5zZm9ybTogYWN0aXZlVHJhbnNmb3JtLCAuLi5yZXN0QWN0aXZlU3R5bGV9ID0gYWN0aXZlSXRlbVN0eWxlXG5cbiAgICAgICAgICAgIGlmIChhY3RpdmVUcmFuc2Zvcm0pIHtcbiAgICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZEFjdGl2ZVRyYW5zZm9ybSA9IEFycmF5LmlzQXJyYXkoYWN0aXZlVHJhbnNmb3JtKSA/IGFjdGl2ZVRyYW5zZm9ybSA6IFthY3RpdmVUcmFuc2Zvcm1dXG5cbiAgICAgICAgICAgICAgc3R5bGUudHJhbnNmb3JtID0gYmFzZVRyYW5zZm9ybS5jb25jYXQobm9ybWFsaXplZEFjdGl2ZVRyYW5zZm9ybSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihzdHlsZSwgcmVzdEFjdGl2ZVN0eWxlKVxuICAgICAgICAgIH1cbiAgICAgICAgICBzdHlsZS5lbGV2YXRpb24gPSAyXG4gICAgICAgICAgc3R5bGUuekluZGV4ID0gOTk5OTlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdHlsZVxuICAgICAgfSxcbiAgICAgIFthY3RpdmUsIGFjdGl2ZUl0ZW1TdHlsZV1cbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPEFuaW1hdGVkLlZpZXcgZGF0YVNldD17dGhpcy5jYWNoZShcImRyYWdnYWJsZVNvcnRJdGVtRGF0YVNldFwiLCB7Y29tcG9uZW50OiBcImRyYWdnYWJsZS1zb3J0L2l0ZW1cIn0pfSBvbkxheW91dD17dGhpcy50dC5vbkxheW91dH0gc3R5bGU9e3N0eWxlfT5cbiAgICAgICAge3JlbmRlckl0ZW0oe2lzQWN0aXZlOiBhY3RpdmUsIGl0ZW0sIHRvdWNoUHJvcHM6IHRoaXMudHQucGFuUmVzcG9uZGVyLnBhbkhhbmRsZXJzfSl9XG4gICAgICA8L0FuaW1hdGVkLlZpZXc+XG4gICAgKVxuICB9XG5cbiAgb25EcmFnU3RhcnQgPSAoe2l0ZW1EYXRhfSkgPT4ge1xuICAgIGNvbnN0IG5ld1N0YXRlID0ge2RyYWdnaW5nOiB0cnVlfVxuXG4gICAgaWYgKGl0ZW1EYXRhLmluZGV4ID09IHRoaXMucC5pdGVtSW5kZXgpIHtcbiAgICAgIG5ld1N0YXRlLmFjdGl2ZSA9IHRydWVcbiAgICAgIHRoaXMuYmFzZVhBdFN0YXJ0ZWREcmFnZ2luZyA9IHRoaXMuZ2V0QmFzZVgoKVxuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUobmV3U3RhdGUpXG4gIH1cblxuICBvbkRyYWdFbmRBbmltYXRpb24gPSAoKSA9PiB0aGlzLnNldFN0YXRlKHthY3RpdmU6IGZhbHNlLCBkcmFnZ2luZzogZmFsc2V9KVxuXG4gIG9uTGF5b3V0ID0gKGUpID0+IHtcbiAgICBjb25zdCB7Y29udHJvbGxlciwgaXRlbSwgaXRlbUluZGV4fSA9IHRoaXMucFxuXG4gICAgY29udHJvbGxlci5vbkl0ZW1MYXlvdXQoe2V2ZW50czogdGhpcy50dC5ldmVudHMsIGluZGV4OiBpdGVtSW5kZXgsIGl0ZW0sIGxheW91dDogZS5uYXRpdmVFdmVudC5sYXlvdXR9KVxuXG4gICAgaWYgKCF0aGlzLnR0LmluaXRpYWxMYXlvdXQpIHtcbiAgICAgIHRoaXMuaW5pdGlhbExheW91dCA9IGUubmF0aXZlRXZlbnQubGF5b3V0XG4gICAgfVxuICB9XG5cbiAgb25Nb3ZlID0gKHtnZXN0YXRlfSkgPT4ge1xuICAgIGNvbnN0IHggPSBnZXN0YXRlLmR4ICsgdGhpcy50dC5iYXNlWEF0U3RhcnRlZERyYWdnaW5nIC0gdGhpcy50dC5pbml0aWFsTGF5b3V0LnhcbiAgICBjb25zdCB5ID0gdGhpcy50dC5pbml0aWFsTGF5b3V0LnlcblxuICAgIHRoaXMudHQucG9zaXRpb24uc2V0VmFsdWUoe3gsIHl9KVxuXG4gICAgaWYgKHRoaXMucHJvcHMub25JdGVtTW92ZWQpIHtcbiAgICAgIHRoaXMucC5vbkl0ZW1Nb3ZlZCh7aXRlbUluZGV4OiB0aGlzLnAuaXRlbUluZGV4LCB4LCB5fSlcbiAgICB9XG4gIH1cblxuICBvbk1vdmVUb1Bvc2l0aW9uID0gKHt4LCB5fSkgPT4ge1xuICAgIGNvbnN0IGNhbGN1bGF0ZWRYRnJvbVN0YXJ0aW5nUG9zaXRpb24gPSB4IC0gdGhpcy50dC5pbml0aWFsTGF5b3V0LnhcbiAgICBjb25zdCBhbmltYXRpb25BcmdzID0ge1xuICAgICAgZHVyYXRpb246IDIwMCxcbiAgICAgIGVhc2luZzogRWFzaW5nLmluT3V0KEVhc2luZy5saW5lYXIpLFxuICAgICAgdG9WYWx1ZToge1xuICAgICAgICB4OiBjYWxjdWxhdGVkWEZyb21TdGFydGluZ1Bvc2l0aW9uLFxuICAgICAgICB5XG4gICAgICB9LFxuICAgICAgdXNlTmF0aXZlRHJpdmVyOiB0cnVlXG4gICAgfVxuICAgIGNvbnN0IGFuaW1hdGlvbkV2ZW50QXJncyA9IHthbmltYXRpb25BcmdzLCBhbmltYXRpb25UeXBlOiBcIm1vdmVUb1Bvc2l0aW9uXCIsIGl0ZW06IHRoaXMucC5pdGVtfVxuXG4gICAgdGhpcy5wLmNvbnRyb2xsZXIuZXZlbnRzLmVtaXQoXCJvbkFuaW1hdGlvblN0YXJ0XCIsIGFuaW1hdGlvbkV2ZW50QXJncylcblxuICAgIEFuaW1hdGVkXG4gICAgICAudGltaW5nKHRoaXMudHQucG9zaXRpb24sIGFuaW1hdGlvbkFyZ3MpXG4gICAgICAuc3RhcnQoKCkgPT4ge1xuICAgICAgICB0aGlzLnAuY29udHJvbGxlci5ldmVudHMuZW1pdChcIm9uQW5pbWF0aW9uRW5kXCIsIGFuaW1hdGlvbkV2ZW50QXJncylcbiAgICAgIH0pXG5cbiAgICBpZiAodGhpcy5wcm9wcy5vbkl0ZW1Nb3ZlZCkge1xuICAgICAgdGhpcy5wLm9uSXRlbU1vdmVkKHtcbiAgICAgICAgYW5pbWF0aW9uQXJncyxcbiAgICAgICAgaXRlbUluZGV4OiB0aGlzLnAuaXRlbUluZGV4LFxuICAgICAgICB4OiBjYWxjdWxhdGVkWEZyb21TdGFydGluZ1Bvc2l0aW9uLFxuICAgICAgICB5XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGdldEJhc2VYID0gKCkgPT4gdGhpcy5wLmNvbnRyb2xsZXIuZ2V0SXRlbURhdGFGb3JJbmRleCh0aGlzLnAuaXRlbUluZGV4KS5iYXNlWFxuXG4gIG9uUmVzZXRQb3NpdGlvbiA9IChhcmdzKSA9PiB7XG4gICAgY29uc3QgYmFzZVggPSB0aGlzLmdldEJhc2VYKCkgLSB0aGlzLnR0LmluaXRpYWxMYXlvdXQueFxuICAgIGNvbnN0IGFuaW1hdGlvbkFyZ3MgPSB7XG4gICAgICBkdXJhdGlvbjogMjAwLFxuICAgICAgZWFzaW5nOiBFYXNpbmcuaW5PdXQoRWFzaW5nLmxpbmVhciksXG4gICAgICB0b1ZhbHVlOiB7XG4gICAgICAgIHg6IGJhc2VYLFxuICAgICAgICB5OiAwXG4gICAgICB9LFxuICAgICAgdXNlTmF0aXZlRHJpdmVyOiB0cnVlXG4gICAgfVxuICAgIGNvbnN0IGFuaW1hdGlvbkV2ZW50QXJncyA9IHthbmltYXRpb25BcmdzLCBhbmltYXRpb25UeXBlOiBcInJlc2V0UG9zaXRpb25cIiwgaXRlbTogdGhpcy5wLml0ZW19XG5cbiAgICB0aGlzLnAuY29udHJvbGxlci5ldmVudHMuZW1pdChcIm9uQW5pbWF0aW9uU3RhcnRcIiwgYW5pbWF0aW9uRXZlbnRBcmdzKVxuXG4gICAgQW5pbWF0ZWRcbiAgICAgIC50aW1pbmcodGhpcy50dC5wb3NpdGlvbiwgYW5pbWF0aW9uQXJncylcbiAgICAgIC5zdGFydCgoKSA9PiB7XG4gICAgICAgIHRoaXMucC5jb250cm9sbGVyLmV2ZW50cy5lbWl0KFwib25BbmltYXRpb25FbmRcIiwgYW5pbWF0aW9uRXZlbnRBcmdzKVxuICAgICAgICBpZiAoYXJncz8uY2FsbGJhY2spIGFyZ3MuY2FsbGJhY2soKVxuICAgICAgfSlcblxuICAgIGlmICh0aGlzLnByb3BzLm9uSXRlbU1vdmVkKSB7XG4gICAgICB0aGlzLnAub25JdGVtTW92ZWQoe1xuICAgICAgICBhbmltYXRpb25BcmdzLFxuICAgICAgICBpdGVtSW5kZXg6IHRoaXMucC5pdGVtSW5kZXgsXG4gICAgICAgIHg6IGJhc2VYLFxuICAgICAgICB5OiAwXG4gICAgICB9KVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiZHJhZ2dhYmxlLXNvcnQvaXRlbS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlDQUFpQztBQUNqQyxPQUFPLEVBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNwQyxPQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pGLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLGVBQWUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVsRCxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxpQkFBa0IsU0FBUSxjQUFjO0lBQy9FLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLGVBQWUsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNqQyxRQUFRLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDMUIsVUFBVSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUN2QyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVO1FBQzlCLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDdEMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQzNCLFVBQVUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7S0FDdEMsQ0FBQyxDQUFBO0lBRUYsbURBQW1EO0lBQ25ELE1BQU0sQ0FBQTtJQUVOLHNEQUFzRDtJQUN0RCxRQUFRLENBQUE7SUFFUiwwREFBMEQ7SUFDMUQsWUFBWSxDQUFBO0lBRVosYUFBYSxHQUFHLElBQUksQ0FBQTtJQUVwQixLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLE1BQU0sRUFBRSxLQUFLO1lBQ2IsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDeEMsSUFBSSxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsTUFBTSxDQUFDO1lBQ3hDLDRCQUE0QixFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtnQkFDL0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUE7Z0JBRS9FLE9BQU8sS0FBSyxDQUFBO1lBQ2QsQ0FBQztTQUNGLENBQUMsQ0FBQTtRQUVGLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNsRixlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBQ2hHLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN2RCxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBQzNFLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUMzRSxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDbEQsTUFBTSxFQUFDLE1BQU0sRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDdkIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUNuQixHQUFHLEVBQUU7WUFDSCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFBO1lBQzlELE1BQU0sS0FBSyxHQUFHLEVBQUMsU0FBUyxFQUFFLGFBQWEsRUFBQyxDQUFBO1lBRXhDLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxlQUFlLEVBQUUsQ0FBQztvQkFDcEIsTUFBTSxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsR0FBRyxlQUFlLEVBQUMsR0FBRyxlQUFlLENBQUE7b0JBRXhFLElBQUksZUFBZSxFQUFFLENBQUM7d0JBQ3BCLE1BQU0seUJBQXlCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFBO3dCQUV0RyxLQUFLLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQTtvQkFDbkUsQ0FBQztvQkFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsQ0FBQTtnQkFDdkMsQ0FBQztnQkFDRCxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQTtnQkFDbkIsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7WUFDdEIsQ0FBQztZQUVELE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQyxFQUNELENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUMxQixDQUFBO1FBRUQsT0FBTyxDQUNMLEtBQUMsUUFBUSxDQUFDLElBQUksSUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxFQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLFlBQ3pJLFVBQVUsQ0FBQyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUMsQ0FBQyxHQUNyRSxDQUNqQixDQUFBO0lBQ0gsQ0FBQztJQUVELFdBQVcsR0FBRyxDQUFDLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBRTtRQUMzQixNQUFNLFFBQVEsR0FBRyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQTtRQUVqQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN2QyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQTtZQUN0QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQy9DLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3pCLENBQUMsQ0FBQTtJQUVELGtCQUFrQixHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO0lBRTFFLFFBQVEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2YsTUFBTSxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUU1QyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBQyxDQUFDLENBQUE7UUFFdkcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQTtRQUMzQyxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsTUFBTSxHQUFHLENBQUMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFO1FBQ3JCLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUE7UUFDL0UsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFBO1FBRWpDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFBO1FBRWpDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQTtRQUN6RCxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsZ0JBQWdCLEdBQUcsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFFO1FBQzVCLE1BQU0sK0JBQStCLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQTtRQUNuRSxNQUFNLGFBQWEsR0FBRztZQUNwQixRQUFRLEVBQUUsR0FBRztZQUNiLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDbkMsT0FBTyxFQUFFO2dCQUNQLENBQUMsRUFBRSwrQkFBK0I7Z0JBQ2xDLENBQUM7YUFDRjtZQUNELGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUE7UUFDRCxNQUFNLGtCQUFrQixHQUFHLEVBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQTtRQUU5RixJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDLENBQUE7UUFFckUsUUFBUTthQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUM7YUFDdkMsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtRQUNyRSxDQUFDLENBQUMsQ0FBQTtRQUVKLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztnQkFDakIsYUFBYTtnQkFDYixTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUMzQixDQUFDLEVBQUUsK0JBQStCO2dCQUNsQyxDQUFDO2FBQ0YsQ0FBQyxDQUFBO1FBQ0osQ0FBQztJQUNILENBQUMsQ0FBQTtJQUVELFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUU5RSxlQUFlLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFBO1FBQ3ZELE1BQU0sYUFBYSxHQUFHO1lBQ3BCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNuQyxPQUFPLEVBQUU7Z0JBQ1AsQ0FBQyxFQUFFLEtBQUs7Z0JBQ1IsQ0FBQyxFQUFFLENBQUM7YUFDTDtZQUNELGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUE7UUFDRCxNQUFNLGtCQUFrQixHQUFHLEVBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUE7UUFFN0YsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFBO1FBRXJFLFFBQVE7YUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDO2FBQ3ZDLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLENBQUE7WUFDbkUsSUFBSSxJQUFJLEVBQUUsUUFBUTtnQkFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDckMsQ0FBQyxDQUFDLENBQUE7UUFFSixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7Z0JBQ2pCLGFBQWE7Z0JBQ2IsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUztnQkFDM0IsQ0FBQyxFQUFFLEtBQUs7Z0JBQ1IsQ0FBQyxFQUFFLENBQUM7YUFDTCxDQUFDLENBQUE7UUFDSixDQUFDO0lBQ0gsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCB7QW5pbWF0ZWQsIEVhc2luZywgUGFuUmVzcG9uZGVyfSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHVzZUV2ZW50RW1pdHRlciBmcm9tIFwieWEtdXNlLWV2ZW50LWVtaXR0ZXJcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIERyYWdnYWJsZVNvcnRJdGVtIGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGFjdGl2ZUl0ZW1TdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjYWNoZUtleTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb250cm9sbGVyOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgaXRlbTogUHJvcFR5cGVzLmFueS5pc1JlcXVpcmVkLFxuICAgIGl0ZW1JbmRleDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICAgIG9uSXRlbU1vdmVkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICByZW5kZXJJdGVtOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgLyoqIEB0eXBlIHtpbXBvcnQoXCJldmVudGVtaXR0ZXIzXCIpLkV2ZW50RW1pdHRlcn0gKi9cbiAgZXZlbnRzXG5cbiAgLyoqIEB0eXBlIHtpbXBvcnQoXCJyZWFjdC1uYXRpdmVcIikuQW5pbWF0ZWQuVmFsdWVYWX0gKi9cbiAgcG9zaXRpb25cblxuICAvKiogQHR5cGUge2ltcG9ydChcInJlYWN0LW5hdGl2ZVwiKS5QYW5SZXNwb25kZXJJbnN0YW5jZX0gKi9cbiAgcGFuUmVzcG9uZGVyXG5cbiAgaW5pdGlhbExheW91dCA9IG51bGxcblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBhY3RpdmU6IGZhbHNlLFxuICAgICAgZHJhZ2dpbmc6IGZhbHNlXG4gICAgfSlcblxuICAgIHRoaXMuZXZlbnRzIHx8PSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgICB0aGlzLnBvc2l0aW9uIHx8PSBuZXcgQW5pbWF0ZWQuVmFsdWVYWSgpXG4gICAgdGhpcy5wYW5SZXNwb25kZXIgfHw9IFBhblJlc3BvbmRlci5jcmVhdGUoe1xuICAgICAgb25TdGFydFNob3VsZFNldFBhblJlc3BvbmRlcjogKF9ldmVudCkgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtkcmFnZ2luZzogdHJ1ZX0pXG4gICAgICAgIHRoaXMucC5jb250cm9sbGVyLm9uRHJhZ1N0YXJ0KHtpdGVtOiB0aGlzLnAuaXRlbSwgaXRlbUluZGV4OiB0aGlzLnAuaXRlbUluZGV4fSlcblxuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdXNlRXZlbnRFbWl0dGVyKHRoaXMucC5jb250cm9sbGVyLmdldEV2ZW50cygpLCBcIm9uRHJhZ1N0YXJ0XCIsIHRoaXMudHQub25EcmFnU3RhcnQpXG4gICAgdXNlRXZlbnRFbWl0dGVyKHRoaXMucC5jb250cm9sbGVyLmdldEV2ZW50cygpLCBcIm9uRHJhZ0VuZEFuaW1hdGlvblwiLCB0aGlzLnR0Lm9uRHJhZ0VuZEFuaW1hdGlvbilcbiAgICB1c2VFdmVudEVtaXR0ZXIodGhpcy50dC5ldmVudHMsIFwibW92ZVwiLCB0aGlzLnR0Lm9uTW92ZSlcbiAgICB1c2VFdmVudEVtaXR0ZXIodGhpcy50dC5ldmVudHMsIFwibW92ZVRvUG9zaXRpb25cIiwgdGhpcy50dC5vbk1vdmVUb1Bvc2l0aW9uKVxuICAgIHVzZUV2ZW50RW1pdHRlcih0aGlzLnR0LmV2ZW50cywgXCJyZXNldFBvc2l0aW9uXCIsIHRoaXMudHQub25SZXNldFBvc2l0aW9uKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHthY3RpdmVJdGVtU3R5bGUsIGl0ZW0sIHJlbmRlckl0ZW19ID0gdGhpcy5wXG4gICAgY29uc3Qge2FjdGl2ZX0gPSB0aGlzLnNcbiAgICBjb25zdCBzdHlsZSA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGJhc2VUcmFuc2Zvcm0gPSB0aGlzLnR0LnBvc2l0aW9uLmdldFRyYW5zbGF0ZVRyYW5zZm9ybSgpXG4gICAgICAgIGNvbnN0IHN0eWxlID0ge3RyYW5zZm9ybTogYmFzZVRyYW5zZm9ybX1cblxuICAgICAgICBpZiAoYWN0aXZlKSB7XG4gICAgICAgICAgaWYgKGFjdGl2ZUl0ZW1TdHlsZSkge1xuICAgICAgICAgICAgY29uc3Qge3RyYW5zZm9ybTogYWN0aXZlVHJhbnNmb3JtLCAuLi5yZXN0QWN0aXZlU3R5bGV9ID0gYWN0aXZlSXRlbVN0eWxlXG5cbiAgICAgICAgICAgIGlmIChhY3RpdmVUcmFuc2Zvcm0pIHtcbiAgICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZEFjdGl2ZVRyYW5zZm9ybSA9IEFycmF5LmlzQXJyYXkoYWN0aXZlVHJhbnNmb3JtKSA/IGFjdGl2ZVRyYW5zZm9ybSA6IFthY3RpdmVUcmFuc2Zvcm1dXG5cbiAgICAgICAgICAgICAgc3R5bGUudHJhbnNmb3JtID0gYmFzZVRyYW5zZm9ybS5jb25jYXQobm9ybWFsaXplZEFjdGl2ZVRyYW5zZm9ybSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihzdHlsZSwgcmVzdEFjdGl2ZVN0eWxlKVxuICAgICAgICAgIH1cbiAgICAgICAgICBzdHlsZS5lbGV2YXRpb24gPSAyXG4gICAgICAgICAgc3R5bGUuekluZGV4ID0gOTk5OTlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdHlsZVxuICAgICAgfSxcbiAgICAgIFthY3RpdmUsIGFjdGl2ZUl0ZW1TdHlsZV1cbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPEFuaW1hdGVkLlZpZXcgZGF0YVNldD17dGhpcy5jYWNoZShcImRyYWdnYWJsZVNvcnRJdGVtRGF0YVNldFwiLCB7Y29tcG9uZW50OiBcImRyYWdnYWJsZS1zb3J0L2l0ZW1cIn0pfSBvbkxheW91dD17dGhpcy50dC5vbkxheW91dH0gc3R5bGU9e3N0eWxlfT5cbiAgICAgICAge3JlbmRlckl0ZW0oe2lzQWN0aXZlOiBhY3RpdmUsIGl0ZW0sIHRvdWNoUHJvcHM6IHRoaXMudHQucGFuUmVzcG9uZGVyLnBhbkhhbmRsZXJzfSl9XG4gICAgICA8L0FuaW1hdGVkLlZpZXc+XG4gICAgKVxuICB9XG5cbiAgb25EcmFnU3RhcnQgPSAoe2l0ZW1EYXRhfSkgPT4ge1xuICAgIGNvbnN0IG5ld1N0YXRlID0ge2RyYWdnaW5nOiB0cnVlfVxuXG4gICAgaWYgKGl0ZW1EYXRhLmluZGV4ID09IHRoaXMucC5pdGVtSW5kZXgpIHtcbiAgICAgIG5ld1N0YXRlLmFjdGl2ZSA9IHRydWVcbiAgICAgIHRoaXMuYmFzZVhBdFN0YXJ0ZWREcmFnZ2luZyA9IHRoaXMuZ2V0QmFzZVgoKVxuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUobmV3U3RhdGUpXG4gIH1cblxuICBvbkRyYWdFbmRBbmltYXRpb24gPSAoKSA9PiB0aGlzLnNldFN0YXRlKHthY3RpdmU6IGZhbHNlLCBkcmFnZ2luZzogZmFsc2V9KVxuXG4gIG9uTGF5b3V0ID0gKGUpID0+IHtcbiAgICBjb25zdCB7Y29udHJvbGxlciwgaXRlbSwgaXRlbUluZGV4fSA9IHRoaXMucFxuXG4gICAgY29udHJvbGxlci5vbkl0ZW1MYXlvdXQoe2V2ZW50czogdGhpcy50dC5ldmVudHMsIGluZGV4OiBpdGVtSW5kZXgsIGl0ZW0sIGxheW91dDogZS5uYXRpdmVFdmVudC5sYXlvdXR9KVxuXG4gICAgaWYgKCF0aGlzLnR0LmluaXRpYWxMYXlvdXQpIHtcbiAgICAgIHRoaXMuaW5pdGlhbExheW91dCA9IGUubmF0aXZlRXZlbnQubGF5b3V0XG4gICAgfVxuICB9XG5cbiAgb25Nb3ZlID0gKHtnZXN0YXRlfSkgPT4ge1xuICAgIGNvbnN0IHggPSBnZXN0YXRlLmR4ICsgdGhpcy50dC5iYXNlWEF0U3RhcnRlZERyYWdnaW5nIC0gdGhpcy50dC5pbml0aWFsTGF5b3V0LnhcbiAgICBjb25zdCB5ID0gdGhpcy50dC5pbml0aWFsTGF5b3V0LnlcblxuICAgIHRoaXMudHQucG9zaXRpb24uc2V0VmFsdWUoe3gsIHl9KVxuXG4gICAgaWYgKHRoaXMucHJvcHMub25JdGVtTW92ZWQpIHtcbiAgICAgIHRoaXMucC5vbkl0ZW1Nb3ZlZCh7aXRlbUluZGV4OiB0aGlzLnAuaXRlbUluZGV4LCB4LCB5fSlcbiAgICB9XG4gIH1cblxuICBvbk1vdmVUb1Bvc2l0aW9uID0gKHt4LCB5fSkgPT4ge1xuICAgIGNvbnN0IGNhbGN1bGF0ZWRYRnJvbVN0YXJ0aW5nUG9zaXRpb24gPSB4IC0gdGhpcy50dC5pbml0aWFsTGF5b3V0LnhcbiAgICBjb25zdCBhbmltYXRpb25BcmdzID0ge1xuICAgICAgZHVyYXRpb246IDIwMCxcbiAgICAgIGVhc2luZzogRWFzaW5nLmluT3V0KEVhc2luZy5saW5lYXIpLFxuICAgICAgdG9WYWx1ZToge1xuICAgICAgICB4OiBjYWxjdWxhdGVkWEZyb21TdGFydGluZ1Bvc2l0aW9uLFxuICAgICAgICB5XG4gICAgICB9LFxuICAgICAgdXNlTmF0aXZlRHJpdmVyOiB0cnVlXG4gICAgfVxuICAgIGNvbnN0IGFuaW1hdGlvbkV2ZW50QXJncyA9IHthbmltYXRpb25BcmdzLCBhbmltYXRpb25UeXBlOiBcIm1vdmVUb1Bvc2l0aW9uXCIsIGl0ZW06IHRoaXMucC5pdGVtfVxuXG4gICAgdGhpcy5wLmNvbnRyb2xsZXIuZXZlbnRzLmVtaXQoXCJvbkFuaW1hdGlvblN0YXJ0XCIsIGFuaW1hdGlvbkV2ZW50QXJncylcblxuICAgIEFuaW1hdGVkXG4gICAgICAudGltaW5nKHRoaXMudHQucG9zaXRpb24sIGFuaW1hdGlvbkFyZ3MpXG4gICAgICAuc3RhcnQoKCkgPT4ge1xuICAgICAgICB0aGlzLnAuY29udHJvbGxlci5ldmVudHMuZW1pdChcIm9uQW5pbWF0aW9uRW5kXCIsIGFuaW1hdGlvbkV2ZW50QXJncylcbiAgICAgIH0pXG5cbiAgICBpZiAodGhpcy5wcm9wcy5vbkl0ZW1Nb3ZlZCkge1xuICAgICAgdGhpcy5wLm9uSXRlbU1vdmVkKHtcbiAgICAgICAgYW5pbWF0aW9uQXJncyxcbiAgICAgICAgaXRlbUluZGV4OiB0aGlzLnAuaXRlbUluZGV4LFxuICAgICAgICB4OiBjYWxjdWxhdGVkWEZyb21TdGFydGluZ1Bvc2l0aW9uLFxuICAgICAgICB5XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGdldEJhc2VYID0gKCkgPT4gdGhpcy5wLmNvbnRyb2xsZXIuZ2V0SXRlbURhdGFGb3JJbmRleCh0aGlzLnAuaXRlbUluZGV4KS5iYXNlWFxuXG4gIG9uUmVzZXRQb3NpdGlvbiA9IChhcmdzKSA9PiB7XG4gICAgY29uc3QgYmFzZVggPSB0aGlzLmdldEJhc2VYKCkgLSB0aGlzLnR0LmluaXRpYWxMYXlvdXQueFxuICAgIGNvbnN0IGFuaW1hdGlvbkFyZ3MgPSB7XG4gICAgICBkdXJhdGlvbjogMjAwLFxuICAgICAgZWFzaW5nOiBFYXNpbmcuaW5PdXQoRWFzaW5nLmxpbmVhciksXG4gICAgICB0b1ZhbHVlOiB7XG4gICAgICAgIHg6IGJhc2VYLFxuICAgICAgICB5OiAwXG4gICAgICB9LFxuICAgICAgdXNlTmF0aXZlRHJpdmVyOiB0cnVlXG4gICAgfVxuICAgIGNvbnN0IGFuaW1hdGlvbkV2ZW50QXJncyA9IHthbmltYXRpb25BcmdzLCBhbmltYXRpb25UeXBlOiBcInJlc2V0UG9zaXRpb25cIiwgaXRlbTogdGhpcy5wLml0ZW19XG5cbiAgICB0aGlzLnAuY29udHJvbGxlci5ldmVudHMuZW1pdChcIm9uQW5pbWF0aW9uU3RhcnRcIiwgYW5pbWF0aW9uRXZlbnRBcmdzKVxuXG4gICAgQW5pbWF0ZWRcbiAgICAgIC50aW1pbmcodGhpcy50dC5wb3NpdGlvbiwgYW5pbWF0aW9uQXJncylcbiAgICAgIC5zdGFydCgoKSA9PiB7XG4gICAgICAgIHRoaXMucC5jb250cm9sbGVyLmV2ZW50cy5lbWl0KFwib25BbmltYXRpb25FbmRcIiwgYW5pbWF0aW9uRXZlbnRBcmdzKVxuICAgICAgICBpZiAoYXJncz8uY2FsbGJhY2spIGFyZ3MuY2FsbGJhY2soKVxuICAgICAgfSlcblxuICAgIGlmICh0aGlzLnByb3BzLm9uSXRlbU1vdmVkKSB7XG4gICAgICB0aGlzLnAub25JdGVtTW92ZWQoe1xuICAgICAgICBhbmltYXRpb25BcmdzLFxuICAgICAgICBpdGVtSW5kZXg6IHRoaXMucC5pdGVtSW5kZXgsXG4gICAgICAgIHg6IGJhc2VYLFxuICAgICAgICB5OiAwXG4gICAgICB9KVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
@@ -40,7 +40,7 @@ const ApiMakerInputsInput = memo(shapeComponent(class ApiMakerInputsInput extend
40
40
  const { autoRefresh, inputProps, model } = this.p;
41
41
  const { defaultValue, name } = inputProps;
42
42
  this.form = useForm();
43
- this.visibleInputRef = useRef();
43
+ this.visibleInputRef = useRef(undefined);
44
44
  this.t = t;
45
45
  this.useStates({
46
46
  blankInputName: digg(inputProps, "type") == "file"
@@ -113,7 +113,7 @@ const ApiMakerInputsInput = memo(shapeComponent(class ApiMakerInputsInput extend
113
113
  return defaultValue;
114
114
  }
115
115
  inputName() {
116
- if (this.state.blankInputName)
116
+ if (this.s.blankInputName)
117
117
  return "";
118
118
  return this.props.inputProps.name;
119
119
  }
@@ -165,4 +165,4 @@ const ApiMakerInputsInput = memo(shapeComponent(class ApiMakerInputsInput extend
165
165
  }));
166
166
  export { ApiMakerInputsInput as Input };
167
167
  export default inputWrapper(ApiMakerInputsInput);
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImlucHV0cy9pbnB1dC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlDQUFpQztBQUNqQyxPQUFPLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDNUMsT0FBTyxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ3pDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sU0FBUyxDQUFBO0FBQy9CLE9BQU8sVUFBVSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sYUFBYSxNQUFNLG1CQUFtQixDQUFBO0FBQzdDLE9BQU8sS0FBSyxNQUFNLFNBQVMsQ0FBQTtBQUMzQixPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxZQUFZLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ25DLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQTtBQUMvQixPQUFPLE9BQU8sTUFBTSxtQ0FBbUMsQ0FBQTtBQUN2RCxPQUFPLGVBQWUsTUFBTSx5QkFBeUIsQ0FBQTtBQUVyRCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxtQkFBb0IsU0FBUSxhQUFhO0lBQzdGLE1BQU0sQ0FBQyxZQUFZLEdBQUc7UUFDcEIsV0FBVyxFQUFFLEtBQUs7UUFDbEIsVUFBVSxFQUFFLEtBQUs7UUFDakIsZUFBZSxFQUFFLEtBQUs7UUFDdEIsS0FBSyxFQUFFLElBQUk7S0FDWixDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRztRQUNqQixTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDM0IsV0FBVyxF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bUIsSUFBSSxLQUFLLEVBQUMsQ0FBQTtBQUNyQyxlQUFlLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vLCB1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge2RpZywgZGlnZywgZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCB7dXNlRm9ybX0gZnJvbSBcIi4uL2Zvcm1cIlxuaW1wb3J0IEF1dG9TdWJtaXQgZnJvbSBcIi4vYXV0by1zdWJtaXQuanNcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBNb25leSBmcm9tIFwiLi9tb25leVwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBpbnB1dFdyYXBwZXIgZnJvbSBcIi4vaW5wdXQtd3JhcHBlclwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgcmVwbGFjZWFsbCBmcm9tIFwicmVwbGFjZWFsbFwiXG5pbXBvcnQgc3RyZnRpbWUgZnJvbSBcInN0cmZ0aW1lXCJcbmltcG9ydCB1c2VJMThuIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzL3NyYy91c2UtaTE4bi5tanNcIlxuaW1wb3J0IHVzZVVwZGF0ZWRFdmVudCBmcm9tIFwiLi4vdXNlLXVwZGF0ZWQtZXZlbnQuanNcIlxuXG5jb25zdCBBcGlNYWtlcklucHV0c0lucHV0ID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlcklucHV0c0lucHV0IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgYXV0b1JlZnJlc2g6IGZhbHNlLFxuICAgIGF1dG9TdWJtaXQ6IGZhbHNlLFxuICAgIGxvY2FsaXplZE51bWJlcjogZmFsc2UsXG4gICAgbW9kZWw6IG51bGxcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgYXR0cmlidXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGF1dG9SZWZyZXNoOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGF1dG9TdWJtaXQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGZvcm1hdFZhbHVlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsb2NhbGl6ZWROdW1iZXI6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25NYXRjaFZhbGlkYXRpb25FcnJvcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZ1xuICB9XG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge3R9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci5pbnB1dHMuaW5wdXRcIn0pXG4gICAgY29uc3Qge2F1dG9SZWZyZXNoLCBpbnB1dFByb3BzLCBtb2RlbH0gPSB0aGlzLnBcbiAgICBjb25zdCB7ZGVmYXVsdFZhbHVlLCBuYW1lfSA9IGlucHV0UHJvcHNcblxuICAgIHRoaXMuZm9ybSA9IHVzZUZvcm0oKVxuICAgIHRoaXMudmlzaWJsZUlucHV0UmVmID0gdXNlUmVmKClcbiAgICB0aGlzLnQgPSB0XG5cbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBibGFua0lucHV0TmFtZTogZGlnZyhpbnB1dFByb3BzLCBcInR5cGVcIikgPT0gXCJmaWxlXCJcbiAgICB9KVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICB0aGlzLnR0LmZvcm0/LnNldFZhbHVlKG5hbWUsIGRlZmF1bHRWYWx1ZSlcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIHVzZVVwZGF0ZWRFdmVudChtb2RlbCwgdGhpcy50dC5vbk1vZGVsVXBkYXRlZCwge2FjdGl2ZTogQm9vbGVhbihhdXRvUmVmcmVzaCAmJiBtb2RlbCl9KVxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCB7XG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBhdXRvUmVmcmVzaCxcbiAgICAgIGF1dG9TdWJtaXQsXG4gICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICBmb3JtYXRWYWx1ZSxcbiAgICAgIGlkLFxuICAgICAgaW5wdXRQcm9wcyxcbiAgICAgIGlucHV0UmVmLFxuICAgICAgbG9jYWxpemVkTnVtYmVyLFxuICAgICAgbW9kZWwsXG4gICAgICBuYW1lLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBvbkVycm9ycyxcbiAgICAgIG9uTWF0Y2hWYWxpZGF0aW9uRXJyb3IsXG4gICAgICB0eXBlLFxuICAgICAgd3JhcHBlck9wdHMsXG4gICAgICAuLi5yZXN0UHJvcHNcbiAgICB9ID0gdGhpcy5wcm9wc1xuXG4gICAgY29uc3Qgc2hhcmVkUHJvcHMgPSB7XG4gICAgICBpZDogbG9jYWxpemVkTnVtYmVyID8gbnVsbCA6IGlucHV0UHJvcHMuaWQsXG4gICAgICBuYW1lOiBsb2NhbGl6ZWROdW1iZXIgPyBudWxsIDogaW5wdXRQcm9wcy5uYW1lXG4gICAgfVxuICAgIGNvbnN0IHJlZiA9IGxvY2FsaXplZE51bWJlciA/IHRoaXMudmlzaWJsZUlucHV0UmVmIDogdGhpcy5pbnB1dFJlZmVyZW5jZSgpXG4gICAgY29uc3Qge3JlZjogaW5wdXRQcm9wc1JlZiwgLi4uaW5wdXRQcm9wc1dpdGhvdXRSZWZ9ID0gaW5wdXRQcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHtsb2NhbGl6ZWROdW1iZXIgJiZcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICAgICAgaWQ9e2lucHV0UHJvcHMuaWR9XG4gICAgICAgICAgICBuYW1lPXt0aGlzLmlucHV0TmFtZSgpfVxuICAgICAgICAgICAgcmVmPXt0aGlzLmlucHV0UmVmZXJlbmNlKCl9XG4gICAgICAgICAgICB0eXBlPVwiaGlkZGVuXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHt0eXBlID09IFwibW9uZXlcIiAmJlxuICAgICAgICAgIDxNb25leVxuICAgICAgICAgICAgYXR0cmlidXRlPXthdHRyaWJ1dGV9XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3RoaXMuaW5wdXREZWZhdWx0VmFsdWVMb2NhbGl6ZWQoKX1cbiAgICAgICAgICAgIGlucHV0UmVmPXt0aGlzLmlucHV0UmVmZXJlbmNlKCl9XG4gICAgICAgICAgICBtb2RlbD17bW9kZWx9XG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbklucHV0Q2hhbmdlZH1cbiAgICAgICAgICAgIHsuLi5pbnB1dFByb3BzV2l0aG91dFJlZn1cbiAgICAgICAgICAgIHsuLi5zaGFyZWRQcm9wc31cbiAgICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7dHlwZSA9PSBcInRleHRhcmVhXCIgJiZcbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dGhpcy5pbnB1dERlZmF1bHRWYWx1ZUxvY2FsaXplZCgpfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25JbnB1dENoYW5nZWR9XG4gICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgIHsuLi5pbnB1dFByb3BzV2l0aG91dFJlZn1cbiAgICAgICAgICAgIHsuLi5zaGFyZWRQcm9wc31cbiAgICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7dHlwZSAhPSBcIm1vbmV5XCIgJiYgdHlwZSAhPSBcInRleHRhcmVhXCIgJiZcbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dGhpcy5pbnB1dERlZmF1bHRWYWx1ZUxvY2FsaXplZCgpfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25JbnB1dENoYW5nZWR9XG4gICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgIHsuLi5pbnB1dFByb3BzV2l0aG91dFJlZn1cbiAgICAgICAgICAgIHsuLi5zaGFyZWRQcm9wc31cbiAgICAgICAgICAgIG5hbWU9e2xvY2FsaXplZE51bWJlciA/IG51bGwgOiB0aGlzLmlucHV0TmFtZSgpfVxuICAgICAgICAgICAgey4uLnJlc3RQcm9wc31cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICBhY3R1YWxWYWx1ZSAodmlzaWJsZUlucHV0KSB7XG4gICAgY29uc3Qge3R9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtsb2NhbGl6ZWROdW1iZXJ9ID0gZGlncyh0aGlzLnByb3BzLCBcImxvY2FsaXplZE51bWJlclwiKVxuICAgIGNvbnN0IHZhbHVlID0gZGlnZyh2aXNpYmxlSW5wdXQsIFwidmFsdWVcIilcblxuICAgIGlmIChsb2NhbGl6ZWROdW1iZXIpIHtcbiAgICAgIGNvbnN0IGRlY2ltYWwgPSB0KFwibnVtYmVyLmN1cnJlbmN5LmZvcm1hdC5zZXBhcmF0b3JcIilcbiAgICAgIGNvbnN0IGludGVnZXJTZXBhcmF0b3IgPSB0KFwibnVtYmVyLmN1cnJlbmN5LmZvcm1hdC5kZWxpbWl0ZXJcIilcblxuICAgICAgbGV0IHVuZm9ybWF0dGVkID0gcmVwbGFjZWFsbChpbnRlZ2VyU2VwYXJhdG9yLCBcIlwiLCB2YWx1ZSlcblxuICAgICAgdW5mb3JtYXR0ZWQgPSByZXBsYWNlYWxsKGRlY2ltYWwsIFwiLlwiLCB1bmZvcm1hdHRlZClcblxuICAgICAgcmV0dXJuIHVuZm9ybWF0dGVkXG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICBhdXRvU3VibWl0ID0gKCkgPT4gbmV3IEF1dG9TdWJtaXQoe2NvbXBvbmVudDogdGhpc30pLmF1dG9TdWJtaXQoKVxuXG4gIGZvcm1hdFZhbHVlICh2YWx1ZSkge1xuICAgIGNvbnN0IHtmb3JtYXRWYWx1ZSwgdHlwZX0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoZm9ybWF0VmFsdWUpIHtcbiAgICAgIHJldHVybiBmb3JtYXRWYWx1ZSh2YWx1ZSlcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4odmFsdWUuZ2V0VGltZSgpKSkge1xuICAgICAgLy8gV2UgbmVlZCB0byB1c2UgYSBjZXJ0YWluIGZvcm1hdCBmb3IgZGF0ZXRpbWUtbG9jYWxcbiAgICAgIGlmICh0eXBlID09IFwiZGF0ZXRpbWUtbG9jYWxcIikge1xuICAgICAgICByZXR1cm4gc3RyZnRpbWUoXCIlWS0lbS0lZFQlSDolTTolU1wiLCB2YWx1ZSlcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcImRhdGVcIikge1xuICAgICAgICByZXR1cm4gc3RyZnRpbWUoXCIlWS0lbS0lZFwiLCB2YWx1ZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuXG4gIGlucHV0RGVmYXVsdFZhbHVlTG9jYWxpemVkICgpIHtcbiAgICBjb25zdCB7dH0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2RlZmF1bHRWYWx1ZX0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge2xvY2FsaXplZE51bWJlcn0gPSBkaWdzKHRoaXMucHJvcHMsIFwibG9jYWxpemVkTnVtYmVyXCIpXG5cbiAgICBpZiAobG9jYWxpemVkTnVtYmVyICYmIGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCAmJiBkZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3Qgc2VwYXJhdG9yID0gdChcIm51bWJlci5jdXJyZW5jeS5mb3JtYXQuc2VwYXJhdG9yXCIpXG4gICAgICBjb25zdCBkZWxpbWl0ZXIgPSB0KFwibnVtYmVyLmN1cnJlbmN5LmZvcm1hdC5kZWxpbWl0ZXJcIilcblxuICAgICAgbGV0IGZvcm1hdHRlZCA9IGAke2RlZmF1bHRWYWx1ZX1gXG5cbiAgICAgIGZvcm1hdHRlZCA9IHJlcGxhY2VhbGwoXCIuXCIsIFwie3tzZXBhcmF0b3J9fVwiLCBmb3JtYXR0ZWQpXG4gICAgICBmb3JtYXR0ZWQgPSByZXBsYWNlYWxsKFwiLFwiLCBcInt7ZGVsaW1pdGVyfX1cIiwgZm9ybWF0dGVkKVxuICAgICAgZm9ybWF0dGVkID0gcmVwbGFjZWFsbChcInt7c2VwYXJhdG9yfX1cIiwgc2VwYXJhdG9yLCBmb3JtYXR0ZWQpXG4gICAgICBmb3JtYXR0ZWQgPSByZXBsYWNlYWxsKFwie3tkZWxpbWl0ZXJ9fVwiLCBkZWxpbWl0ZXIsIGZvcm1hdHRlZClcblxuICAgICAgcmV0dXJuIGZvcm1hdHRlZFxuICAgIH1cblxuICAgIHJldHVybiBkZWZhdWx0VmFsdWVcbiAgfVxuXG4gIGlucHV0TmFtZSAoKSB7XG4gICAgaWYgKHRoaXMuc3RhdGUuYmxhbmtJbnB1dE5hbWUpIHJldHVybiBcIlwiXG5cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5pbnB1dFByb3BzLm5hbWVcbiAgfVxuXG4gIGlucHV0UmVmZXJlbmNlID0gKCkgPT4gZGlnZyh0aGlzLCBcInByb3BzXCIsIFwiaW5wdXRQcm9wc1wiLCBcInJlZlwiKVxuXG4gIG9uTW9kZWxVcGRhdGVkID0gKGFyZ3MpID0+IHtcbiAgICBjb25zdCBpbnB1dFJlZiA9IHRoaXMuaW5wdXRSZWZlcmVuY2UoKVxuXG4gICAgaWYgKCFpbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIGNvbXBvbmVudCBpcyBiZWluZyB1bm1vdW50ZWRcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHthdHRyaWJ1dGV9ID0gZGlncyh0aGlzLnByb3BzLCBcImF0dHJpYnV0ZVwiKVxuICAgIGNvbnN0IG5ld01vZGVsID0gZGlnZyhhcmdzLCBcIm1vZGVsXCIpXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gZGlnZyhpbnB1dFJlZiwgXCJjdXJyZW50XCIsIFwidmFsdWVcIilcbiAgICBjb25zdCBuZXdWYWx1ZSA9IG5ld01vZGVsLnJlYWRBdHRyaWJ1dGUoYXR0cmlidXRlKVxuICAgIGNvbnN0IG5ld0Zvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZShuZXdWYWx1ZSlcblxuICAgIGlmIChjdXJyZW50VmFsdWUgIT0gbmV3Rm9ybWF0dGVkVmFsdWUpIHtcbiAgICAgIGlucHV0UmVmLmN1cnJlbnQudmFsdWUgPSBuZXdGb3JtYXR0ZWRWYWx1ZVxuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2VkID0gKGUpID0+IHtcbiAgICBjb25zdCB7Zm9ybX0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgYXV0b1N1Ym1pdCwgaW5wdXRQcm9wcywgbW9kZWwsIG9uQ2hhbmdlfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7bG9jYWxpemVkTnVtYmVyfSA9IGRpZ3ModGhpcy5wcm9wcywgXCJsb2NhbGl6ZWROdW1iZXJcIilcbiAgICBjb25zdCB7bmFtZX0gPSBpbnB1dFByb3BzXG5cbiAgICBpZiAobG9jYWxpemVkTnVtYmVyKSB0aGlzLmlucHV0UmVmZXJlbmNlKCkuY3VycmVudC52YWx1ZSA9IHRoaXMuYWN0dWFsVmFsdWUoZGlnZyhlLCBcInRhcmdldFwiKSlcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgYXV0b1N1Ym1pdCAmJiBtb2RlbCkgdGhpcy5kZWxheUF1dG9TdWJtaXQoKVxuICAgIGlmIChkaWdnKGlucHV0UHJvcHMsIFwidHlwZVwiKSA9PSBcImZpbGVcIikgdGhpcy5zZXRTdGF0ZSh7YmxhbmtJbnB1dE5hbWU6IHRoaXMuZ2V0QmxhbmtJbnB1dE5hbWUoKX0pXG5cbiAgICBpZiAoZm9ybSAmJiBuYW1lKSB7XG4gICAgICBmb3JtLnNldFZhbHVlKG5hbWUsIGUudGFyZ2V0LnZhbHVlKVxuICAgIH1cblxuICAgIGlmIChvbkNoYW5nZSkgb25DaGFuZ2UoZSlcbiAgfVxuXG4gIGRlbGF5QXV0b1N1Ym1pdCAoKSB7XG4gICAgaWYgKHRoaXMuZGVsYXlBdXRvU3VibWl0VGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVsYXlBdXRvU3VibWl0VGltZW91dClcbiAgICB9XG5cbiAgICB0aGlzLmRlbGF5QXV0b1N1Ym1pdFRpbWVvdXQgPSBzZXRUaW1lb3V0KHRoaXMuYXV0b1N1Ym1pdCwgMjAwKVxuICB9XG5cbiAgLy8gVGhpcyBmaXhlcyBhbiBpc3N1ZSBpbiBGaXJlZm94IGFuZCBBY3RpdmVTdG9yYWdlLCB3aGVyZSB1cGxvYWRzIHdvdWxkIGJlIGEgYmxhbmsgc3RyaW5nIGlmIGEgZmlsZSB3YXNuJ3QgY2hvc2VuXG4gIGdldEJsYW5rSW5wdXROYW1lICgpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGRpZyh0aGlzLmlucHV0UmVmZXJlbmNlKCksIFwiY3VycmVudFwiLCBcInZhbHVlXCIpXG5cbiAgICBpZiAodGhpcy5wcm9wcy5pbnB1dFByb3BzLnR5cGUgPT0gXCJmaWxlXCIgJiYgdmFsdWUgPT0gXCJcIilcbiAgICAgIHJldHVybiB0cnVlXG4gIH1cbn0pKVxuXG5leHBvcnQge0FwaU1ha2VySW5wdXRzSW5wdXQgYXMgSW5wdXR9XG5leHBvcnQgZGVmYXVsdCBpbnB1dFdyYXBwZXIoQXBpTWFrZXJJbnB1dHNJbnB1dClcbiJdfQ==
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImlucHV0cy9pbnB1dC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlDQUFpQztBQUNqQyxPQUFPLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDNUMsT0FBTyxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ3pDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sU0FBUyxDQUFBO0FBQy9CLE9BQU8sVUFBVSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sYUFBYSxNQUFNLG1CQUFtQixDQUFBO0FBQzdDLE9BQU8sS0FBSyxNQUFNLFNBQVMsQ0FBQTtBQUMzQixPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxZQUFZLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ25DLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQTtBQUMvQixPQUFPLE9BQU8sTUFBTSxtQ0FBbUMsQ0FBQTtBQUN2RCxPQUFPLGVBQWUsTUFBTSx5QkFBeUIsQ0FBQTtBQUVyRCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxtQkFBb0IsU0FBUSxhQUFhO0lBQzdGLE1BQU0sQ0FBQyxZQUFZLEdBQUc7UUFDcEIsV0FBVyxFQUFFLEtBQUs7UUFDbEIsVUFBVSxFQUFFLEtBQUs7UUFDakIsZUFBZSxFQUFFLEtBQUs7UUFDdEIsS0FBSyxFQUFFLElBQUk7S0FDWixDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRztRQUNqQixTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDM0IsV0FBVyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUN0QyxVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBQ3JDLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUMzQixXQUFXLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDM0IsRUFBRSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3BCLGVBQWUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDMUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3ZCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN0QixRQUFRLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDeEIsc0JBQXNCLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDdEMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO0tBQ3ZCLENBQUE7SUFFRCxLQUFLO1FBQ0gsTUFBTSxFQUFDLENBQUMsRUFBQyxHQUFHLE9BQU8sQ0FBQyxFQUFDLFNBQVMsRUFBRSwyQkFBMkIsRUFBQyxDQUFDLENBQUE7UUFDN0QsTUFBTSxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUMvQyxNQUFNLEVBQUMsWUFBWSxFQUFFLElBQUksRUFBQyxHQUFHLFVBQVUsQ0FBQTtRQUV2QyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxDQUFBO1FBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3hDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRVYsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLGNBQWMsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLE1BQU07U0FDbkQsQ0FBQyxDQUFBO1FBRUYsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQTtZQUM1QyxDQUFDO1FBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRU4sZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxFQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQTtJQUN6RixDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFDSixTQUFTLEVBQ1QsV0FBVyxFQUNYLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEVBQUUsRUFDRixVQUFVLEVBQ1YsUUFBUSxFQUNSLGVBQWUsRUFDZixLQUFLLEVBQ0wsSUFBSSxFQUNKLFFBQVEsRUFDUixRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLElBQUksRUFDSixXQUFXLEVBQ1gsR0FBRyxTQUFTLEVBQ2IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBRWQsTUFBTSxXQUFXLEdBQUc7WUFDbEIsRUFBRSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMxQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO1NBQy9DLENBQUE7UUFDRCxNQUFNLEdBQUcsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUMxRSxNQUFNLEVBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxHQUFHLG9CQUFvQixFQUFDLEdBQUcsVUFBVSxDQUFBO1FBRWhFLE9BQU8sQ0FDTCw4QkFDRyxlQUFlO29CQUNkLGdCQUNFLFlBQVksRUFBRSxZQUFZLEVBQzFCLEVBQUUsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUN0QixHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUMxQixJQUFJLEVBQUMsUUFBUSxHQUNiLEVBRUgsSUFBSSxJQUFJLE9BQU87b0JBQ2QsS0FBQyxLQUFLLElBQ0osU0FBUyxFQUFFLFNBQVMsRUFDcEIsWUFBWSxFQUFFLElBQUksQ0FBQywwQkFBMEIsRUFBRSxFQUMvQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUMvQixLQUFLLEVBQUUsS0FBSyxFQUNaLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxLQUN6QixvQkFBb0IsS0FDcEIsV0FBVyxLQUNYLFNBQVMsR0FDYixFQUVILElBQUksSUFBSSxVQUFVO29CQUNqQixtQkFDRSxZQUFZLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixFQUFFLEVBQy9DLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUM3QixHQUFHLEVBQUUsR0FBRyxLQUNKLG9CQUFvQixLQUNwQixXQUFXLEtBQ1gsU0FBUyxHQUNiLEVBRUgsSUFBSSxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksVUFBVTtvQkFDcEMsZ0JBQ0UsWUFBWSxFQUFFLElBQUksQ0FBQywwQkFBMEIsRUFBRSxFQUMvQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFDN0IsR0FBRyxFQUFFLEdBQUcsS0FDSixvQkFBb0IsS0FDcEIsV0FBVyxFQUNmLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUMzQyxTQUFTLEdBQ2IsSUFFSCxDQUNKLENBQUE7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLFlBQVk7UUFDdkIsTUFBTSxFQUFDLENBQUMsRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUE7UUFDbkIsTUFBTSxFQUFDLGVBQWUsRUFBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUE7UUFDN0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUV6QyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO1lBQ3JELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLGtDQUFrQyxDQUFDLENBQUE7WUFFOUQsSUFBSSxXQUFXLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQTtZQUV6RCxXQUFXLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUE7WUFFbkQsT0FBTyxXQUFXLENBQUE7UUFDcEIsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELFVBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBRWpFLFdBQVcsQ0FBRSxLQUFLO1FBQ2hCLE1BQU0sRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUV0QyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzNCLENBQUM7YUFBTSxJQUFJLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM1RCxxREFBcUQ7WUFDckQsSUFBSSxJQUFJLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztnQkFDN0IsT0FBTyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDN0MsQ0FBQztpQkFBTSxJQUFJLElBQUksSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDMUIsT0FBTyxRQUFRLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQ3BDLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLE1BQU0sRUFBQyxDQUFDLEVBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFBO1FBQ25CLE1BQU0sRUFBQyxZQUFZLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ2pDLE1BQU0sRUFBQyxlQUFlLEVBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO1FBRTdELElBQUksZUFBZSxJQUFJLFlBQVksS0FBSyxJQUFJLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzNFLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO1lBQ3ZELE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO1lBRXZELElBQUksU0FBUyxHQUFHLEdBQUcsWUFBWSxFQUFFLENBQUE7WUFFakMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQ3ZELFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUMsQ0FBQTtZQUN2RCxTQUFTLEdBQUcsVUFBVSxDQUFDLGVBQWUsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUE7WUFDN0QsU0FBUyxHQUFHLFVBQVUsQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBRTdELE9BQU8sU0FBUyxDQUFBO1FBQ2xCLENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQTtJQUNyQixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjO1lBQUUsT0FBTyxFQUFFLENBQUE7UUFFcEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUE7SUFDbkMsQ0FBQztJQUVELGNBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFFL0QsY0FBYyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDeEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBRXRDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsc0RBQXNEO1lBQ3RELE9BQU07UUFDUixDQUFDO1FBRUQsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQ2pELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDcEMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDdkQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNsRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFcEQsSUFBSSxZQUFZLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxpQkFBaUIsQ0FBQTtRQUM1QyxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsY0FBYyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDckIsTUFBTSxFQUFDLElBQUksRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUE7UUFDdEIsTUFBTSxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ3ZFLE1BQU0sRUFBQyxlQUFlLEVBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO1FBQzdELE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxVQUFVLENBQUE7UUFFekIsSUFBSSxlQUFlO1lBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7UUFFOUYsSUFBSSxTQUFTLElBQUksVUFBVSxJQUFJLEtBQUs7WUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDNUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLE1BQU07WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFDLENBQUMsQ0FBQTtRQUVqRyxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3JDLENBQUM7UUFFRCxJQUFJLFFBQVE7WUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDM0IsQ0FBQyxDQUFBO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDaEMsWUFBWSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO1FBQzNDLENBQUM7UUFFRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDaEUsQ0FBQztJQUVELGtIQUFrSDtJQUNsSCxpQkFBaUI7UUFDZixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUU1RCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxNQUFNLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDckQsT0FBTyxJQUFJLENBQUE7SUFDZixDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUE7QUFFSCxPQUFPLEVBQUMsbUJBQW1CLElBQUksS0FBSyxFQUFDLENBQUE7QUFDckMsZUFBZSxZQUFZLENBQUMsbUJBQW1CLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IFJlYWN0LCB7dXNlTWVtbywgdXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtkaWcsIGRpZ2csIGRpZ3N9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge3VzZUZvcm19IGZyb20gXCIuLi9mb3JtXCJcbmltcG9ydCBBdXRvU3VibWl0IGZyb20gXCIuL2F1dG8tc3VibWl0LmpzXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgTW9uZXkgZnJvbSBcIi4vbW9uZXlcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgaW5wdXRXcmFwcGVyIGZyb20gXCIuL2lucHV0LXdyYXBwZXJcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IHJlcGxhY2VhbGwgZnJvbSBcInJlcGxhY2VhbGxcIlxuaW1wb3J0IHN0cmZ0aW1lIGZyb20gXCJzdHJmdGltZVwiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG4ubWpzXCJcbmltcG9ydCB1c2VVcGRhdGVkRXZlbnQgZnJvbSBcIi4uL3VzZS11cGRhdGVkLWV2ZW50LmpzXCJcblxuY29uc3QgQXBpTWFrZXJJbnB1dHNJbnB1dCA9IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJJbnB1dHNJbnB1dCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGF1dG9SZWZyZXNoOiBmYWxzZSxcbiAgICBhdXRvU3VibWl0OiBmYWxzZSxcbiAgICBsb2NhbGl6ZWROdW1iZXI6IGZhbHNlLFxuICAgIG1vZGVsOiBudWxsXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGF0dHJpYnV0ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhdXRvUmVmcmVzaDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBhdXRvU3VibWl0OiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBmb3JtYXRWYWx1ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbG9jYWxpemVkTnVtYmVyOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uTWF0Y2hWYWxpZGF0aW9uRXJyb3I6IFByb3BUeXBlcy5mdW5jLFxuICAgIHR5cGU6IFByb3BUeXBlcy5zdHJpbmdcbiAgfVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHt0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIuaW5wdXRzLmlucHV0XCJ9KVxuICAgIGNvbnN0IHthdXRvUmVmcmVzaCwgaW5wdXRQcm9wcywgbW9kZWx9ID0gdGhpcy5wXG4gICAgY29uc3Qge2RlZmF1bHRWYWx1ZSwgbmFtZX0gPSBpbnB1dFByb3BzXG5cbiAgICB0aGlzLmZvcm0gPSB1c2VGb3JtKClcbiAgICB0aGlzLnZpc2libGVJbnB1dFJlZiA9IHVzZVJlZih1bmRlZmluZWQpXG4gICAgdGhpcy50ID0gdFxuXG4gICAgdGhpcy51c2VTdGF0ZXMoe1xuICAgICAgYmxhbmtJbnB1dE5hbWU6IGRpZ2coaW5wdXRQcm9wcywgXCJ0eXBlXCIpID09IFwiZmlsZVwiXG4gICAgfSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgdGhpcy50dC5mb3JtPy5zZXRWYWx1ZShuYW1lLCBkZWZhdWx0VmFsdWUpXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICB1c2VVcGRhdGVkRXZlbnQobW9kZWwsIHRoaXMudHQub25Nb2RlbFVwZGF0ZWQsIHthY3RpdmU6IEJvb2xlYW4oYXV0b1JlZnJlc2ggJiYgbW9kZWwpfSlcbiAgfVxuXG4gIHJlbmRlciAoKSB7XG4gICAgY29uc3Qge1xuICAgICAgYXR0cmlidXRlLFxuICAgICAgYXV0b1JlZnJlc2gsXG4gICAgICBhdXRvU3VibWl0LFxuICAgICAgZGVmYXVsdFZhbHVlLFxuICAgICAgZm9ybWF0VmFsdWUsXG4gICAgICBpZCxcbiAgICAgIGlucHV0UHJvcHMsXG4gICAgICBpbnB1dFJlZixcbiAgICAgIGxvY2FsaXplZE51bWJlcixcbiAgICAgIG1vZGVsLFxuICAgICAgbmFtZSxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25FcnJvcnMsXG4gICAgICBvbk1hdGNoVmFsaWRhdGlvbkVycm9yLFxuICAgICAgdHlwZSxcbiAgICAgIHdyYXBwZXJPcHRzLFxuICAgICAgLi4ucmVzdFByb3BzXG4gICAgfSA9IHRoaXMucHJvcHNcblxuICAgIGNvbnN0IHNoYXJlZFByb3BzID0ge1xuICAgICAgaWQ6IGxvY2FsaXplZE51bWJlciA/IG51bGwgOiBpbnB1dFByb3BzLmlkLFxuICAgICAgbmFtZTogbG9jYWxpemVkTnVtYmVyID8gbnVsbCA6IGlucHV0UHJvcHMubmFtZVxuICAgIH1cbiAgICBjb25zdCByZWYgPSBsb2NhbGl6ZWROdW1iZXIgPyB0aGlzLnZpc2libGVJbnB1dFJlZiA6IHRoaXMuaW5wdXRSZWZlcmVuY2UoKVxuICAgIGNvbnN0IHtyZWY6IGlucHV0UHJvcHNSZWYsIC4uLmlucHV0UHJvcHNXaXRob3V0UmVmfSA9IGlucHV0UHJvcHNcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7bG9jYWxpemVkTnVtYmVyICYmXG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICAgIGlkPXtpbnB1dFByb3BzLmlkfVxuICAgICAgICAgICAgbmFtZT17dGhpcy5pbnB1dE5hbWUoKX1cbiAgICAgICAgICAgIHJlZj17dGhpcy5pbnB1dFJlZmVyZW5jZSgpfVxuICAgICAgICAgICAgdHlwZT1cImhpZGRlblwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7dHlwZSA9PSBcIm1vbmV5XCIgJiZcbiAgICAgICAgICA8TW9uZXlcbiAgICAgICAgICAgIGF0dHJpYnV0ZT17YXR0cmlidXRlfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXt0aGlzLmlucHV0RGVmYXVsdFZhbHVlTG9jYWxpemVkKCl9XG4gICAgICAgICAgICBpbnB1dFJlZj17dGhpcy5pbnB1dFJlZmVyZW5jZSgpfVxuICAgICAgICAgICAgbW9kZWw9e21vZGVsfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25JbnB1dENoYW5nZWR9XG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc1dpdGhvdXRSZWZ9XG4gICAgICAgICAgICB7Li4uc2hhcmVkUHJvcHN9XG4gICAgICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3R5cGUgPT0gXCJ0ZXh0YXJlYVwiICYmXG4gICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3RoaXMuaW5wdXREZWZhdWx0VmFsdWVMb2NhbGl6ZWQoKX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uSW5wdXRDaGFuZ2VkfVxuICAgICAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc1dpdGhvdXRSZWZ9XG4gICAgICAgICAgICB7Li4uc2hhcmVkUHJvcHN9XG4gICAgICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3R5cGUgIT0gXCJtb25leVwiICYmIHR5cGUgIT0gXCJ0ZXh0YXJlYVwiICYmXG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3RoaXMuaW5wdXREZWZhdWx0VmFsdWVMb2NhbGl6ZWQoKX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uSW5wdXRDaGFuZ2VkfVxuICAgICAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc1dpdGhvdXRSZWZ9XG4gICAgICAgICAgICB7Li4uc2hhcmVkUHJvcHN9XG4gICAgICAgICAgICBuYW1lPXtsb2NhbGl6ZWROdW1iZXIgPyBudWxsIDogdGhpcy5pbnB1dE5hbWUoKX1cbiAgICAgICAgICAgIHsuLi5yZXN0UHJvcHN9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC8+XG4gICAgKVxuICB9XG5cbiAgYWN0dWFsVmFsdWUgKHZpc2libGVJbnB1dCkge1xuICAgIGNvbnN0IHt0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7bG9jYWxpemVkTnVtYmVyfSA9IGRpZ3ModGhpcy5wcm9wcywgXCJsb2NhbGl6ZWROdW1iZXJcIilcbiAgICBjb25zdCB2YWx1ZSA9IGRpZ2codmlzaWJsZUlucHV0LCBcInZhbHVlXCIpXG5cbiAgICBpZiAobG9jYWxpemVkTnVtYmVyKSB7XG4gICAgICBjb25zdCBkZWNpbWFsID0gdChcIm51bWJlci5jdXJyZW5jeS5mb3JtYXQuc2VwYXJhdG9yXCIpXG4gICAgICBjb25zdCBpbnRlZ2VyU2VwYXJhdG9yID0gdChcIm51bWJlci5jdXJyZW5jeS5mb3JtYXQuZGVsaW1pdGVyXCIpXG5cbiAgICAgIGxldCB1bmZvcm1hdHRlZCA9IHJlcGxhY2VhbGwoaW50ZWdlclNlcGFyYXRvciwgXCJcIiwgdmFsdWUpXG5cbiAgICAgIHVuZm9ybWF0dGVkID0gcmVwbGFjZWFsbChkZWNpbWFsLCBcIi5cIiwgdW5mb3JtYXR0ZWQpXG5cbiAgICAgIHJldHVybiB1bmZvcm1hdHRlZFxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgYXV0b1N1Ym1pdCA9ICgpID0+IG5ldyBBdXRvU3VibWl0KHtjb21wb25lbnQ6IHRoaXN9KS5hdXRvU3VibWl0KClcblxuICBmb3JtYXRWYWx1ZSAodmFsdWUpIHtcbiAgICBjb25zdCB7Zm9ybWF0VmFsdWUsIHR5cGV9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKGZvcm1hdFZhbHVlKSB7XG4gICAgICByZXR1cm4gZm9ybWF0VmFsdWUodmFsdWUpXG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKHZhbHVlLmdldFRpbWUoKSkpIHtcbiAgICAgIC8vIFdlIG5lZWQgdG8gdXNlIGEgY2VydGFpbiBmb3JtYXQgZm9yIGRhdGV0aW1lLWxvY2FsXG4gICAgICBpZiAodHlwZSA9PSBcImRhdGV0aW1lLWxvY2FsXCIpIHtcbiAgICAgICAgcmV0dXJuIHN0cmZ0aW1lKFwiJVktJW0tJWRUJUg6JU06JVNcIiwgdmFsdWUpXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJkYXRlXCIpIHtcbiAgICAgICAgcmV0dXJuIHN0cmZ0aW1lKFwiJVktJW0tJWRcIiwgdmFsdWUpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICBpbnB1dERlZmF1bHRWYWx1ZUxvY2FsaXplZCAoKSB7XG4gICAgY29uc3Qge3R9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtkZWZhdWx0VmFsdWV9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtsb2NhbGl6ZWROdW1iZXJ9ID0gZGlncyh0aGlzLnByb3BzLCBcImxvY2FsaXplZE51bWJlclwiKVxuXG4gICAgaWYgKGxvY2FsaXplZE51bWJlciAmJiBkZWZhdWx0VmFsdWUgIT09IG51bGwgJiYgZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHNlcGFyYXRvciA9IHQoXCJudW1iZXIuY3VycmVuY3kuZm9ybWF0LnNlcGFyYXRvclwiKVxuICAgICAgY29uc3QgZGVsaW1pdGVyID0gdChcIm51bWJlci5jdXJyZW5jeS5mb3JtYXQuZGVsaW1pdGVyXCIpXG5cbiAgICAgIGxldCBmb3JtYXR0ZWQgPSBgJHtkZWZhdWx0VmFsdWV9YFxuXG4gICAgICBmb3JtYXR0ZWQgPSByZXBsYWNlYWxsKFwiLlwiLCBcInt7c2VwYXJhdG9yfX1cIiwgZm9ybWF0dGVkKVxuICAgICAgZm9ybWF0dGVkID0gcmVwbGFjZWFsbChcIixcIiwgXCJ7e2RlbGltaXRlcn19XCIsIGZvcm1hdHRlZClcbiAgICAgIGZvcm1hdHRlZCA9IHJlcGxhY2VhbGwoXCJ7e3NlcGFyYXRvcn19XCIsIHNlcGFyYXRvciwgZm9ybWF0dGVkKVxuICAgICAgZm9ybWF0dGVkID0gcmVwbGFjZWFsbChcInt7ZGVsaW1pdGVyfX1cIiwgZGVsaW1pdGVyLCBmb3JtYXR0ZWQpXG5cbiAgICAgIHJldHVybiBmb3JtYXR0ZWRcbiAgICB9XG5cbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlXG4gIH1cblxuICBpbnB1dE5hbWUgKCkge1xuICAgIGlmICh0aGlzLnMuYmxhbmtJbnB1dE5hbWUpIHJldHVybiBcIlwiXG5cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5pbnB1dFByb3BzLm5hbWVcbiAgfVxuXG4gIGlucHV0UmVmZXJlbmNlID0gKCkgPT4gZGlnZyh0aGlzLCBcInByb3BzXCIsIFwiaW5wdXRQcm9wc1wiLCBcInJlZlwiKVxuXG4gIG9uTW9kZWxVcGRhdGVkID0gKGFyZ3MpID0+IHtcbiAgICBjb25zdCBpbnB1dFJlZiA9IHRoaXMuaW5wdXRSZWZlcmVuY2UoKVxuXG4gICAgaWYgKCFpbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIGNvbXBvbmVudCBpcyBiZWluZyB1bm1vdW50ZWRcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHthdHRyaWJ1dGV9ID0gZGlncyh0aGlzLnByb3BzLCBcImF0dHJpYnV0ZVwiKVxuICAgIGNvbnN0IG5ld01vZGVsID0gZGlnZyhhcmdzLCBcIm1vZGVsXCIpXG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gZGlnZyhpbnB1dFJlZiwgXCJjdXJyZW50XCIsIFwidmFsdWVcIilcbiAgICBjb25zdCBuZXdWYWx1ZSA9IG5ld01vZGVsLnJlYWRBdHRyaWJ1dGUoYXR0cmlidXRlKVxuICAgIGNvbnN0IG5ld0Zvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXRWYWx1ZShuZXdWYWx1ZSlcblxuICAgIGlmIChjdXJyZW50VmFsdWUgIT0gbmV3Rm9ybWF0dGVkVmFsdWUpIHtcbiAgICAgIGlucHV0UmVmLmN1cnJlbnQudmFsdWUgPSBuZXdGb3JtYXR0ZWRWYWx1ZVxuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2VkID0gKGUpID0+IHtcbiAgICBjb25zdCB7Zm9ybX0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgYXV0b1N1Ym1pdCwgaW5wdXRQcm9wcywgbW9kZWwsIG9uQ2hhbmdlfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7bG9jYWxpemVkTnVtYmVyfSA9IGRpZ3ModGhpcy5wcm9wcywgXCJsb2NhbGl6ZWROdW1iZXJcIilcbiAgICBjb25zdCB7bmFtZX0gPSBpbnB1dFByb3BzXG5cbiAgICBpZiAobG9jYWxpemVkTnVtYmVyKSB0aGlzLmlucHV0UmVmZXJlbmNlKCkuY3VycmVudC52YWx1ZSA9IHRoaXMuYWN0dWFsVmFsdWUoZGlnZyhlLCBcInRhcmdldFwiKSlcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgYXV0b1N1Ym1pdCAmJiBtb2RlbCkgdGhpcy5kZWxheUF1dG9TdWJtaXQoKVxuICAgIGlmIChkaWdnKGlucHV0UHJvcHMsIFwidHlwZVwiKSA9PSBcImZpbGVcIikgdGhpcy5zZXRTdGF0ZSh7YmxhbmtJbnB1dE5hbWU6IHRoaXMuZ2V0QmxhbmtJbnB1dE5hbWUoKX0pXG5cbiAgICBpZiAoZm9ybSAmJiBuYW1lKSB7XG4gICAgICBmb3JtLnNldFZhbHVlKG5hbWUsIGUudGFyZ2V0LnZhbHVlKVxuICAgIH1cblxuICAgIGlmIChvbkNoYW5nZSkgb25DaGFuZ2UoZSlcbiAgfVxuXG4gIGRlbGF5QXV0b1N1Ym1pdCAoKSB7XG4gICAgaWYgKHRoaXMuZGVsYXlBdXRvU3VibWl0VGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVsYXlBdXRvU3VibWl0VGltZW91dClcbiAgICB9XG5cbiAgICB0aGlzLmRlbGF5QXV0b1N1Ym1pdFRpbWVvdXQgPSBzZXRUaW1lb3V0KHRoaXMuYXV0b1N1Ym1pdCwgMjAwKVxuICB9XG5cbiAgLy8gVGhpcyBmaXhlcyBhbiBpc3N1ZSBpbiBGaXJlZm94IGFuZCBBY3RpdmVTdG9yYWdlLCB3aGVyZSB1cGxvYWRzIHdvdWxkIGJlIGEgYmxhbmsgc3RyaW5nIGlmIGEgZmlsZSB3YXNuJ3QgY2hvc2VuXG4gIGdldEJsYW5rSW5wdXROYW1lICgpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGRpZyh0aGlzLmlucHV0UmVmZXJlbmNlKCksIFwiY3VycmVudFwiLCBcInZhbHVlXCIpXG5cbiAgICBpZiAodGhpcy5wcm9wcy5pbnB1dFByb3BzLnR5cGUgPT0gXCJmaWxlXCIgJiYgdmFsdWUgPT0gXCJcIilcbiAgICAgIHJldHVybiB0cnVlXG4gIH1cbn0pKVxuXG5leHBvcnQge0FwaU1ha2VySW5wdXRzSW5wdXQgYXMgSW5wdXR9XG5leHBvcnQgZGVmYXVsdCBpbnB1dFdyYXBwZXIoQXBpTWFrZXJJbnB1dHNJbnB1dClcbiJdfQ==