angular-three 2.14.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/fesm2022/angular-three-nativescript.mjs +3 -3
  2. package/fesm2022/angular-three-nativescript.mjs.map +1 -1
  3. package/fesm2022/angular-three-testing.mjs +12 -14
  4. package/fesm2022/angular-three-testing.mjs.map +1 -1
  5. package/fesm2022/angular-three.mjs +116 -100
  6. package/fesm2022/angular-three.mjs.map +1 -1
  7. package/lib/canvas.d.ts +31 -31
  8. package/lib/html.d.ts +3 -3
  9. package/lib/portal.d.ts +2 -2
  10. package/lib/routed-scene.d.ts +8 -2
  11. package/lib/utils/object-events.d.ts +0 -19
  12. package/nativescript/lib/canvas.d.ts +3 -3
  13. package/package.json +3 -9
  14. package/plugin/src/generators/init/schema.json +8 -8
  15. package/esm2022/angular-three.mjs +0 -5
  16. package/esm2022/index.mjs +0 -25
  17. package/esm2022/lib/canvas.mjs +0 -188
  18. package/esm2022/lib/directives/args.mjs +0 -53
  19. package/esm2022/lib/directives/selection.mjs +0 -69
  20. package/esm2022/lib/dom/events.mjs +0 -73
  21. package/esm2022/lib/events.mjs +0 -361
  22. package/esm2022/lib/html.mjs +0 -44
  23. package/esm2022/lib/instance.mjs +0 -83
  24. package/esm2022/lib/loader.mjs +0 -93
  25. package/esm2022/lib/loop.mjs +0 -141
  26. package/esm2022/lib/pipes/hexify.mjs +0 -86
  27. package/esm2022/lib/portal.mjs +0 -220
  28. package/esm2022/lib/renderer/catalogue.mjs +0 -7
  29. package/esm2022/lib/renderer/constants.mjs +0 -23
  30. package/esm2022/lib/renderer/index.mjs +0 -544
  31. package/esm2022/lib/renderer/state.mjs +0 -54
  32. package/esm2022/lib/renderer/utils.mjs +0 -223
  33. package/esm2022/lib/roots.mjs +0 -274
  34. package/esm2022/lib/routed-scene.mjs +0 -33
  35. package/esm2022/lib/store.mjs +0 -179
  36. package/esm2022/lib/three-types.mjs +0 -2
  37. package/esm2022/lib/types.mjs +0 -2
  38. package/esm2022/lib/utils/apply-props.mjs +0 -130
  39. package/esm2022/lib/utils/attach.mjs +0 -46
  40. package/esm2022/lib/utils/before-render.mjs +0 -41
  41. package/esm2022/lib/utils/is.mjs +0 -52
  42. package/esm2022/lib/utils/make.mjs +0 -52
  43. package/esm2022/lib/utils/object-events.mjs +0 -137
  44. package/esm2022/lib/utils/output-ref.mjs +0 -9
  45. package/esm2022/lib/utils/parameters.mjs +0 -70
  46. package/esm2022/lib/utils/resolve-ref.mjs +0 -8
  47. package/esm2022/lib/utils/signal-store.mjs +0 -90
  48. package/esm2022/lib/utils/update.mjs +0 -37
  49. package/esm2022/nativescript/angular-three-nativescript.mjs +0 -5
  50. package/esm2022/nativescript/index.mjs +0 -2
  51. package/esm2022/nativescript/lib/canvas.mjs +0 -127
  52. package/esm2022/testing/angular-three-testing.mjs +0 -5
  53. package/esm2022/testing/index.mjs +0 -3
  54. package/esm2022/testing/lib/test-bed.mjs +0 -130
  55. package/esm2022/testing/lib/test-canvas.mjs +0 -45
  56. package/esm2022/testing/lib/utils/mock-canvas.mjs +0 -37
  57. package/esm2022/testing/lib/utils/web-gl-rendering-context.mjs +0 -752
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90aHJlZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0QW1iaWVudExpZ2h0LFxuXHRBcnJheUNhbWVyYSxcblx0QXJyb3dIZWxwZXIsXG5cdEF1ZGlvLFxuXHRBeGVzSGVscGVyLFxuXHRCYXRjaGVkTWVzaCxcblx0Qm9uZSxcblx0Qm94M0hlbHBlcixcblx0Qm94R2VvbWV0cnksXG5cdEJveEhlbHBlcixcblx0QnVmZmVyQXR0cmlidXRlLFxuXHRCdWZmZXJHZW9tZXRyeSxcblx0Q2FtZXJhLFxuXHRDYW1lcmFIZWxwZXIsXG5cdENhbnZhc1RleHR1cmUsXG5cdENhcHN1bGVHZW9tZXRyeSxcblx0Q2lyY2xlR2VvbWV0cnksXG5cdENvbG9yLFxuXHRDb2xvclJlcHJlc2VudGF0aW9uLFxuXHRDb21wcmVzc2VkVGV4dHVyZSxcblx0Q29uZUdlb21ldHJ5LFxuXHRDdWJlQ2FtZXJhLFxuXHRDdWJlVGV4dHVyZSxcblx0Q3lsaW5kZXJHZW9tZXRyeSxcblx0RGF0YTNEVGV4dHVyZSxcblx0RGF0YVRleHR1cmUsXG5cdERlcHRoVGV4dHVyZSxcblx0RGlyZWN0aW9uYWxMaWdodCxcblx0RGlyZWN0aW9uYWxMaWdodEhlbHBlcixcblx0RGlyZWN0aW9uYWxMaWdodFNoYWRvdyxcblx0RG9kZWNhaGVkcm9uR2VvbWV0cnksXG5cdEVkZ2VzR2VvbWV0cnksXG5cdEV1bGVyLFxuXHRFeHRydWRlR2VvbWV0cnksXG5cdEZsb2F0MTZCdWZmZXJBdHRyaWJ1dGUsXG5cdEZsb2F0MzJCdWZmZXJBdHRyaWJ1dGUsXG5cdEZvZyxcblx0Rm9nRXhwMixcblx0R3JpZEhlbHBlcixcblx0R3JvdXAsXG5cdEhlbWlzcGhlcmVMaWdodCxcblx0SGVtaXNwaGVyZUxpZ2h0SGVscGVyLFxuXHRJY29zYWhlZHJvbkdlb21ldHJ5LFxuXHRJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGUsXG5cdEluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5LFxuXHRJbnN0YW5jZWRNZXNoLFxuXHRJbnQxNkJ1ZmZlckF0dHJpYnV0ZSxcblx0SW50MzJCdWZmZXJBdHRyaWJ1dGUsXG5cdEludDhCdWZmZXJBdHRyaWJ1dGUsXG5cdExPRCxcblx0TGF0aGVHZW9tZXRyeSxcblx0TGF5ZXJzLFxuXHRMaWdodCxcblx0TGlnaHRQcm9iZSxcblx0TGlnaHRTaGFkb3csXG5cdExpbmUsXG5cdExpbmVCYXNpY01hdGVyaWFsLFxuXHRMaW5lQmFzaWNNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdExpbmVEYXNoZWRNYXRlcmlhbCxcblx0TGluZURhc2hlZE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TGluZUxvb3AsXG5cdExpbmVTZWdtZW50cyxcblx0TWF0ZXJpYWwsXG5cdE1hdHJpeDMsXG5cdE1hdHJpeDQsXG5cdE1lc2gsXG5cdE1lc2hCYXNpY01hdGVyaWFsLFxuXHRNZXNoQmFzaWNNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE1lc2hEZXB0aE1hdGVyaWFsLFxuXHRNZXNoRGVwdGhNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE1lc2hEaXN0YW5jZU1hdGVyaWFsLFxuXHRNZXNoRGlzdGFuY2VNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE1lc2hMYW1iZXJ0TWF0ZXJpYWwsXG5cdE1lc2hMYW1iZXJ0TWF0ZXJpYWxQYXJhbWV0ZXJzLFxuXHRNZXNoTWF0Y2FwTWF0ZXJpYWwsXG5cdE1lc2hNYXRjYXBNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE1lc2hOb3JtYWxNYXRlcmlhbCxcblx0TWVzaE5vcm1hbE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaFBob25nTWF0ZXJpYWwsXG5cdE1lc2hQaG9uZ01hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaFBoeXNpY2FsTWF0ZXJpYWwsXG5cdE1lc2hQaHlzaWNhbE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaFN0YW5kYXJkTWF0ZXJpYWwsXG5cdE1lc2hTdGFuZGFyZE1hdGVyaWFsUGFyYW1ldGVycyxcblx0TWVzaFRvb25NYXRlcmlhbCxcblx0TWVzaFRvb25NYXRlcmlhbFBhcmFtZXRlcnMsXG5cdE9iamVjdDNELFxuXHRPY3RhaGVkcm9uR2VvbWV0cnksXG5cdE9ydGhvZ3JhcGhpY0NhbWVyYSxcblx0UGVyc3BlY3RpdmVDYW1lcmEsXG5cdFBsYW5lR2VvbWV0cnksXG5cdFBsYW5lSGVscGVyLFxuXHRQb2ludExpZ2h0LFxuXHRQb2ludExpZ2h0SGVscGVyLFxuXHRQb2ludHMsXG5cdFBvaW50c01hdGVyaWFsLFxuXHRQb2ludHNNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdFBvbGFyR3JpZEhlbHBlcixcblx0UG9seWhlZHJvbkdlb21ldHJ5LFxuXHRQb3NpdGlvbmFsQXVkaW8sXG5cdFF1YXRlcm5pb24sXG5cdFJhd1NoYWRlck1hdGVyaWFsLFxuXHRSYXljYXN0ZXIsXG5cdFJlY3RBcmVhTGlnaHQsXG5cdFJpbmdHZW9tZXRyeSxcblx0U2NlbmUsXG5cdFNoYWRlck1hdGVyaWFsLFxuXHRTaGFkZXJNYXRlcmlhbFBhcmFtZXRlcnMsXG5cdFNoYWRvd01hdGVyaWFsLFxuXHRTaGFwZSxcblx0U2hhcGVHZW9tZXRyeSxcblx0U2tlbGV0b24sXG5cdFNrZWxldG9uSGVscGVyLFxuXHRTa2lubmVkTWVzaCxcblx0U3BoZXJlR2VvbWV0cnksXG5cdFNwb3RMaWdodCxcblx0U3BvdExpZ2h0SGVscGVyLFxuXHRTcG90TGlnaHRTaGFkb3csXG5cdFNwcml0ZSxcblx0U3ByaXRlTWF0ZXJpYWwsXG5cdFNwcml0ZU1hdGVyaWFsUGFyYW1ldGVycyxcblx0VGV0cmFoZWRyb25HZW9tZXRyeSxcblx0VGV4dHVyZSxcblx0VG9ydXNHZW9tZXRyeSxcblx0VG9ydXNLbm90R2VvbWV0cnksXG5cdFR1YmVHZW9tZXRyeSxcblx0VWludDE2QnVmZmVyQXR0cmlidXRlLFxuXHRVaW50MzJCdWZmZXJBdHRyaWJ1dGUsXG5cdFVpbnQ4QnVmZmVyQXR0cmlidXRlLFxuXHRWZWN0b3IyLFxuXHRWZWN0b3IzLFxuXHRWZWN0b3I0LFxuXHRWaWRlb1RleHR1cmUsXG5cdFdpcmVmcmFtZUdlb21ldHJ5LFxufSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RBZnRlckF0dGFjaCwgTmd0QXR0YWNoRnVuY3Rpb24sIE5ndEJlZm9yZVJlbmRlckV2ZW50LCBOZ3RFdmVudEhhbmRsZXJzLCBOZ3RJbnN0YW5jZU5vZGUgfSBmcm9tICcuL3R5cGVzJztcblxudHlwZSBFeHBhbmQ8VD4gPSBUIGV4dGVuZHMgaW5mZXIgTyA/IHsgW0sgaW4ga2V5b2YgT106IE9bS10gfSA6IG5ldmVyO1xudHlwZSBOb0V2ZW50PFQ+ID0gT21pdDxULCAnYWRkRXZlbnRMaXN0ZW5lcicgfCAncmVtb3ZlRXZlbnRMaXN0ZW5lcic+O1xuXG5leHBvcnQgdHlwZSBOZ3ROb25GdW5jdGlvbktleXM8VD4gPSB7IFtLIGluIGtleW9mIFRdLT86IFRbS10gZXh0ZW5kcyBGdW5jdGlvbiA/IG5ldmVyIDogSyB9W2tleW9mIFRdO1xuZXhwb3J0IHR5cGUgTmd0T3ZlcndyaXRlPFQsIE8+ID0gT21pdDxULCBOZ3ROb25GdW5jdGlvbktleXM8Tz4+ICYgTztcblxuZXhwb3J0IHR5cGUgTmd0RXh0ZW5kZWRDb2xvcnM8VD4gPSB7XG5cdFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgQ29sb3IgfCB1bmRlZmluZWQgPyBDb2xvclJlcHJlc2VudGF0aW9uIDogVFtLXTtcbn07XG5cbi8qKlxuICogSWYgKipUKiogY29udGFpbnMgYSBjb25zdHJ1Y3RvciwgQHNlZSBDb25zdHJ1Y3RvclBhcmFtZXRlcnMgbXVzdCBiZSB1c2VkLCBvdGhlcndpc2UgKipUKiouXG4gKi9cbnR5cGUgTmd0QXJndW1lbnRzPFQ+ID0gVCBleHRlbmRzIG5ldyAoLi4uYXJnczogYW55KSA9PiBhbnkgPyBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VD4gOiBUO1xuXG5leHBvcnQgdHlwZSBOZ3RFdWxlciA9IEV1bGVyIHwgUGFyYW1ldGVyczxFdWxlclsnc2V0J10+O1xuZXhwb3J0IHR5cGUgTmd0TWF0cml4NCA9IE1hdHJpeDQgfCBQYXJhbWV0ZXJzPE1hdHJpeDRbJ3NldCddPiB8IFJlYWRvbmx5PE1hdHJpeDRbJ3NldCddPjtcblxuLyoqXG4gKiBUdXJuIGFuIGltcGxlbWVudGF0aW9uIG9mIFZlY3RvciBpbiB0byB0aGUgdHlwZSB0aGF0IGFuIHIzZiBjb21wb25lbnQgd291bGQgYWNjZXB0IGFzIGEgcHJvcC5cbiAqL1xudHlwZSBOZ3RWZWN0b3JMaWtlPFZlY3RvckNsYXNzIGV4dGVuZHMgVmVjdG9yMiB8IFZlY3RvcjMgfCBWZWN0b3I0PiA9XG5cdHwgVmVjdG9yQ2xhc3Ncblx0fCBQYXJhbWV0ZXJzPFZlY3RvckNsYXNzWydzZXQnXT5cblx0fCBSZWFkb25seTxQYXJhbWV0ZXJzPFZlY3RvckNsYXNzWydzZXQnXT4+XG5cdHwgUGFyYW1ldGVyczxWZWN0b3JDbGFzc1snc2V0U2NhbGFyJ10+WzBdO1xuXG5leHBvcnQgdHlwZSBOZ3RWZWN0b3IyID0gTmd0VmVjdG9yTGlrZTxWZWN0b3IyPjtcbmV4cG9ydCB0eXBlIE5ndFZlY3RvcjMgPSBOZ3RWZWN0b3JMaWtlPFZlY3RvcjM+O1xuZXhwb3J0IHR5cGUgTmd0VmVjdG9yNCA9IE5ndFZlY3Rvckxpa2U8VmVjdG9yND47XG5leHBvcnQgdHlwZSBOZ3RMYXllcnMgPSBMYXllcnMgfCBQYXJhbWV0ZXJzPExheWVyc1snc2V0J10+WzBdO1xuZXhwb3J0IHR5cGUgTmd0UXVhdGVybmlvbiA9IFF1YXRlcm5pb24gfCBQYXJhbWV0ZXJzPFF1YXRlcm5pb25bJ3NldCddPjtcblxuZXhwb3J0IHR5cGUgVGhyZWVEaXNwb3NlRXZlbnQgPSB7IHR5cGU6ICdkaXNwb3NlJzsgdGFyZ2V0OiBOZ3RJbnN0YW5jZU5vZGUgfTtcbmV4cG9ydCB0eXBlIFRocmVlQWRkZWRFdmVudCA9IHsgdHlwZTogJ2FkZGVkJzsgdGFyZ2V0OiBOZ3RJbnN0YW5jZU5vZGUgfTtcbmV4cG9ydCB0eXBlIFRocmVlUmVtb3ZlZEV2ZW50ID0geyB0eXBlOiAncmVtb3ZlZCc7IHRhcmdldDogTmd0SW5zdGFuY2VOb2RlIH07XG5leHBvcnQgdHlwZSBUaHJlZUNoaWxkQWRkZWRFdmVudCA9IHsgdHlwZTogJ2NoaWxkYWRkZWQnOyB0YXJnZXQ6IE5ndEluc3RhbmNlTm9kZTsgY2hpbGQ6IE5ndEluc3RhbmNlTm9kZSB9O1xuZXhwb3J0IHR5cGUgVGhyZWVDaGlsZFJlbW92ZWRFdmVudCA9IHsgdHlwZTogJ2NoaWxkcmVtb3ZlZCc7IHRhcmdldDogTmd0SW5zdGFuY2VOb2RlOyBjaGlsZDogTmd0SW5zdGFuY2VOb2RlIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0Tm9kZUV2ZW50TWFwPFRPcmlnaW5hbD4ge1xuXHRhdHRhY2hlZDogTmd0QWZ0ZXJBdHRhY2g8Tmd0SW5zdGFuY2VOb2RlLCBUT3JpZ2luYWw+O1xuXHR1cGRhdGVkOiBUT3JpZ2luYWw7XG5cdGJlZm9yZVJlbmRlcjogTmd0QmVmb3JlUmVuZGVyRXZlbnQ8VE9yaWdpbmFsPjtcblx0Ly8gTk9URTogdGhpcyBpcyBuYW1lZCBcImRpc3Bvc2VkXCIgdG8gZGlmZmVyZW50aWF0ZSBpdCBmcm9tIFtkaXNwb3NlXSBwcm9wZXJ0eS5cblx0ZGlzcG9zZWQ6IFRocmVlRGlzcG9zZUV2ZW50O1xufVxuXG5leHBvcnQgdHlwZSBOZ3ROb2RlRWxlbWVudDxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4gPSB7XG5cdGF0dGFjaDogc3RyaW5nIHwgc3RyaW5nW10gfCBOZ3RBdHRhY2hGdW5jdGlvbjtcblx0YWRkRXZlbnRMaXN0ZW5lcjxURXZlbnRLZXkgZXh0ZW5kcyBrZXlvZiBOZ3ROb2RlRXZlbnRNYXA8VE9yaWdpbmFsPj4oXG5cdFx0dHlwZTogVEV2ZW50S2V5LFxuXHRcdGxpc3RlbmVyOiAodGhpczogTmd0Tm9kZUVsZW1lbnQ8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3I+LCBldjogTmd0Tm9kZUV2ZW50TWFwPFRPcmlnaW5hbD5bVEV2ZW50S2V5XSkgPT4gYW55LFxuXHQpOiB2b2lkO1xuXHRyZW1vdmVFdmVudExpc3RlbmVyPFRFdmVudEtleSBleHRlbmRzIGtleW9mIE5ndE5vZGVFdmVudE1hcDxUT3JpZ2luYWw+Pihcblx0XHR0eXBlOiBURXZlbnRLZXksXG5cdFx0bGlzdGVuZXI6ICh0aGlzOiBOZ3ROb2RlRWxlbWVudDxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4sIGV2OiBOZ3ROb2RlRXZlbnRNYXA8VE9yaWdpbmFsPltURXZlbnRLZXldKSA9PiBhbnksXG5cdCk6IHZvaWQ7XG5cdF9fbmd0X2FyZ3NfXzogTmd0QXJndW1lbnRzPFRDb25zdHJ1Y3Rvcj47XG59O1xuXG5leHBvcnQgdHlwZSBOZ3ROb2RlPFRPcmlnaW5hbCwgVENvbnN0cnVjdG9yLCBUTm9FdmVudCA9IE5vRXZlbnQ8VE9yaWdpbmFsPj4gPSBbVE5vRXZlbnRdIGV4dGVuZHMgW1xuXHR7IHRoaXNTaG91bGROZXZlckhhcHBlbjogJ3VubGVzcyB0aGUgb2JqZWN0IGlzIG9mIHR5cGUgYW55JyB9LFxuXVxuXHQ/IE5ndEV4dGVuZGVkQ29sb3JzPE5ndE92ZXJ3cml0ZTxQYXJ0aWFsPHt9PiwgTmd0Tm9kZUVsZW1lbnQ8e30sIHt9Pj4+XG5cdDogTmd0RXh0ZW5kZWRDb2xvcnM8Tmd0T3ZlcndyaXRlPFBhcnRpYWw8VE5vRXZlbnQ+LCBOZ3ROb2RlRWxlbWVudDxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4+PjtcblxuZXhwb3J0IHR5cGUgTmd0T2JqZWN0M0RFdmVudHNNYXAgPSB7XG5cdFtURXZlbnQgaW4ga2V5b2YgTmd0RXZlbnRIYW5kbGVyc10tPzogUGFyYW1ldGVyczxOb25OdWxsYWJsZTxOZ3RFdmVudEhhbmRsZXJzW1RFdmVudF0+PlswXTtcbn0gJiB7XG5cdGFkZGVkOiBUaHJlZUFkZGVkRXZlbnQ7XG5cdHJlbW92ZWQ6IFRocmVlUmVtb3ZlZEV2ZW50O1xuXHRjaGlsZGFkZGVkOiBUaHJlZUNoaWxkQWRkZWRFdmVudDtcblx0Y2hpbGRyZW1vdmVkOiBUaHJlZUNoaWxkUmVtb3ZlZEV2ZW50O1xufTtcblxuZXhwb3J0IHR5cGUgTmd0QWxsT2JqZWN0M0RFdmVudHNNYXAgPSBOZ3RPYmplY3QzREV2ZW50c01hcCAmIE5ndE5vZGVFdmVudE1hcDxOZ3RJbnN0YW5jZU5vZGU+O1xuXG5leHBvcnQgdHlwZSBOZ3RPYmplY3QzRE5vZGU8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3IsIFROb0V2ZW50ID0gTm9FdmVudDxUT3JpZ2luYWw+PiA9IEV4cGFuZDxcblx0Tmd0T3ZlcndyaXRlPFxuXHRcdE5ndE5vZGU8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3IsIFROb0V2ZW50Pixcblx0XHR7XG5cdFx0XHRwb3NpdGlvbjogTmd0VmVjdG9yMztcblx0XHRcdHVwOiBOZ3RWZWN0b3IzO1xuXHRcdFx0c2NhbGU6IE5ndFZlY3RvcjM7XG5cdFx0XHRyb3RhdGlvbjogTmd0RXVsZXI7XG5cdFx0XHRtYXRyaXg6IE5ndE1hdHJpeDQ7XG5cdFx0XHRxdWF0ZXJuaW9uOiBOZ3RRdWF0ZXJuaW9uO1xuXHRcdFx0bGF5ZXJzOiBOZ3RMYXllcnM7XG5cdFx0XHRkaXNwb3NlOiAoKCkgPT4gdm9pZCkgfCBudWxsO1xuXHRcdFx0cmF5Y2FzdDogT2JqZWN0M0RbJ3JheWNhc3QnXSB8IG51bGw7XG5cdFx0XHRhZGRFdmVudExpc3RlbmVyPFRFdmVudEtleSBleHRlbmRzIGtleW9mIE5ndEFsbE9iamVjdDNERXZlbnRzTWFwPihcblx0XHRcdFx0dHlwZTogVEV2ZW50S2V5LFxuXHRcdFx0XHRsaXN0ZW5lcjogKHRoaXM6IE5ndE9iamVjdDNETm9kZTxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4sIGV2OiBOZ3RBbGxPYmplY3QzREV2ZW50c01hcFtURXZlbnRLZXldKSA9PiBhbnksXG5cdFx0XHQpOiB2b2lkO1xuXHRcdFx0cmVtb3ZlRXZlbnRMaXN0ZW5lcjxURXZlbnRLZXkgZXh0ZW5kcyBrZXlvZiBOZ3RBbGxPYmplY3QzREV2ZW50c01hcD4oXG5cdFx0XHRcdHR5cGU6IFRFdmVudEtleSxcblx0XHRcdFx0bGlzdGVuZXI6ICh0aGlzOiBOZ3RPYmplY3QzRE5vZGU8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3I+LCBldjogTmd0QWxsT2JqZWN0M0RFdmVudHNNYXBbVEV2ZW50S2V5XSkgPT4gYW55LFxuXHRcdFx0KTogdm9pZDtcblx0XHR9XG5cdD5cbj47XG5cbmV4cG9ydCB0eXBlIE5ndEdlb21ldHJ5PFRHZW9tZXRyeSBleHRlbmRzIEJ1ZmZlckdlb21ldHJ5LCBUQ29uc3RydWN0b3I+ID0gTmd0Tm9kZTxUR2VvbWV0cnksIFRDb25zdHJ1Y3Rvcj47XG5leHBvcnQgdHlwZSBOZ3RNYXRlcmlhbDxUTWF0ZXJpYWwgZXh0ZW5kcyBNYXRlcmlhbCwgVENvbnN0cnVjdG9yPiA9IE5ndE5vZGU8VE1hdGVyaWFsLCBUQ29uc3RydWN0b3I+O1xuZXhwb3J0IHR5cGUgTmd0TGlnaHQ8VCBleHRlbmRzIExpZ2h0LCBQPiA9IE5ndE9iamVjdDNETm9kZTxULCBQPjtcblxuZXhwb3J0IHR5cGUgTmd0T2JqZWN0M0QgPSBOZ3RPYmplY3QzRE5vZGU8T2JqZWN0M0QsIHR5cGVvZiBPYmplY3QzRD47XG5leHBvcnQgdHlwZSBOZ3RBdWRpbyA9IE5ndE9iamVjdDNETm9kZTxBdWRpbywgdHlwZW9mIEF1ZGlvPjtcbmV4cG9ydCB0eXBlIE5ndEF1ZGlvTGlzdGVuZXIgPSBOZ3RPYmplY3QzRE5vZGU8QXVkaW9MaXN0ZW5lciwgdHlwZW9mIEF1ZGlvTGlzdGVuZXI+O1xuZXhwb3J0IHR5cGUgTmd0UG9zaXRpb25hbEF1ZGlvID0gTmd0T2JqZWN0M0ROb2RlPFBvc2l0aW9uYWxBdWRpbywgdHlwZW9mIFBvc2l0aW9uYWxBdWRpbz47XG5cbmV4cG9ydCB0eXBlIE5ndE1lc2ggPSBOZ3RPYmplY3QzRE5vZGU8TWVzaCwgdHlwZW9mIE1lc2g+O1xuZXhwb3J0IHR5cGUgTmd0SW5zdGFuY2VkTWVzaCA9IE5ndE9iamVjdDNETm9kZTxJbnN0YW5jZWRNZXNoLCB0eXBlb2YgSW5zdGFuY2VkTWVzaD47XG5leHBvcnQgdHlwZSBOZ3RCYXRjaGVkTWVzaCA9IE5ndE9iamVjdDNETm9kZTxCYXRjaGVkTWVzaCwgdHlwZW9mIEJhdGNoZWRNZXNoPjtcbmV4cG9ydCB0eXBlIE5ndFNjZW5lID0gTmd0T2JqZWN0M0ROb2RlPFNjZW5lLCB0eXBlb2YgU2NlbmU+O1xuZXhwb3J0IHR5cGUgTmd0U3ByaXRlID0gTmd0T2JqZWN0M0ROb2RlPFNwcml0ZSwgdHlwZW9mIFNwcml0ZT47XG5leHBvcnQgdHlwZSBOZ3RMT0QgPSBOZ3RPYmplY3QzRE5vZGU8TE9ELCB0eXBlb2YgTE9EPjtcbmV4cG9ydCB0eXBlIE5ndFNraW5uZWRNZXNoID0gTmd0T2JqZWN0M0ROb2RlPFNraW5uZWRNZXNoLCB0eXBlb2YgU2tpbm5lZE1lc2g+O1xuXG5leHBvcnQgdHlwZSBOZ3RTa2VsZXRvbiA9IE5ndE9iamVjdDNETm9kZTxTa2VsZXRvbiwgdHlwZW9mIFNrZWxldG9uPjtcbmV4cG9ydCB0eXBlIE5ndEJvbmUgPSBOZ3RPYmplY3QzRE5vZGU8Qm9uZSwgdHlwZW9mIEJvbmU+O1xuZXhwb3J0IHR5cGUgTmd0TGluZSA9IE5ndE9iamVjdDNETm9kZTxMaW5lLCB0eXBlb2YgTGluZT47XG5leHBvcnQgdHlwZSBOZ3RMaW5lU2VnbWVudHMgPSBOZ3RPYmplY3QzRE5vZGU8TGluZVNlZ21lbnRzLCB0eXBlb2YgTGluZVNlZ21lbnRzPjtcbmV4cG9ydCB0eXBlIE5ndExpbmVMb29wID0gTmd0T2JqZWN0M0ROb2RlPExpbmVMb29wLCB0eXBlb2YgTGluZUxvb3A+O1xuZXhwb3J0IHR5cGUgTmd0UG9pbnRzID0gTmd0T2JqZWN0M0ROb2RlPFBvaW50cywgdHlwZW9mIFBvaW50cz47XG5leHBvcnQgdHlwZSBOZ3RHcm91cCA9IE5ndE9iamVjdDNETm9kZTxHcm91cCwgdHlwZW9mIEdyb3VwPjtcblxuZXhwb3J0IHR5cGUgTmd0Q2FtZXJhTm9kZSA9IE5ndE9iamVjdDNETm9kZTxDYW1lcmEsIHR5cGVvZiBDYW1lcmE+O1xuZXhwb3J0IHR5cGUgTmd0UGVyc3BlY3RpdmVDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8UGVyc3BlY3RpdmVDYW1lcmEsIHR5cGVvZiBQZXJzcGVjdGl2ZUNhbWVyYT47XG5leHBvcnQgdHlwZSBOZ3RPcnRob2dyYXBoaWNDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8T3J0aG9ncmFwaGljQ2FtZXJhLCB0eXBlb2YgT3J0aG9ncmFwaGljQ2FtZXJhPjtcbmV4cG9ydCB0eXBlIE5ndEN1YmVDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8Q3ViZUNhbWVyYSwgdHlwZW9mIEN1YmVDYW1lcmE+O1xuZXhwb3J0IHR5cGUgTmd0QXJyYXlDYW1lcmEgPSBOZ3RPYmplY3QzRE5vZGU8QXJyYXlDYW1lcmEsIHR5cGVvZiBBcnJheUNhbWVyYT47XG5cbmV4cG9ydCB0eXBlIE5ndEluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8SW5zdGFuY2VkQnVmZmVyR2VvbWV0cnksIHR5cGVvZiBJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RCdWZmZXJHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEJ1ZmZlckdlb21ldHJ5LCB0eXBlb2YgQnVmZmVyR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0V2lyZWZyYW1lR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxXaXJlZnJhbWVHZW9tZXRyeSwgdHlwZW9mIFdpcmVmcmFtZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFRldHJhaGVkcm9uR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxUZXRyYWhlZHJvbkdlb21ldHJ5LCB0eXBlb2YgVGV0cmFoZWRyb25HZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RPY3RhaGVkcm9uR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxPY3RhaGVkcm9uR2VvbWV0cnksIHR5cGVvZiBPY3RhaGVkcm9uR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0SWNvc2FoZWRyb25HZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEljb3NhaGVkcm9uR2VvbWV0cnksIHR5cGVvZiBJY29zYWhlZHJvbkdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndERvZGVjYWhlZHJvbkdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8RG9kZWNhaGVkcm9uR2VvbWV0cnksIHR5cGVvZiBEb2RlY2FoZWRyb25HZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RQb2x5aGVkcm9uR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxQb2x5aGVkcm9uR2VvbWV0cnksIHR5cGVvZiBQb2x5aGVkcm9uR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0VHViZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VHViZUdlb21ldHJ5LCB0eXBlb2YgVHViZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFRvcnVzS25vdEdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VG9ydXNLbm90R2VvbWV0cnksIHR5cGVvZiBUb3J1c0tub3RHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RUb3J1c0dlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VG9ydXNHZW9tZXRyeSwgdHlwZW9mIFRvcnVzR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0U3BoZXJlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxTcGhlcmVHZW9tZXRyeSwgdHlwZW9mIFNwaGVyZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFJpbmdHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFJpbmdHZW9tZXRyeSwgdHlwZW9mIFJpbmdHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RQbGFuZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8UGxhbmVHZW9tZXRyeSwgdHlwZW9mIFBsYW5lR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0TGF0aGVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PExhdGhlR2VvbWV0cnksIHR5cGVvZiBMYXRoZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFNoYXBlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxTaGFwZUdlb21ldHJ5LCB0eXBlb2YgU2hhcGVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RFeHRydWRlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxFeHRydWRlR2VvbWV0cnksIHR5cGVvZiBFeHRydWRlR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0RWRnZXNHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PEVkZ2VzR2VvbWV0cnksIHR5cGVvZiBFZGdlc0dlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndENvbmVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PENvbmVHZW9tZXRyeSwgdHlwZW9mIENvbmVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RDeWxpbmRlckdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8Q3lsaW5kZXJHZW9tZXRyeSwgdHlwZW9mIEN5bGluZGVyR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0Q2lyY2xlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxDaXJjbGVHZW9tZXRyeSwgdHlwZW9mIENpcmNsZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndEJveEdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8Qm94R2VvbWV0cnksIHR5cGVvZiBCb3hHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RDYXBzdWxlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxDYXBzdWxlR2VvbWV0cnksIHR5cGVvZiBDYXBzdWxlR2VvbWV0cnk+O1xuXG5leHBvcnQgdHlwZSBOZ3RTaGFkb3dNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFNoYWRvd01hdGVyaWFsLCBbU2hhZGVyTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RTcHJpdGVNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFNwcml0ZU1hdGVyaWFsLCBbU3ByaXRlTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RSYXdTaGFkZXJNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFJhd1NoYWRlck1hdGVyaWFsLCBbU2hhZGVyTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RTaGFkZXJNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFNoYWRlck1hdGVyaWFsLCBbU2hhZGVyTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RQb2ludHNNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFBvaW50c01hdGVyaWFsLCBbUG9pbnRzTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoUGh5c2ljYWxNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hQaHlzaWNhbE1hdGVyaWFsLCBbTWVzaFBoeXNpY2FsTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoU3RhbmRhcmRNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hTdGFuZGFyZE1hdGVyaWFsLCBbTWVzaFN0YW5kYXJkTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoUGhvbmdNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hQaG9uZ01hdGVyaWFsLCBbTWVzaFBob25nTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoVG9vbk1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8TWVzaFRvb25NYXRlcmlhbCwgW01lc2hUb29uTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoTm9ybWFsTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxNZXNoTm9ybWFsTWF0ZXJpYWwsIFtNZXNoTm9ybWFsTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoTGFtYmVydE1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8TWVzaExhbWJlcnRNYXRlcmlhbCwgW01lc2hMYW1iZXJ0TWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoRGVwdGhNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hEZXB0aE1hdGVyaWFsLCBbTWVzaERlcHRoTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoRGlzdGFuY2VNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hEaXN0YW5jZU1hdGVyaWFsLCBbTWVzaERpc3RhbmNlTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoQmFzaWNNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPE1lc2hCYXNpY01hdGVyaWFsLCBbTWVzaEJhc2ljTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RNZXNoTWF0Y2FwTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxNZXNoTWF0Y2FwTWF0ZXJpYWwsIFtNZXNoTWF0Y2FwTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RMaW5lRGFzaGVkTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxMaW5lRGFzaGVkTWF0ZXJpYWwsIFtMaW5lRGFzaGVkTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5leHBvcnQgdHlwZSBOZ3RMaW5lQmFzaWNNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPExpbmVCYXNpY01hdGVyaWFsLCBbTGluZUJhc2ljTWF0ZXJpYWxQYXJhbWV0ZXJzXT47XG5cbmV4cG9ydCB0eXBlIE5ndFByaW1pdGl2ZSA9IE5ndE5vZGVFbGVtZW50PGFueSwgYW55PjtcbmV4cG9ydCB0eXBlIE5ndFZhbHVlID0gTmd0Tm9kZTx7IHJhd1ZhbHVlOiBhbnkgfSwge30+O1xuXG5leHBvcnQgdHlwZSBOZ3RMaWdodFNoYWRvdyA9IE5ndE5vZGU8TGlnaHRTaGFkb3csIHR5cGVvZiBMaWdodFNoYWRvdz47XG5leHBvcnQgdHlwZSBOZ3RTcG90TGlnaHRTaGFkb3cgPSBOZ3ROb2RlPFNwb3RMaWdodFNoYWRvdywgdHlwZW9mIFNwb3RMaWdodFNoYWRvdz47XG5leHBvcnQgdHlwZSBOZ3REaXJlY3Rpb25hbExpZ2h0U2hhZG93ID0gTmd0Tm9kZTxEaXJlY3Rpb25hbExpZ2h0U2hhZG93LCB0eXBlb2YgRGlyZWN0aW9uYWxMaWdodFNoYWRvdz47XG5cbmV4cG9ydCB0eXBlIE5ndFNwb3RMaWdodCA9IE5ndExpZ2h0PFNwb3RMaWdodCwgdHlwZW9mIFNwb3RMaWdodD47XG5leHBvcnQgdHlwZSBOZ3RQb2ludExpZ2h0ID0gTmd0TGlnaHQ8UG9pbnRMaWdodCwgdHlwZW9mIFBvaW50TGlnaHQ+O1xuZXhwb3J0IHR5cGUgTmd0UmVjdEFyZWFMaWdodCA9IE5ndExpZ2h0PFJlY3RBcmVhTGlnaHQsIHR5cGVvZiBSZWN0QXJlYUxpZ2h0PjtcbmV4cG9ydCB0eXBlIE5ndEhlbWlzcGhlcmVMaWdodCA9IE5ndExpZ2h0PEhlbWlzcGhlcmVMaWdodCwgdHlwZW9mIEhlbWlzcGhlcmVMaWdodD47XG5leHBvcnQgdHlwZSBOZ3REaXJlY3Rpb25hbExpZ2h0ID0gTmd0TGlnaHQ8RGlyZWN0aW9uYWxMaWdodCwgdHlwZW9mIERpcmVjdGlvbmFsTGlnaHQ+O1xuZXhwb3J0IHR5cGUgTmd0QW1iaWVudExpZ2h0ID0gTmd0TGlnaHQ8QW1iaWVudExpZ2h0LCB0eXBlb2YgQW1iaWVudExpZ2h0PjtcbmV4cG9ydCB0eXBlIE5ndExpZ2h0UHJvYmUgPSBOZ3RMaWdodDxMaWdodFByb2JlLCB0eXBlb2YgTGlnaHRQcm9iZT47XG5cbmV4cG9ydCB0eXBlIE5ndFNwb3RMaWdodEhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxTcG90TGlnaHRIZWxwZXIsIHR5cGVvZiBTcG90TGlnaHRIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0U2tlbGV0b25IZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8U2tlbGV0b25IZWxwZXIsIHR5cGVvZiBTa2VsZXRvbkhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RQb2ludExpZ2h0SGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPFBvaW50TGlnaHRIZWxwZXIsIHR5cGVvZiBQb2ludExpZ2h0SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndEhlbWlzcGhlcmVMaWdodEhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxIZW1pc3BoZXJlTGlnaHRIZWxwZXIsIHR5cGVvZiBIZW1pc3BoZXJlTGlnaHRIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0R3JpZEhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxHcmlkSGVscGVyLCB0eXBlb2YgR3JpZEhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RQb2xhckdyaWRIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8UG9sYXJHcmlkSGVscGVyLCB0eXBlb2YgUG9sYXJHcmlkSGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndERpcmVjdGlvbmFsTGlnaHRIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8RGlyZWN0aW9uYWxMaWdodEhlbHBlciwgdHlwZW9mIERpcmVjdGlvbmFsTGlnaHRIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0Q2FtZXJhSGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPENhbWVyYUhlbHBlciwgdHlwZW9mIENhbWVyYUhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RCb3hIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8Qm94SGVscGVyLCB0eXBlb2YgQm94SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndEJveDNIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8Qm94M0hlbHBlciwgdHlwZW9mIEJveDNIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0UGxhbmVIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8UGxhbmVIZWxwZXIsIHR5cGVvZiBQbGFuZUhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RBcnJvd0hlbHBlciA9IE5ndE9iamVjdDNETm9kZTxBcnJvd0hlbHBlciwgdHlwZW9mIEFycm93SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndEF4ZXNIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8QXhlc0hlbHBlciwgdHlwZW9mIEF4ZXNIZWxwZXI+O1xuXG5leHBvcnQgdHlwZSBOZ3RUZXh0dXJlID0gTmd0Tm9kZTxUZXh0dXJlLCB0eXBlb2YgVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RWaWRlb1RleHR1cmUgPSBOZ3ROb2RlPFZpZGVvVGV4dHVyZSwgdHlwZW9mIFZpZGVvVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3REYXRhVGV4dHVyZSA9IE5ndE5vZGU8RGF0YVRleHR1cmUsIHR5cGVvZiBEYXRhVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3REYXRhM0RUZXh0dXJlID0gTmd0Tm9kZTxEYXRhM0RUZXh0dXJlLCB0eXBlb2YgRGF0YTNEVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RDb21wcmVzc2VkVGV4dHVyZSA9IE5ndE5vZGU8Q29tcHJlc3NlZFRleHR1cmUsIHR5cGVvZiBDb21wcmVzc2VkVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RDdWJlVGV4dHVyZSA9IE5ndE5vZGU8Q3ViZVRleHR1cmUsIHR5cGVvZiBDdWJlVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3RDYW52YXNUZXh0dXJlID0gTmd0Tm9kZTxDYW52YXNUZXh0dXJlLCB0eXBlb2YgQ2FudmFzVGV4dHVyZT47XG5leHBvcnQgdHlwZSBOZ3REZXB0aFRleHR1cmUgPSBOZ3ROb2RlPERlcHRoVGV4dHVyZSwgdHlwZW9mIERlcHRoVGV4dHVyZT47XG5cbmV4cG9ydCB0eXBlIE5ndFJheWNhc3RlciA9IE5ndE5vZGU8UmF5Y2FzdGVyLCB0eXBlb2YgUmF5Y2FzdGVyPjtcbmV4cG9ydCB0eXBlIE5ndFZlY3RvcjJOb2RlID0gTmd0Tm9kZTxWZWN0b3IyLCB0eXBlb2YgVmVjdG9yMj47XG5leHBvcnQgdHlwZSBOZ3RWZWN0b3IzTm9kZSA9IE5ndE5vZGU8VmVjdG9yMywgdHlwZW9mIFZlY3RvcjM+O1xuZXhwb3J0IHR5cGUgTmd0VmVjdG9yNE5vZGUgPSBOZ3ROb2RlPFZlY3RvcjQsIHR5cGVvZiBWZWN0b3I0PjtcbmV4cG9ydCB0eXBlIE5ndEV1bGVyTm9kZSA9IE5ndE5vZGU8RXVsZXIsIHR5cGVvZiBFdWxlcj47XG5leHBvcnQgdHlwZSBOZ3RNYXRyaXgzTm9kZSA9IE5ndE5vZGU8TWF0cml4MywgdHlwZW9mIE1hdHJpeDM+O1xuZXhwb3J0IHR5cGUgTmd0TWF0cml4NE5vZGUgPSBOZ3ROb2RlPE1hdHJpeDQsIHR5cGVvZiBNYXRyaXg0PjtcbmV4cG9ydCB0eXBlIE5ndFF1YXRlcm5pb25Ob2RlID0gTmd0Tm9kZTxRdWF0ZXJuaW9uLCB0eXBlb2YgUXVhdGVybmlvbj47XG5leHBvcnQgdHlwZSBOZ3RCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPEJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RGbG9hdDE2QnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxGbG9hdDE2QnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgRmxvYXQxNkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RGbG9hdDMyQnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxGbG9hdDMyQnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgRmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnQ4QnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxJbnQ4QnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgSW50OEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnQxNkJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8SW50MTZCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBJbnQxNkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnQzMkJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8SW50MzJCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBJbnQzMkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RVaW50OEJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8VWludDhCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBVaW50OEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RVaW50MTZCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPFVpbnQxNkJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIFVpbnQxNkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RVaW50MzJCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPFVpbnQzMkJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIFVpbnQzMkJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPEluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIEluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT47XG5leHBvcnQgdHlwZSBOZ3RDb2xvciA9IE5ndE5vZGU8Q29sb3IsIENvbG9yUmVwcmVzZW50YXRpb24+O1xuZXhwb3J0IHR5cGUgTmd0Rm9nID0gTmd0Tm9kZTxGb2csIHR5cGVvZiBGb2c+O1xuZXhwb3J0IHR5cGUgTmd0Rm9nRXhwMiA9IE5ndE5vZGU8Rm9nRXhwMiwgdHlwZW9mIEZvZ0V4cDI+O1xuZXhwb3J0IHR5cGUgTmd0U2hhcGUgPSBOZ3ROb2RlPFNoYXBlLCB0eXBlb2YgU2hhcGU+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRocmVlRWxlbWVudHMge1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvY29yZS9PYmplY3QzRC5kLnRzXG5cdCAqL1xuXHQnbmd0LW9iamVjdDNEJzogTmd0T2JqZWN0M0Q7XG5cblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2F1ZGlvL0F1ZGlvLmQudHNcblx0ICovXG5cdCduZ3QtYXVkaW8nOiBOZ3RBdWRpbztcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2F1ZGlvL0F1ZGlvTGlzdGVuZXIuZC50c1xuXHQgKi9cblx0J25ndC1hdWRpby1saXN0ZW5lcic6IE5ndEF1ZGlvTGlzdGVuZXI7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9hdWRpby9Qb3NpdGlvbmFsQXVkaW8uZC50c1xuXHQgKi9cblx0J25ndC1wb3NpdGlvbmFsLWF1ZGlvJzogTmd0UG9zaXRpb25hbEF1ZGlvO1xuXG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9vYmplY3RzL01lc2guZC50c1xuXHQgKi9cblx0J25ndC1tZXNoJzogTmd0TWVzaDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL29iamVjdHMvSW5zdGFuY2VkTWVzaC5kLnRzXG5cdCAqL1xuXHQnbmd0LWluc3RhbmNlZC1tZXNoJzogTmd0SW5zdGFuY2VkTWVzaDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL3NjZW5lcy9TY2VuZS5kLnRzXG5cdCAqL1xuXHQnbmd0LXNjZW5lJzogTmd0U2NlbmU7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9vYmplY3RzL1Nwcml0ZS5kLnRzXG5cdCAqL1xuXHQnbmd0LXNwcml0ZSc6IE5ndFNwcml0ZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL29iamVjdHMvTE9ELmQudHNcblx0ICovXG5cdCduZ3QtbE9EJzogTmd0TE9EO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvb2JqZWN0cy9Ta2lubmVkTWVzaC5kLnRzXG5cdCAqL1xuXHQnbmd0LXNraW5uZWQtbWVzaCc6IE5ndFNraW5uZWRNZXNoO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvb2JqZWN0cy9Ta2VsZXRvbi5kLnRzXG5cdCAqL1xuXHQnbmd0LXNrZWxldG9uJzogTmd0U2tlbGV0b247XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9vYmplY3RzL0JvbmUuZC50c1xuXHQgKi9cblx0J25ndC1ib25lJzogTmd0Qm9uZTtcblxuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvb2JqZWN0cy9MaW5lLmQudHNcblx0ICovXG5cdCduZ3QtbGluZSc6IE5ndExpbmU7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9vYmplY3RzL0xpbmVTZWdtZW50cy5kLnRzXG5cdCAqL1xuXHQnbmd0LWxpbmUtc2VnbWVudHMnOiBOZ3RMaW5lU2VnbWVudHM7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9vYmplY3RzL0xpbmVMb29wLmQudHNcblx0ICovXG5cdCduZ3QtbGluZS1sb29wJzogTmd0TGluZUxvb3A7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9vYmplY3RzL1BvaW50cy5kLnRzXG5cdCAqL1xuXHQnbmd0LXBvaW50cyc6IE5ndFBvaW50cztcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL29iamVjdHMvR3JvdXAuZC50c1xuXHQgKi9cblx0J25ndC1ncm91cCc6IE5ndEdyb3VwO1xuXG5cdC8vIGNhbWVyYXNcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NhbWVyYXMvQ2FtZXJhLmQudHNcblx0ICovXG5cdCduZ3QtY2FtZXJhJzogTmd0Q2FtZXJhTm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NhbWVyYXMvUGVyc3BlY3RpdmVDYW1lcmEuZC50c1xuXHQgKi9cblx0J25ndC1wZXJzcGVjdGl2ZS1jYW1lcmEnOiBOZ3RQZXJzcGVjdGl2ZUNhbWVyYTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NhbWVyYXMvT3J0aG9ncmFwaGljQ2FtZXJhLmQudHNcblx0ICovXG5cdCduZ3Qtb3J0aG9ncmFwaGljLWNhbWVyYSc6IE5ndE9ydGhvZ3JhcGhpY0NhbWVyYTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NhbWVyYXMvQ3ViZUNhbWVyYS5kLnRzXG5cdCAqL1xuXHQnbmd0LWN1YmUtY2FtZXJhJzogTmd0Q3ViZUNhbWVyYTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NhbWVyYXMvQXJyYXlDYW1lcmEuZC50c1xuXHQgKi9cblx0J25ndC1hcnJheS1jYW1lcmEnOiBOZ3RBcnJheUNhbWVyYTtcblxuXHQvLyBnZW9tZXRyeVxuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvY29yZS9JbnN0YW5jZWRCdWZmZXJHZW9tZXRyeS5kLnRzXG5cdCAqL1xuXHQnbmd0LWluc3RhbmNlZC1idWZmZXItZ2VvbWV0cnknOiBOZ3RJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NvcmUvQnVmZmVyR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC1idWZmZXItZ2VvbWV0cnknOiBOZ3RCdWZmZXJHZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvV2lyZWZyYW1lR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC13aXJlZnJhbWUtZ2VvbWV0cnknOiBOZ3RXaXJlZnJhbWVHZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvVGV0cmFoZWRyb25HZW9tZXRyeS5kLnRzXG5cdCAqL1xuXHQnbmd0LXRldHJhaGVkcm9uLWdlb21ldHJ5JzogTmd0VGV0cmFoZWRyb25HZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvT2N0YWhlZHJvbkdlb21ldHJ5LmQudHNcblx0ICovXG5cdCduZ3Qtb2N0YWhlZHJvbi1nZW9tZXRyeSc6IE5ndE9jdGFoZWRyb25HZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvSWNvc2FoZWRyb25HZW9tZXRyeS5kLnRzXG5cdCAqL1xuXHQnbmd0LWljb3NhaGVkcm9uLWdlb21ldHJ5JzogTmd0SWNvc2FoZWRyb25HZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvUG9seWhlZHJvbkdlb21ldHJ5LmQudHNcblx0ICovXG5cdCduZ3QtcG9seWhlZHJvbi1nZW9tZXRyeSc6IE5ndFBvbHloZWRyb25HZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvRG9kZWNhaGVkcm9uR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC1kb2RlY2FoZWRyb24tZ2VvbWV0cnknOiBOZ3REb2RlY2FoZWRyb25HZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvVHViZUdlb21ldHJ5LmQudHNcblx0ICovXG5cdCduZ3QtdHViZS1nZW9tZXRyeSc6IE5ndFR1YmVHZW9tZXRyeTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2dlb21ldHJpZXMvVG9ydXNLbm90R2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC10b3J1cy1rbm90LWdlb21ldHJ5JzogTmd0VG9ydXNLbm90R2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL1RvcnVzR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC10b3J1cy1nZW9tZXRyeSc6IE5ndFRvcnVzR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL1NwaGVyZUdlb21ldHJ5LmQudHNcblx0ICovXG5cdCduZ3Qtc3BoZXJlLWdlb21ldHJ5JzogTmd0U3BoZXJlR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL1JpbmdHZW9tZXRyeS5kLnRzXG5cdCAqL1xuXHQnbmd0LXJpbmctZ2VvbWV0cnknOiBOZ3RSaW5nR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL1BsYW5lR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC1wbGFuZS1nZW9tZXRyeSc6IE5ndFBsYW5lR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0xhdGhlR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC1sYXRoZS1nZW9tZXRyeSc6IE5ndExhdGhlR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL1NoYXBlR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC1zaGFwZS1nZW9tZXRyeSc6IE5ndFNoYXBlR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0V4dHJ1ZGVHZW9tZXRyeS5kLnRzXG5cdCAqL1xuXHQnbmd0LWV4dHJ1ZGUtZ2VvbWV0cnknOiBOZ3RFeHRydWRlR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0VkZ2VzR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC1lZGdlcy1nZW9tZXRyeSc6IE5ndEVkZ2VzR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0NvbmVHZW9tZXRyeS5kLnRzXG5cdCAqL1xuXHQnbmd0LWNvbmUtZ2VvbWV0cnknOiBOZ3RDb25lR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0N5bGluZGVyR2VvbWV0cnkuZC50c1xuXHQgKi9cblx0J25ndC1jeWxpbmRlci1nZW9tZXRyeSc6IE5ndEN5bGluZGVyR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0NpcmNsZUdlb21ldHJ5LmQudHNcblx0ICovXG5cdCduZ3QtY2lyY2xlLWdlb21ldHJ5JzogTmd0Q2lyY2xlR2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0JveEdlb21ldHJ5LmQudHNcblx0ICovXG5cdCduZ3QtYm94LWdlb21ldHJ5JzogTmd0Qm94R2VvbWV0cnk7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9nZW9tZXRyaWVzL0NhcHN1bGVHZW9tZXRyeS5kLnRzXG5cdCAqL1xuXHQnbmd0LWNhcHN1bGUtZ2VvbWV0cnknOiBOZ3RDYXBzdWxlR2VvbWV0cnk7XG5cblx0Ly8gbWF0ZXJpYWxzXG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9tYXRlcmlhbHMvU2hhZG93TWF0ZXJpYWwuZC50c1xuXHQgKi9cblx0J25ndC1zaGFkb3ctbWF0ZXJpYWwnOiBOZ3RTaGFkb3dNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9TcHJpdGVNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LXNwcml0ZS1tYXRlcmlhbCc6IE5ndFNwcml0ZU1hdGVyaWFsO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvbWF0ZXJpYWxzL1Jhd1NoYWRlck1hdGVyaWFsLmQudHNcblx0ICovXG5cdCduZ3QtcmF3LXNoYWRlci1tYXRlcmlhbCc6IE5ndFJhd1NoYWRlck1hdGVyaWFsO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvbWF0ZXJpYWxzL1NoYWRlck1hdGVyaWFsLmQudHNcblx0ICovXG5cdCduZ3Qtc2hhZGVyLW1hdGVyaWFsJzogTmd0U2hhZGVyTWF0ZXJpYWw7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9tYXRlcmlhbHMvUG9pbnRzTWF0ZXJpYWwuZC50c1xuXHQgKi9cblx0J25ndC1wb2ludHMtbWF0ZXJpYWwnOiBOZ3RQb2ludHNNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoUGh5c2ljYWxNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LW1lc2gtcGh5c2ljYWwtbWF0ZXJpYWwnOiBOZ3RNZXNoUGh5c2ljYWxNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoU3RhbmRhcmRNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LW1lc2gtc3RhbmRhcmQtbWF0ZXJpYWwnOiBOZ3RNZXNoU3RhbmRhcmRNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoUGhvbmdNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LW1lc2gtcGhvbmctbWF0ZXJpYWwnOiBOZ3RNZXNoUGhvbmdNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoVG9vbk1hdGVyaWFsLmQudHNcblx0ICovXG5cdCduZ3QtbWVzaC10b29uLW1hdGVyaWFsJzogTmd0TWVzaFRvb25NYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoTm9ybWFsTWF0ZXJpYWwuZC50c1xuXHQgKi9cblx0J25ndC1tZXNoLW5vcm1hbC1tYXRlcmlhbCc6IE5ndE1lc2hOb3JtYWxNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoTGFtYmVydE1hdGVyaWFsLmQudHNcblx0ICovXG5cdCduZ3QtbWVzaC1sYW1iZXJ0LW1hdGVyaWFsJzogTmd0TWVzaExhbWJlcnRNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoRGVwdGhNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LW1lc2gtZGVwdGgtbWF0ZXJpYWwnOiBOZ3RNZXNoRGVwdGhNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoRGlzdGFuY2VNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LW1lc2gtZGlzdGFuY2UtbWF0ZXJpYWwnOiBOZ3RNZXNoRGlzdGFuY2VNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoQmFzaWNNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LW1lc2gtYmFzaWMtbWF0ZXJpYWwnOiBOZ3RNZXNoQmFzaWNNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9NZXNoTWF0Y2FwTWF0ZXJpYWwuZC50c1xuXHQgKi9cblx0J25ndC1tZXNoLW1hdGNhcC1tYXRlcmlhbCc6IE5ndE1lc2hNYXRjYXBNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9MaW5lRGFzaGVkTWF0ZXJpYWwuZC50c1xuXHQgKi9cblx0J25ndC1saW5lLWRhc2hlZC1tYXRlcmlhbCc6IE5ndExpbmVEYXNoZWRNYXRlcmlhbDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGVyaWFscy9MaW5lQmFzaWNNYXRlcmlhbC5kLnRzXG5cdCAqL1xuXHQnbmd0LWxpbmUtYmFzaWMtbWF0ZXJpYWwnOiBOZ3RMaW5lQmFzaWNNYXRlcmlhbDtcblxuXHQvLyBwcmltaXRpdmVcblx0J25ndC1wcmltaXRpdmUnOiBOZ3RQcmltaXRpdmU7XG5cblx0Ly8gcmF3VmFsdWVcblx0J25ndC12YWx1ZSc6IE5ndFZhbHVlO1xuXG5cdC8vIGxpZ2h0cyBhbmQgb3RoZXJcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2xpZ2h0cy9TcG90TGlnaHRTaGFkb3cuZC50c1xuXHQgKi9cblx0J25ndC1zcG90LWxpZ2h0LXNoYWRvdyc6IE5ndFNwb3RMaWdodFNoYWRvdztcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2xpZ2h0cy9TcG90TGlnaHQuZC50c1xuXHQgKi9cblx0J25ndC1zcG90LWxpZ2h0JzogTmd0U3BvdExpZ2h0O1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvbGlnaHRzL1BvaW50TGlnaHQuZC50c1xuXHQgKi9cblx0J25ndC1wb2ludC1saWdodCc6IE5ndFBvaW50TGlnaHQ7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9saWdodHMvUmVjdEFyZWFMaWdodC5kLnRzXG5cdCAqL1xuXHQnbmd0LXJlY3QtYXJlYS1saWdodCc6IE5ndFJlY3RBcmVhTGlnaHQ7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9saWdodHMvSGVtaXNwaGVyZUxpZ2h0LmQudHNcblx0ICovXG5cdCduZ3QtaGVtaXNwaGVyZS1saWdodCc6IE5ndEhlbWlzcGhlcmVMaWdodDtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2xpZ2h0cy9EaXJlY3Rpb25hbExpZ2h0U2hhZG93LmQudHNcblx0ICovXG5cdCduZ3QtZGlyZWN0aW9uYWwtbGlnaHQtc2hhZG93JzogTmd0RGlyZWN0aW9uYWxMaWdodFNoYWRvdztcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2xpZ2h0cy9EaXJlY3Rpb25hbExpZ2h0LmQudHNcblx0ICovXG5cdCduZ3QtZGlyZWN0aW9uYWwtbGlnaHQnOiBOZ3REaXJlY3Rpb25hbExpZ2h0O1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvbGlnaHRzL0FtYmllbnRMaWdodC5kLnRzXG5cdCAqL1xuXHQnbmd0LWFtYmllbnQtbGlnaHQnOiBOZ3RBbWJpZW50TGlnaHQ7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9saWdodHMvTGlnaHRTaGFkb3dcblx0ICovXG5cdCduZ3QtbGlnaHQtc2hhZG93JzogTmd0TGlnaHRTaGFkb3c7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9saWdodHMvTGlnaHRQcm9iZS5kLnRzXG5cdCAqL1xuXHQnbmd0LWxpZ2h0LXByb2JlJzogTmd0TGlnaHRQcm9iZTtcblxuXHQvLyBoZWxwZXJzXG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9oZWxwZXJzL1Nwb3RMaWdodEhlbHBlci5kLnRzXG5cdCAqL1xuXHQnbmd0LXNwb3QtbGlnaHQtaGVscGVyJzogTmd0U3BvdExpZ2h0SGVscGVyO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvaGVscGVycy9Ta2VsZXRvbkhlbHBlci5kLnRzXG5cdCAqL1xuXHQnbmd0LXNrZWxldG9uLWhlbHBlcic6IE5ndFNrZWxldG9uSGVscGVyO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvaGVscGVycy9Qb2ludExpZ2h0SGVscGVyLmQudHNcblx0ICovXG5cdCduZ3QtcG9pbnQtbGlnaHQtaGVscGVyJzogTmd0UG9pbnRMaWdodEhlbHBlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2hlbHBlcnMvSGVtaXNwaGVyZUxpZ2h0SGVscGVyLmQudHNcblx0ICovXG5cdCduZ3QtaGVtaXNwaGVyZS1saWdodC1oZWxwZXInOiBOZ3RIZW1pc3BoZXJlTGlnaHRIZWxwZXI7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9oZWxwZXJzL0dyaWRIZWxwZXIuZC50c1xuXHQgKi9cblx0J25ndC1ncmlkLWhlbHBlcic6IE5ndEdyaWRIZWxwZXI7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9oZWxwZXJzL1BvbGFyR3JpZEhlbHBlci5kLnRzXG5cdCAqL1xuXHQnbmd0LXBvbGFyLWdyaWQtaGVscGVyJzogTmd0UG9sYXJHcmlkSGVscGVyO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvaGVscGVycy9EaXJlY3Rpb25hbExpZ2h0SGVscGVyLmQudHNcblx0ICovXG5cdCduZ3QtZGlyZWN0aW9uYWwtbGlnaHQtaGVscGVyJzogTmd0RGlyZWN0aW9uYWxMaWdodEhlbHBlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2hlbHBlcnMvQ2FtZXJhSGVscGVyLmQudHNcblx0ICovXG5cdCduZ3QtY2FtZXJhLWhlbHBlcic6IE5ndENhbWVyYUhlbHBlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2hlbHBlcnMvQm94SGVscGVyLmQudHNcblx0ICovXG5cdCduZ3QtYm94LWhlbHBlcic6IE5ndEJveEhlbHBlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2hlbHBlcnMvQm94M0hlbHBlci5kLnRzXG5cdCAqL1xuXHQnbmd0LWJveDMtaGVscGVyJzogTmd0Qm94M0hlbHBlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2hlbHBlcnMvUGxhbmVIZWxwZXIuZC50c1xuXHQgKi9cblx0J25ndC1wbGFuZS1oZWxwZXInOiBOZ3RQbGFuZUhlbHBlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2hlbHBlcnMvQXJyb3dIZWxwZXIuZC50c1xuXHQgKi9cblx0J25ndC1hcnJvdy1oZWxwZXInOiBOZ3RBcnJvd0hlbHBlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2hlbHBlcnMvQXhlc0hlbHBlci5kLnRzXG5cdCAqL1xuXHQnbmd0LWF4ZXMtaGVscGVyJzogTmd0QXhlc0hlbHBlcjtcblxuXHQvLyB0ZXh0dXJlc1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvdGV4dHVyZXMvVGV4dHVyZS5kLnRzXG5cdCAqL1xuXHQnbmd0LXRleHR1cmUnOiBOZ3RUZXh0dXJlO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvdGV4dHVyZXMvVmlkZW9UZXh0dXJlLmQudHNcblx0ICovXG5cdCduZ3QtdmlkZW8tdGV4dHVyZSc6IE5ndFZpZGVvVGV4dHVyZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL3RleHR1cmVzL0RhdGFUZXh0dXJlLmQudHNcblx0ICovXG5cdCduZ3QtZGF0YS10ZXh0dXJlJzogTmd0RGF0YVRleHR1cmU7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy90ZXh0dXJlcy9EYXRhM0RUZXh0dXJlLmQudHNcblx0ICovXG5cdCduZ3QtZGF0YTNELXRleHR1cmUnOiBOZ3REYXRhM0RUZXh0dXJlO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvdGV4dHVyZXMvQ29tcHJlc3NlZFRleHR1cmUuZC50c1xuXHQgKi9cblx0J25ndC1jb21wcmVzc2VkLXRleHR1cmUnOiBOZ3RDb21wcmVzc2VkVGV4dHVyZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL3RleHR1cmVzL0N1YmVUZXh0dXJlLmQudHNcblx0ICovXG5cdCduZ3QtY3ViZS10ZXh0dXJlJzogTmd0Q3ViZVRleHR1cmU7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy90ZXh0dXJlcy9DYW52YXNUZXh0dXJlLmQudHNcblx0ICovXG5cdCduZ3QtY2FudmFzLXRleHR1cmUnOiBOZ3RDYW52YXNUZXh0dXJlO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvdGV4dHVyZXMvRGVwdGhUZXh0dXJlLmQudHNcblx0ICovXG5cdCduZ3QtZGVwdGgtdGV4dHVyZSc6IE5ndERlcHRoVGV4dHVyZTtcblxuXHQvLyBtaXNjXG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9jb3JlL1JheWNhc3Rlci5kLnRzXG5cdCAqL1xuXHQnbmd0LXJheWNhc3Rlcic6IE5ndFJheWNhc3Rlcjtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvVmVjdG9yMi5kLnRzXG5cdCAqL1xuXHQnbmd0LXZlY3RvcjInOiBOZ3RWZWN0b3IyTm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvVmVjdG9yMy5kLnRzXG5cdCAqL1xuXHQnbmd0LXZlY3RvcjMnOiBOZ3RWZWN0b3IzTm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvVmVjdG9yNC5kLnRzXG5cdCAqL1xuXHQnbmd0LXZlY3RvcjQnOiBOZ3RWZWN0b3I0Tm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvRXVsZXIuZC50c1xuXHQgKi9cblx0J25ndC1ldWxlcic6IE5ndEV1bGVyTm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvTWF0cml4My5kLnRzXG5cdCAqL1xuXHQnbmd0LW1hdHJpeDMnOiBOZ3RNYXRyaXgzTm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvTWF0cml4NC5kLnRzXG5cdCAqL1xuXHQnbmd0LW1hdHJpeDQnOiBOZ3RNYXRyaXg0Tm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvUXVhdGVybmlvbi5kLnRzXG5cdCAqL1xuXHQnbmd0LXF1YXRlcm5pb24nOiBOZ3RRdWF0ZXJuaW9uTm9kZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NvcmUvQnVmZmVyQXR0cmlidXRlLmQudHNcblx0ICovXG5cdCduZ3QtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEJ1ZmZlckF0dHJpYnV0ZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NvcmUvQnVmZmVyQXR0cmlidXRlLmQudHNcblx0ICogQHN5bWJvbCBGbG9hdDE2QnVmZmVyQXR0cmlidXRlXG5cdCAqL1xuXHQnbmd0LWZsb2F0MTYtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEZsb2F0MTZCdWZmZXJBdHRyaWJ1dGU7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9jb3JlL0J1ZmZlckF0dHJpYnV0ZS5kLnRzXG5cdCAqIEBzeW1ib2wgRmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZVxuXHQgKi9cblx0J25ndC1mbG9hdDMyLWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RGbG9hdDMyQnVmZmVyQXR0cmlidXRlO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvY29yZS9CdWZmZXJBdHRyaWJ1dGUuZC50c1xuXHQgKiBAc3ltYm9sIEludDhCdWZmZXJBdHRyaWJ1dGVcblx0ICovXG5cdCduZ3QtaW50OC1idWZmZXItYXR0cmlidXRlJzogTmd0SW50OEJ1ZmZlckF0dHJpYnV0ZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NvcmUvQnVmZmVyQXR0cmlidXRlLmQudHNcblx0ICogQHN5bWJvbCBJbnQxNkJ1ZmZlckF0dHJpYnV0ZVxuXHQgKi9cblx0J25ndC1pbnQxNi1idWZmZXItYXR0cmlidXRlJzogTmd0SW50MTZCdWZmZXJBdHRyaWJ1dGU7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9jb3JlL0J1ZmZlckF0dHJpYnV0ZS5kLnRzXG5cdCAqIEBzeW1ib2wgSW50MzJCdWZmZXJBdHRyaWJ1dGVcblx0ICovXG5cdCduZ3QtaW50MzItYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEludDMyQnVmZmVyQXR0cmlidXRlO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvY29yZS9CdWZmZXJBdHRyaWJ1dGUuZC50c1xuXHQgKiBAc3ltYm9sIFVpbnQ4QnVmZmVyQXR0cmlidXRlXG5cdCAqL1xuXHQnbmd0LXVuaXQ4LWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RVaW50OEJ1ZmZlckF0dHJpYnV0ZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL2NvcmUvQnVmZmVyQXR0cmlidXRlLmQudHNcblx0ICogQHN5bWJvbCBVaW50MTZCdWZmZXJBdHRyaWJ1dGVcblx0ICovXG5cdCduZ3QtdW5pdDE2LWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RVaW50MTZCdWZmZXJBdHRyaWJ1dGU7XG5cdC8qKlxuXHQgKiBAZnJvbSBub2RlX21vZHVsZXMvQHR5cGVzL3RocmVlL3NyYy9jb3JlL0J1ZmZlckF0dHJpYnV0ZS5kLnRzXG5cdCAqIEBzeW1ib2wgVWludDMyQnVmZmVyQXR0cmlidXRlXG5cdCAqL1xuXHQnbmd0LXVuaXQzMi1idWZmZXItYXR0cmlidXRlJzogTmd0VWludDMyQnVmZmVyQXR0cmlidXRlO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvY29yZS9JbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGUuZC50c1xuXHQgKi9cblx0J25ndC1pbnN0YW5jZWQtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZTtcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL21hdGgvQ29sb3IuZC50c1xuXHQgKi9cblx0J25ndC1jb2xvcic6IE5ndENvbG9yO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvc2NlbmVzL0ZvZy5kLnRzXG5cdCAqL1xuXHQnbmd0LWZvZyc6IE5ndEZvZztcblx0LyoqXG5cdCAqIEBmcm9tIG5vZGVfbW9kdWxlcy9AdHlwZXMvdGhyZWUvc3JjL3NjZW5lcy9Gb2dFeHAyLmQudHNcblx0ICovXG5cdCduZ3QtZm9nLWV4cDInOiBOZ3RGb2dFeHAyO1xuXHQvKipcblx0ICogQGZyb20gbm9kZV9tb2R1bGVzL0B0eXBlcy90aHJlZS9zcmMvZXh0cmFzL2NvcmUvU2hhcGUuZC50c1xuXHQgKi9cblx0J25ndC1zaGFwZSc6IE5ndFNoYXBlO1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAgZXh0ZW5kcyBUaHJlZUVsZW1lbnRzIHt9XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIGV4dGVuZHMgTmd0QWxsT2JqZWN0M0RFdmVudHNNYXAge31cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuXHRDYW1lcmEsXG5cdENsb2NrLFxuXHRFdmVudERpc3BhdGNoZXIsXG5cdEludGVyc2VjdGlvbixcblx0T2JqZWN0M0QsXG5cdE9ydGhvZ3JhcGhpY0NhbWVyYSxcblx0UGVyc3BlY3RpdmVDYW1lcmEsXG5cdFJheSxcblx0UmF5Y2FzdGVyLFxuXHRTY2VuZSxcblx0VmVjdG9yMixcblx0VmVjdG9yMyxcblx0V2ViR0xSZW5kZXJlcixcblx0V2ViR0xSZW5kZXJlclBhcmFtZXRlcnMsXG5cdFdlYkdMU2hhZG93TWFwLFxufSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RPYmplY3QzRE5vZGUgfSBmcm9tICcuL3RocmVlLXR5cGVzJztcbmltcG9ydCB7IE5ndFNpZ25hbFN0b3JlIH0gZnJvbSAnLi91dGlscy9zaWduYWwtc3RvcmUnO1xuXG5leHBvcnQgdHlwZSBOZ3RQcm9wZXJ0aWVzPFQ+ID0geyBbSyBpbiBrZXlvZiBUIGFzIFRbS10gZXh0ZW5kcyAoLi4uYXJnczogQXJyYXk8YW55PikgPT4gYW55ID8gbmV2ZXIgOiBLXTogVFtLXSB9O1xuZXhwb3J0IHR5cGUgTmd0QW55UmVjb3JkID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuZXhwb3J0IHR5cGUgTmd0RXF1Q29uZmlnID0ge1xuXHQvKiogQ29tcGFyZSBhcnJheXMgYnkgcmVmZXJlbmNlIGVxdWFsaXR5IGEgPT09IGIgKGRlZmF1bHQpLCBvciBieSBzaGFsbG93IGVxdWFsaXR5ICovXG5cdGFycmF5cz86ICdyZWZlcmVuY2UnIHwgJ3NoYWxsb3cnO1xuXHQvKiogQ29tcGFyZSBvYmplY3RzIGJ5IHJlZmVyZW5jZSBlcXVhbGl0eSBhID09PSBiIChkZWZhdWx0KSwgb3IgYnkgc2hhbGxvdyBlcXVhbGl0eSAqL1xuXHRvYmplY3RzPzogJ3JlZmVyZW5jZScgfCAnc2hhbGxvdyc7XG5cdC8qKiBJZiB0cnVlIHRoZSBrZXlzIGluIGJvdGggYSBhbmQgYiBtdXN0IG1hdGNoIDE6MSAoZGVmYXVsdCksIGlmIGZhbHNlIGEncyBrZXlzIG11c3QgaW50ZXJzZWN0IGIncyAqL1xuXHRzdHJpY3Q/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgTmd0R0xPcHRpb25zID1cblx0fCBOZ3RSZW5kZXJlckxpa2Vcblx0fCAoKGNhbnZhczogTmd0Q2FudmFzRWxlbWVudCkgPT4gTmd0UmVuZGVyZXJMaWtlKVxuXHR8IFBhcnRpYWw8Tmd0UHJvcGVydGllczxXZWJHTFJlbmRlcmVyPiB8IFdlYkdMUmVuZGVyZXJQYXJhbWV0ZXJzPlxuXHR8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RDYW52YXNPcHRpb25zIHtcblx0LyoqIEEgdGhyZWVqcyByZW5kZXJlciBpbnN0YW5jZSBvciBwcm9wcyB0aGF0IGdvIGludG8gdGhlIGRlZmF1bHQgcmVuZGVyZXIgKi9cblx0Z2w/OiBOZ3RHTE9wdGlvbnM7XG5cdC8qKiBEaW1lbnNpb25zIHRvIGZpdCB0aGUgcmVuZGVyZXIgdG8uIFdpbGwgbWVhc3VyZSBjYW52YXMgZGltZW5zaW9ucyBpZiBvbWl0dGVkICovXG5cdHNpemU/OiBOZ3RTaXplO1xuXHQvKipcblx0ICogRW5hYmxlcyBzaGFkb3dzIChieSBkZWZhdWx0IFBDRnNvZnQpLiBDYW4gYWNjZXB0IGBnbC5zaGFkb3dNYXBgIG9wdGlvbnMgZm9yIGZpbmUtdHVuaW5nLFxuXHQgKiBidXQgYWxzbyBzdHJpbmdzOiAnYmFzaWMnIHwgJ3BlcmNlbnRhZ2UnIHwgJ3NvZnQnIHwgJ3ZhcmlhbmNlJy5cblx0ICogQHNlZSBodHRwczovL3RocmVlanMub3JnL2RvY3MvI2FwaS9lbi9yZW5kZXJlcnMvV2ViR0xSZW5kZXJlci5zaGFkb3dNYXBcblx0ICovXG5cdHNoYWRvd3M/OiBib29sZWFuIHwgJ2Jhc2ljJyB8ICdwZXJjZW50YWdlJyB8ICdzb2Z0JyB8ICd2YXJpYW5jZScgfCBQYXJ0aWFsPFdlYkdMU2hhZG93TWFwPjtcblx0LyoqXG5cdCAqIERpc2FibGVzIHRocmVlIHIxMzkgY29sb3IgbWFuYWdlbWVudC5cblx0ICogQHNlZSBodHRwczovL3RocmVlanMub3JnL2RvY3MvI21hbnVhbC9lbi9pbnRyb2R1Y3Rpb24vQ29sb3ItbWFuYWdlbWVudFxuXHQgKi9cblx0bGVnYWN5PzogYm9vbGVhbjtcblx0LyoqIFN3aXRjaCBvZmYgYXV0b21hdGljIHNSR0IgY29sb3Igc3BhY2UgYW5kIGdhbW1hIGNvcnJlY3Rpb24gKi9cblx0bGluZWFyPzogYm9vbGVhbjtcblx0LyoqIFVzZSBgVEhSRUUuTm9Ub25lTWFwcGluZ2AgaW5zdGVhZCBvZiBgVEhSRUUuQUNFU0ZpbG1pY1RvbmVNYXBwaW5nYCAqL1xuXHRmbGF0PzogYm9vbGVhbjtcblx0LyoqIENyZWF0ZXMgYW4gb3J0aG9ncmFwaGljIGNhbWVyYSAqL1xuXHRvcnRob2dyYXBoaWM/OiBib29sZWFuO1xuXHQvKipcblx0ICogUjNGJ3MgcmVuZGVyIG1vZGUuIFNldCB0byBgZGVtYW5kYCB0byBvbmx5IHJlbmRlciBvbiBzdGF0ZSBjaGFuZ2Ugb3IgYG5ldmVyYCB0byB0YWtlIGNvbnRyb2wuXG5cdCAqIEBzZWUgaHR0cHM6Ly9kb2NzLnBtbmQucnMvcmVhY3QtdGhyZWUtZmliZXIvYWR2YW5jZWQvc2NhbGluZy1wZXJmb3JtYW5jZSNvbi1kZW1hbmQtcmVuZGVyaW5nXG5cdCAqL1xuXHRmcmFtZWxvb3A/OiAnYWx3YXlzJyB8ICdkZW1hbmQnIHwgJ25ldmVyJztcblx0LyoqXG5cdCAqIFIzRiBwZXJmb3JtYW5jZSBvcHRpb25zIGZvciBhZGFwdGl2ZSBwZXJmb3JtYW5jZS5cblx0ICogQHNlZSBodHRwczovL2RvY3MucG1uZC5ycy9yZWFjdC10aHJlZS1maWJlci9hZHZhbmNlZC9zY2FsaW5nLXBlcmZvcm1hbmNlI21vdmVtZW50LXJlZ3Jlc3Npb25cblx0ICovXG5cdHBlcmZvcm1hbmNlPzogUGFydGlhbDxPbWl0PE5ndFBlcmZvcm1hbmNlLCAncmVncmVzcyc+Pjtcblx0LyoqIFRhcmdldCBwaXhlbCByYXRpby4gQ2FuIGNsYW1wIGJldHdlZW4gYSByYW5nZTogYFttaW4sIG1heF1gICovXG5cdGRwcj86IE5ndERwcjtcblx0LyoqIFByb3BzIHRoYXQgZ28gaW50byB0aGUgZGVmYXVsdCByYXljYXN0ZXIgKi9cblx0cmF5Y2FzdGVyPzogUGFydGlhbDxSYXljYXN0ZXI+O1xuXHQvKiogQSBgU2NlbmVgIGluc3RhbmNlIG9yIHByb3BzIHRoYXQgZ28gaW50byB0aGUgZGVmYXVsdCBzY2VuZSAqL1xuXHRzY2VuZT86IFNjZW5lIHwgUGFydGlhbDxTY2VuZT47XG5cdC8qKiBBIGBDYW1lcmFgIGluc3RhbmNlIG9yIHByb3BzIHRoYXQgZ28gaW50byB0aGUgZGVmYXVsdCBjYW1lcmEgKi9cblx0Y2FtZXJhPzogKFxuXHRcdHwgTmd0Q2FtZXJhXG5cdFx0fCBQYXJ0aWFsPFxuXHRcdFx0XHROZ3RPYmplY3QzRE5vZGU8Q2FtZXJhLCB0eXBlb2YgQ2FtZXJhPiAmXG5cdFx0XHRcdFx0Tmd0T2JqZWN0M0ROb2RlPFBlcnNwZWN0aXZlQ2FtZXJhLCB0eXBlb2YgUGVyc3BlY3RpdmVDYW1lcmE+ICZcblx0XHRcdFx0XHROZ3RPYmplY3QzRE5vZGU8T3J0aG9ncmFwaGljQ2FtZXJhLCB0eXBlb2YgT3J0aG9ncmFwaGljQ2FtZXJhPlxuXHRcdCAgPlxuXHQpICYge1xuXHRcdC8qKiBGbGFncyB0aGUgY2FtZXJhIGFzIG1hbnVhbCwgcHV0dGluZyBwcm9qZWN0aW9uIGludG8geW91ciBvd24gaGFuZHMgKi9cblx0XHRtYW51YWw/OiBib29sZWFuO1xuXHR9O1xuXHQvKiogQW4gUjNGIGV2ZW50IG1hbmFnZXIgdG8gbWFuYWdlIGVsZW1lbnRzJyBwb2ludGVyIGV2ZW50cyAqL1xuXHRldmVudHM/OiAoc3RvcmU6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPikgPT4gTmd0RXZlbnRNYW5hZ2VyPEhUTUxFbGVtZW50Pjtcblx0LyoqIFRoZSB0YXJnZXQgd2hlcmUgZXZlbnRzIGFyZSBiZWluZyBzdWJzY3JpYmVkIHRvLCBkZWZhdWx0OiB0aGUgZGl2IHRoYXQgd3JhcHMgY2FudmFzICovXG5cdGV2ZW50U291cmNlPzogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pjtcblx0LyoqIFRoZSBldmVudCBwcmVmaXggdGhhdCBpcyBjYXN0IGludG8gY2FudmFzIHBvaW50ZXIgeC95IGV2ZW50cywgZGVmYXVsdDogXCJvZmZzZXRcIiAqL1xuXHRldmVudFByZWZpeD86ICdvZmZzZXQnIHwgJ2NsaWVudCcgfCAncGFnZScgfCAnbGF5ZXInIHwgJ3NjcmVlbic7XG5cdC8qKiBEZWZhdWx0IGNvb3JkaW5hdGUgZm9yIHRoZSBjYW1lcmEgdG8gbG9vayBhdCAqL1xuXHRsb29rQXQ/OiBWZWN0b3IzIHwgUGFyYW1ldGVyczxWZWN0b3IzWydzZXQnXT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0SW50ZXJzZWN0aW9uIGV4dGVuZHMgSW50ZXJzZWN0aW9uIHtcblx0LyoqIFRoZSBldmVudCBzb3VyY2UgKHRoZSBvYmplY3Qgd2hpY2ggcmVnaXN0ZXJlZCB0aGUgaGFuZGxlcikgKi9cblx0ZXZlbnRPYmplY3Q6IE9iamVjdDNEO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndEludGVyc2VjdGlvbkV2ZW50PFRTb3VyY2VFdmVudD4gZXh0ZW5kcyBOZ3RJbnRlcnNlY3Rpb24ge1xuXHQvKiogVGhlIGV2ZW50IHNvdXJjZSAodGhlIG9iamVjdCB3aGljaCByZWdpc3RlcmVkIHRoZSBoYW5kbGVyKSAqL1xuXHRldmVudE9iamVjdDogT2JqZWN0M0Q7XG5cdC8qKiBBbiBhcnJheSBvZiBpbnRlcnNlY3Rpb25zICovXG5cdGludGVyc2VjdGlvbnM6IE5ndEludGVyc2VjdGlvbltdO1xuXHQvKiogdmVjMy5zZXQocG9pbnRlci54LCBwb2ludGVyLnksIDApLnVucHJvamVjdChjYW1lcmEpICovXG5cdHVucHJvamVjdGVkUG9pbnQ6IFZlY3RvcjM7XG5cdC8qKiBOb3JtYWxpemVkIGV2ZW50IGNvb3JkaW5hdGVzICovXG5cdHBvaW50ZXI6IFZlY3RvcjI7XG5cdC8qKiBEZWx0YSBiZXR3ZWVuIGZpcnN0IGNsaWNrIGFuZCB0aGlzIGV2ZW50ICovXG5cdGRlbHRhOiBudW1iZXI7XG5cdC8qKiBUaGUgcmF5IHRoYXQgcGllcmNlZCBpdCAqL1xuXHRyYXk6IFJheTtcblx0LyoqIFRoZSBjYW1lcmEgdGhhdCB3YXMgdXNlZCBieSB0aGUgcmF5Y2FzdGVyICovXG5cdGNhbWVyYTogTmd0Q2FtZXJhO1xuXHQvKiogc3RvcFByb3BhZ2F0aW9uIHdpbGwgc3RvcCB1bmRlcmx5aW5nIGhhbmRsZXJzIGZyb20gZmlyaW5nICovXG5cdHN0b3BQcm9wYWdhdGlvbjogKCkgPT4gdm9pZDtcblx0LyoqIFRoZSBvcmlnaW5hbCBob3N0IGV2ZW50ICovXG5cdG5hdGl2ZUV2ZW50OiBUU291cmNlRXZlbnQ7XG5cdC8qKiBJZiB0aGUgZXZlbnQgd2FzIHN0b3BwZWQgYnkgY2FsbGluZyBzdG9wUHJvcGFnYXRpb24gKi9cblx0c3RvcHBlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgTmd0Q2FtZXJhID0gT3J0aG9ncmFwaGljQ2FtZXJhIHwgUGVyc3BlY3RpdmVDYW1lcmE7XG5leHBvcnQgdHlwZSBOZ3RUaHJlZUV2ZW50PFRFdmVudD4gPSBOZ3RJbnRlcnNlY3Rpb25FdmVudDxURXZlbnQ+ICYgTmd0UHJvcGVydGllczxURXZlbnQ+O1xuZXhwb3J0IHR5cGUgTmd0RG9tRXZlbnQgPSBQb2ludGVyRXZlbnQgfCBNb3VzZUV2ZW50IHwgV2hlZWxFdmVudDtcblxuZXhwb3J0IHR5cGUgTmd0RXZlbnRIYW5kbGVycyA9IHtcblx0Y2xpY2s/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8TW91c2VFdmVudD4pID0+IHZvaWQ7XG5cdGNvbnRleHRtZW51PzogKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PE1vdXNlRXZlbnQ+KSA9PiB2b2lkO1xuXHRkYmxjbGljaz86IChldmVudDogTmd0VGhyZWVFdmVudDxNb3VzZUV2ZW50PikgPT4gdm9pZDtcblx0cG9pbnRlcnVwPzogKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pID0+IHZvaWQ7XG5cdHBvaW50ZXJkb3duPzogKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pID0+IHZvaWQ7XG5cdHBvaW50ZXJvdmVyPzogKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pID0+IHZvaWQ7XG5cdHBvaW50ZXJvdXQ/OiAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50PikgPT4gdm9pZDtcblx0cG9pbnRlcmVudGVyPzogKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pID0+IHZvaWQ7XG5cdHBvaW50ZXJsZWF2ZT86IChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSA9PiB2b2lkO1xuXHRwb2ludGVybW92ZT86IChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSA9PiB2b2lkO1xuXHRwb2ludGVybWlzc2VkPzogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuXHRwb2ludGVyY2FuY2VsPzogKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pID0+IHZvaWQ7XG5cdHdoZWVsPzogKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFdoZWVsRXZlbnQ+KSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgTmd0RXZlbnRzID0ge1xuXHRbVEV2ZW50IGluIGtleW9mIE5ndEV2ZW50SGFuZGxlcnNdLT86IEV2ZW50TGlzdGVuZXI7XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RGaWx0ZXJGdW5jdGlvbiA9IChpdGVtczogSW50ZXJzZWN0aW9uW10sIHN0b3JlOiBOZ3RTaWduYWxTdG9yZTxOZ3RTdGF0ZT4pID0+IEludGVyc2VjdGlvbltdO1xuZXhwb3J0IHR5cGUgTmd0Q29tcHV0ZUZ1bmN0aW9uID0gKFxuXHRldmVudDogTmd0RG9tRXZlbnQsXG5cdHJvb3Q6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPixcblx0cHJldmlvdXM6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPiB8IG51bGwsXG4pID0+IHZvaWQ7XG5cbmV4cG9ydCB0eXBlIE5ndEV2ZW50TWFuYWdlcjxUVGFyZ2V0PiA9IHtcblx0LyoqIERldGVybWluZXMgaWYgdGhlIGV2ZW50IGxheWVyIGlzIGFjdGl2ZSAqL1xuXHRlbmFibGVkOiBib29sZWFuO1xuXHQvKiogRXZlbnQgbGF5ZXIgcHJpb3JpdHksIGhpZ2hlciBwcmlvcml0aXplZCBsYXllcnMgY29tZSBmaXJzdCBhbmQgbWF5IHN0b3AoLXByb3BhZ2F0ZSkgbG93ZXIgbGF5ZXIgICovXG5cdHByaW9yaXR5OiBudW1iZXI7XG5cdC8qKiBUaGUgY29tcHV0ZSBmdW5jdGlvbiBuZWVkcyB0byBzZXQgdXAgdGhlIHJheWNhc3RlciBhbmQgYW4geHktIHBvaW50ZXIgICovXG5cdGNvbXB1dGU/OiBOZ3RDb21wdXRlRnVuY3Rpb247XG5cdC8qKiBUaGUgZmlsdGVyIGNhbiByZS1vcmRlciBvciByZS1zdHJ1Y3R1cmUgdGhlIGludGVyc2VjdGlvbnMgICovXG5cdGZpbHRlcj86IE5ndEZpbHRlckZ1bmN0aW9uO1xuXHQvKiogVGhlIHRhcmdldCBub2RlIHRoZSBldmVudCBsYXllciBpcyB0aWVkIHRvICovXG5cdGNvbm5lY3RlZD86IFRUYXJnZXQ7XG5cdC8qKiBBbGwgdGhlIHBvaW50ZXIgZXZlbnQgaGFuZGxlcnMgdGhyb3VnaCB3aGljaCB0aGUgaG9zdCBmb3J3YXJkcyBuYXRpdmUgZXZlbnRzICovXG5cdGhhbmRsZXJzPzogTmd0RXZlbnRzO1xuXHQvKiogQWxsb3dzIHJlLWNvbm5lY3RpbmcgdG8gYW5vdGhlciB0YXJnZXQgKi9cblx0Y29ubmVjdD86ICh0YXJnZXQ6IFRUYXJnZXQpID0+IHZvaWQ7XG5cdC8qKiBSZW1vdmVzIGFsbCBleGlzdGluZyBldmVudHMgaGFuZGxlcnMgZnJvbSB0aGUgdGFyZ2V0ICovXG5cdGRpc2Nvbm5lY3Q/OiAoKSA9PiB2b2lkO1xuXHQvKiogVHJpZ2dlcnMgYSBvblBvaW50ZXJNb3ZlIHdpdGggdGhlIGxhc3Qga25vd24gZXZlbnQuIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byBlbmFibGUgcmF5Y2FzdGluZyB3aXRob3V0XG5cdCAqICBleHBsaWNpdCB1c2VyIGludGVyYWN0aW9uLCBmb3IgaW5zdGFuY2Ugd2hlbiB0aGUgY2FtZXJhIG1vdmVzIGEgaG92ZXJhYmxlIG9iamVjdCB1bmRlcm5lYXRoIHRoZSBjdXJzb3IuXG5cdCAqL1xuXHR1cGRhdGU/OiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RQb2ludGVyQ2FwdHVyZVRhcmdldCB7XG5cdGludGVyc2VjdGlvbjogTmd0SW50ZXJzZWN0aW9uO1xuXHR0YXJnZXQ6IEVsZW1lbnQ7XG59XG5cbmV4cG9ydCB0eXBlIE5ndEF0dGFjaEZ1bmN0aW9uPFRDaGlsZCA9IGFueSwgVFBhcmVudCA9IGFueT4gPSAoXG5cdHBhcmVudDogVFBhcmVudCxcblx0Y2hpbGQ6IFRDaGlsZCxcblx0c3RvcmU6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPixcbikgPT4gdm9pZCB8ICgoKSA9PiB2b2lkKTtcblxuZXhwb3J0IHR5cGUgTmd0QXR0YWNoYWJsZTxUQ2hpbGQgPSBhbnksIFRQYXJlbnQgPSBhbnk+ID1cblx0fCBOZ3RBdHRhY2hGdW5jdGlvbjxUQ2hpbGQsIFRQYXJlbnQ+XG5cdHwgc3RyaW5nXG5cdHwgKHN0cmluZyB8IG51bWJlcilbXTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RBZnRlckF0dGFjaDxcblx0VENoaWxkIGV4dGVuZHMgTmd0SW5zdGFuY2VOb2RlID0gTmd0SW5zdGFuY2VOb2RlLFxuXHRUUGFyZW50IGV4dGVuZHMgTmd0SW5zdGFuY2VOb2RlID0gTmd0SW5zdGFuY2VOb2RlLFxuPiB7XG5cdHBhcmVudDogVFBhcmVudDtcblx0bm9kZTogVENoaWxkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndExvY2FsSW5zdGFuY2VTdGF0ZSB7XG5cdG9iamVjdHM6IE5ndEluc3RhbmNlTm9kZVtdO1xuXHRub25PYmplY3RzOiBOZ3RJbnN0YW5jZU5vZGVbXTtcblx0cGFyZW50OiBOZ3RJbnN0YW5jZU5vZGUgfCBudWxsO1xuXHRnZW9tZXRyeVN0YW1wOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0TG9jYWxTdGF0ZSB7XG5cdC8qKiB0aGUgc3RvcmUgb2YgdGhlIGNhbnZhcyB0aGF0IHRoZSBpbnN0YW5jZSBpcyBiZWluZyByZW5kZXJlZCB0byAqL1xuXHRzdG9yZTogTmd0U2lnbmFsU3RvcmU8Tmd0U3RhdGU+O1xuXHQvLyBvYmplY3RzIHJlbGF0ZWQgdG8gdGhpcyBpbnN0YW5jZVxuXHRpbnN0YW5jZVN0b3JlOiBOZ3RTaWduYWxTdG9yZTxOZ3RMb2NhbEluc3RhbmNlU3RhdGU+O1xuXHQvLyBzaG9ydGN1dCB0byBzaWduYWxzXG5cdHBhcmVudDogU2lnbmFsPE5ndExvY2FsSW5zdGFuY2VTdGF0ZVsncGFyZW50J10+O1xuXHRvYmplY3RzOiBTaWduYWw8Tmd0TG9jYWxJbnN0YW5jZVN0YXRlWydvYmplY3RzJ10+O1xuXHRub25PYmplY3RzOiBTaWduYWw8Tmd0TG9jYWxJbnN0YW5jZVN0YXRlWydub25PYmplY3RzJ10+O1xuXG5cdC8vIHNob3J0Y3V0IHRvIGFkZC9yZW1vdmUgb2JqZWN0IHRvIGxpc3Rcblx0YWRkOiAoaW5zdGFuY2U6IE5ndEluc3RhbmNlTm9kZSwgdHlwZTogJ29iamVjdHMnIHwgJ25vbk9iamVjdHMnKSA9PiB2b2lkO1xuXHRyZW1vdmU6IChpbnN0YW5jZTogTmd0SW5zdGFuY2VOb2RlLCB0eXBlOiAnb2JqZWN0cycgfCAnbm9uT2JqZWN0cycpID0+IHZvaWQ7XG5cdHNldFBhcmVudDogKHBhcmVudDogTmd0SW5zdGFuY2VOb2RlIHwgbnVsbCkgPT4gdm9pZDtcblx0dXBkYXRlR2VvbWV0cnlTdGFtcDogKCkgPT4gdm9pZDtcblxuXHQvLyBpZiB0aGlzIFRIUkVFIGluc3RhbmNlIGlzIGEgbmd0LXByaW1pdGl2ZVxuXHRwcmltaXRpdmU/OiBib29sZWFuO1xuXHQvLyBpZiB0aGlzIFRIUkVFIG9iamVjdCBoYXMgYW55IGV2ZW50cyBib3VuZCB0byBpdFxuXHRldmVudENvdW50OiBudW1iZXI7XG5cdC8vIGxpc3Qgb2YgaGFuZGxlcnMgdG8gaGFuZGxlIHRoZSBldmVudHNcblx0aGFuZGxlcnM6IFBhcnRpYWw8Tmd0RXZlbnRIYW5kbGVycz47XG5cdC8vIGF0dGFjaCBpbmZvcm1hdGlvbiBzbyB0aGF0IHdlIGNhbiBkZXRhY2ggYXMgd2VsbCBhcyByZXNldFxuXHRhdHRhY2g/OiBzdHJpbmdbXSB8IE5ndEF0dGFjaEZ1bmN0aW9uO1xuXHQvLyBwcmV2aW91c2x5IGF0dGFjaCBpbmZvcm1hdGlvbiBzbyB3ZSBjYW4gcmVzZXQgYXMgd2VsbCBhcyBjbGVhbiB1cFxuXHRwcmV2aW91c0F0dGFjaD86IHVua25vd24gfCAoKCkgPT4gdm9pZCk7XG5cdC8vIGlzIHJhdyB2YWx1ZVxuXHRpc1Jhdz86IGJvb2xlYW47XG5cdC8vIHByaW9yaXR5IGZvciBiZWZvcmUgcmVuZGVyXG5cdHByaW9yaXR5PzogbnVtYmVyO1xuXHRvblVwZGF0ZT86IChub2RlOiBOZ3RJbnN0YW5jZU5vZGUpID0+IHZvaWQ7XG5cdG9uQXR0YWNoPzogKGFmdGVyQXR0YWNoOiBOZ3RBZnRlckF0dGFjaCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgTmd0SW5zdGFuY2VOb2RlPFROb2RlID0gYW55PiA9IHsgX19uZ3RfXzogTmd0TG9jYWxTdGF0ZSB9ICYgTmd0QW55UmVjb3JkICYgVE5vZGU7XG5cbmV4cG9ydCB0eXBlIE5ndENhbnZhc0VsZW1lbnQgPSBIVE1MQ2FudmFzRWxlbWVudCB8IE9mZnNjcmVlbkNhbnZhcztcbmV4cG9ydCB0eXBlIE5ndEdsb2JhbFJlbmRlckNhbGxiYWNrID0gKHRpbWVTdGFtcDogbnVtYmVyKSA9PiB2b2lkO1xuXG5leHBvcnQgdHlwZSBOZ3RSZW5kZXJlckxpa2UgPSB7IHJlbmRlcjogKHNjZW5lOiBTY2VuZSwgY2FtZXJhOiBDYW1lcmEpID0+IGFueSB9O1xuZXhwb3J0IHR5cGUgTmd0Q2FtZXJhTWFudWFsID0gTmd0Q2FtZXJhICYgeyBtYW51YWw/OiBib29sZWFuIH07XG5leHBvcnQgdHlwZSBOZ3REcHIgPSBudW1iZXIgfCBbbWluOiBudW1iZXIsIG1heDogbnVtYmVyXTtcbmV4cG9ydCB0eXBlIE5ndFNpemUgPSB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyOyB0b3A6IG51bWJlcjsgbGVmdDogbnVtYmVyIH07XG5cbmV4cG9ydCB0eXBlIE5ndFZpZXdwb3J0ID0gTmd0U2l6ZSAmIHtcblx0LyoqIFRoZSBpbml0aWFsIHBpeGVsIHJhdGlvICovXG5cdGluaXRpYWxEcHI6IG51bWJlcjtcblx0LyoqIEN1cnJlbnQgcGl4ZWwgcmF0aW8gKi9cblx0ZHByOiBudW1iZXI7XG5cdC8qKiBzaXplLndpZHRoIC8gdmlld3BvcnQud2lkdGggKi9cblx0ZmFjdG9yOiBudW1iZXI7XG5cdC8qKiBDYW1lcmEgZGlzdGFuY2UgKi9cblx0ZGlzdGFuY2U6IG51bWJlcjtcblx0LyoqIENhbWVyYSBhc3BlY3QgcmF0aW86IHdpZHRoIC8gaGVpZ2h0ICovXG5cdGFzcGVjdDogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgTmd0UGVyZm9ybWFuY2UgPSB7XG5cdC8qKiBDdXJyZW50IHBlcmZvcm1hbmNlIG5vcm1hbCwgYmV0d2VlbiBtaW4gYW5kIG1heCAqL1xuXHRjdXJyZW50OiBudW1iZXI7XG5cdC8qKiBIb3cgbG93IHRoZSBwZXJmb3JtYW5jZSBjYW4gZ28sIGJldHdlZW4gMCBhbmQgbWF4ICovXG5cdG1pbjogbnVtYmVyO1xuXHQvKiogSG93IGhpZ2ggdGhlIHBlcmZvcm1hbmNlIGNhbiBnbywgYmV0d2VlbiBtaW4gYW5kIG1heCAqL1xuXHRtYXg6IG51bWJlcjtcblx0LyoqIFRpbWUgdW50aWwgY3VycmVudCByZXR1cm5zIHRvIG1heCBpbiBtcyAqL1xuXHRkZWJvdW5jZTogbnVtYmVyO1xuXHQvKiogU2V0cyBjdXJyZW50IHRvIG1pbiwgcHV0cyB0aGUgc3lzdGVtIGluIHJlZ3Jlc3Npb24gKi9cblx0cmVncmVzczogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIE5ndFJlbmRlclN0YXRlID0gTmd0U3RhdGUgJiB7IGRlbHRhOiBudW1iZXI7IGZyYW1lPzogWFJGcmFtZSB9O1xuXG5leHBvcnQgdHlwZSBOZ3RCZWZvcmVSZW5kZXJFdmVudDxUT2JqZWN0IGV4dGVuZHMgTmd0SW5zdGFuY2VOb2RlID0gTmd0SW5zdGFuY2VOb2RlPiA9IHtcblx0c3RhdGU6IE5ndFJlbmRlclN0YXRlO1xuXHRvYmplY3Q6IFRPYmplY3Q7XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RCZWZvcmVSZW5kZXJSZWNvcmQgPSB7XG5cdGNhbGxiYWNrOiAoc3RhdGU6IE5ndFJlbmRlclN0YXRlKSA9PiB2b2lkO1xuXHRzdG9yZTogTmd0U2lnbmFsU3RvcmU8Tmd0U3RhdGU+O1xuXHRwcmlvcml0eT86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIE5ndEludGVybmFsU3RhdGUgPSB7XG5cdGFjdGl2ZTogYm9vbGVhbjtcblx0cHJpb3JpdHk6IG51bWJlcjtcblx0ZnJhbWVzOiBudW1iZXI7XG5cdGxhc3RFdmVudDogRWxlbWVudFJlZjxOZ3REb21FdmVudCB8IG51bGw+O1xuXHRpbnRlcmFjdGlvbjogT2JqZWN0M0RbXTtcblx0aG92ZXJlZDogTWFwPHN0cmluZywgTmd0VGhyZWVFdmVudDxOZ3REb21FdmVudD4+O1xuXHRjYXB0dXJlZE1hcDogTWFwPG51bWJlciwgTWFwPE9iamVjdDNELCBOZ3RQb2ludGVyQ2FwdHVyZVRhcmdldD4+O1xuXHRpbml0aWFsQ2xpY2s6IFt4OiBudW1iZXIsIHk6IG51bWJlcl07XG5cdGluaXRpYWxIaXRzOiBPYmplY3QzRFtdO1xuXHRzdWJzY3JpYmVyczogTmd0QmVmb3JlUmVuZGVyUmVjb3JkW107XG5cdHN1YnNjcmliZTogKFxuXHRcdGNhbGxiYWNrOiBOZ3RCZWZvcmVSZW5kZXJSZWNvcmRbJ2NhbGxiYWNrJ10sXG5cdFx0cHJpb3JpdHk/OiBudW1iZXIsXG5cdFx0c3RvcmU/OiBOZ3RTaWduYWxTdG9yZTxOZ3RTdGF0ZT4sXG5cdCkgPT4gKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIE5ndFN0YXRlID0ge1xuXHQvKiogVGhlIGluc3RhbmNlIG9mIHRoZSByZW5kZXJlciAqL1xuXHRnbDogV2ViR0xSZW5kZXJlcjtcblx0LyoqIERlZmF1bHQgY2FtZXJhICovXG5cdGNhbWVyYTogTmd0Q2FtZXJhTWFudWFsO1xuXHQvKiogRGVmYXVsdCBzY2VuZSAqL1xuXHRzY2VuZTogU2NlbmU7XG5cdC8qKiBEZWZhdWx0IHJheWNhc3RlciAqL1xuXHRyYXljYXN0ZXI6IFJheWNhc3Rlcjtcblx0LyoqIERlZmF1bHQgY2xvY2sgKi9cblx0Y2xvY2s6IENsb2NrO1xuXHQvKiogRXZlbnQgbGF5ZXIgaW50ZXJmYWNlLCBjb250YWlucyB0aGUgZXZlbnQgaGFuZGxlciBhbmQgdGhlIG5vZGUgdGhleSdyZSBjb25uZWN0ZWQgdG8gKi9cblx0ZXZlbnRzOiBOZ3RFdmVudE1hbmFnZXI8YW55Pjtcblx0LyoqIFhSIGludGVyZmFjZSAqL1xuXHR4cjogeyBjb25uZWN0OiAoKSA9PiB2b2lkOyBkaXNjb25uZWN0OiAoKSA9PiB2b2lkIH07XG5cdC8qKiBDdXJyZW50bHkgdXNlZCBjb250cm9scyAqL1xuXHRjb250cm9sczogRXZlbnREaXNwYXRjaGVyIHwgbnVsbDtcblx0LyoqIE5vcm1hbGl6ZWQgZXZlbnQgY29vcmRpbmF0ZXMgKi9cblx0cG9pbnRlcjogVmVjdG9yMjtcblx0LyogV2hldGhlciB0byBlbmFibGUgcjEzOSdzIENvbG9yTWFuYWdlbWVudCAqL1xuXHRsZWdhY3k6IGJvb2xlYW47XG5cdC8qKiBTaG9ydGN1dCB0byBnbC5vdXRwdXRDb2xvclNwYWNlID0gTGluZWFyU1JHQkNvbG9yU3BhY2UgKi9cblx0bGluZWFyOiBib29sZWFuO1xuXHQvKiogU2hvcnRjdXQgdG8gZ2wudG9uZU1hcHBpbmcgPSBOb1RvbmVtYXBwaW5nICovXG5cdGZsYXQ6IGJvb2xlYW47XG5cdC8qKiBSZW5kZXIgbG9vcCBmbGFncyAqL1xuXHRmcmFtZWxvb3A6ICdhbHdheXMnIHwgJ2RlbWFuZCcgfCAnbmV2ZXInO1xuXHQvKiogQWRhcHRpdmUgcGVyZm9ybWFuY2UgaW50ZXJmYWNlICovXG5cdHBlcmZvcm1hbmNlOiBOZ3RQZXJmb3JtYW5jZTtcblx0LyoqIFJlYWN0aXZlIHBpeGVsLXNpemUgb2YgdGhlIGNhbnZhcyAqL1xuXHRzaXplOiBOZ3RTaXplO1xuXHQvKiogUmVhY3RpdmUgc2l6ZSBvZiB0aGUgdmlld3BvcnQgaW4gdGhyZWVqcyB1bml0cyAqL1xuXHR2aWV3cG9ydDogTmd0Vmlld3BvcnQgJiB7XG5cdFx0Z2V0Q3VycmVudFZpZXdwb3J0OiAoXG5cdFx0XHRjYW1lcmE/OiBOZ3RDYW1lcmEsXG5cdFx0XHR0YXJnZXQ/OiBWZWN0b3IzIHwgUGFyYW1ldGVyczxWZWN0b3IzWydzZXQnXT4sXG5cdFx0XHRzaXplPzogTmd0U2l6ZSxcblx0XHQpID0+IE9taXQ8Tmd0Vmlld3BvcnQsICdkcHInIHwgJ2luaXRpYWxEcHInPjtcblx0fTtcblx0LyoqIEZsYWdzIHRoZSBjYW52YXMgZm9yIHJlbmRlciwgYnV0IGRvZXNuJ3QgcmVuZGVyIGluIGl0c2VsZiAqL1xuXHRpbnZhbGlkYXRlOiAoZnJhbWVzPzogbnVtYmVyKSA9PiB2b2lkO1xuXHQvKiogQWR2YW5jZSAocmVuZGVyKSBvbmUgc3RlcCAqL1xuXHRhZHZhbmNlOiAodGltZXN0YW1wOiBudW1iZXIsIHJ1bkdsb2JhbEVmZmVjdHM/OiBib29sZWFuKSA9PiB2b2lkO1xuXHQvKiogU2hvcnRjdXQgdG8gc2V0dGluZyB0aGUgZXZlbnQgbGF5ZXIgKi9cblx0c2V0RXZlbnRzOiAoZXZlbnRzOiBQYXJ0aWFsPE5ndEV2ZW50TWFuYWdlcjxhbnk+PikgPT4gdm9pZDtcblx0LyoqXG5cdCAqIFNob3J0Y3V0IHRvIG1hbnVhbCBzaXppbmdcblx0ICovXG5cdHNldFNpemU6ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgdG9wPzogbnVtYmVyLCBsZWZ0PzogbnVtYmVyKSA9PiB2b2lkO1xuXHQvKiogU2hvcnRjdXQgdG8gbWFudWFsIHNldHRpbmcgdGhlIHBpeGVsIHJhdGlvICovXG5cdHNldERwcjogKGRwcjogTmd0RHByKSA9PiB2b2lkO1xuXHQvKiogU2hvcnRjdXQgdG8gZnJhbWVsb29wIGZsYWdzICovXG5cdHNldEZyYW1lbG9vcDogKGZyYW1lbG9vcD86ICdhbHdheXMnIHwgJ2RlbWFuZCcgfCAnbmV2ZXInKSA9PiB2b2lkO1xuXHQvKiogV2hlbiB0aGUgY2FudmFzIHdhcyBjbGlja2VkIGJ1dCBub3RoaW5nIHdhcyBoaXQgKi9cblx0LyoqIFBvaW50ZXJNaXNzZWQgT2JzZXJ2YWJsZSAqL1xuXHRwb2ludGVyTWlzc2VkJDogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50Pjtcblx0LyoqIElmIHRoaXMgc3RhdGUgbW9kZWwgaXMgbGF5ZXJlZCAodmlhIGNyZWF0ZVBvcnRhbCkgdGhlbiB0aGlzIGNvbnRhaW5zIHRoZSBwcmV2aW91cyBsYXllciAqL1xuXHRwcmV2aW91c1Jvb3Q6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPiB8IG51bGw7XG5cdC8qKiBJbnRlcm5hbHMgKi9cblx0aW50ZXJuYWw6IE5ndEludGVybmFsU3RhdGU7XG59O1xuIl19
@@ -1,130 +0,0 @@
1
- import { Color, ColorManagement, Layers, RGBAFormat, Texture, UnsignedByteType } from 'three';
2
- import { getLocalState, invalidateInstance } from '../instance';
3
- import { is } from './is';
4
- import { checkUpdate } from './update';
5
- // This function prepares a set of changes to be applied to the instance
6
- function diffProps(instance, props) {
7
- const propsEntries = Object.entries(props);
8
- const changes = [];
9
- for (const [propKey, propValue] of propsEntries) {
10
- let key = propKey;
11
- if (is.colorSpaceExist(instance)) {
12
- if (propKey === 'encoding') {
13
- key = 'colorSpace';
14
- }
15
- else if (propKey === 'outputEncoding') {
16
- key = 'outputColorSpace';
17
- }
18
- }
19
- if (is.equ(propValue, instance[key]))
20
- continue;
21
- changes.push([propKey, propValue]);
22
- }
23
- return changes;
24
- }
25
- // NOTE: this is a workaround to give the instance a change to have the store from the parent.
26
- // we clear this property after the applyProps is done
27
- export const NGT_APPLY_PROPS = '__ngt_apply_props__';
28
- // This function applies a set of changes to the instance
29
- export function applyProps(instance, props) {
30
- // if props is empty
31
- if (!Object.keys(props).length)
32
- return instance;
33
- // filter equals, and reserved props
34
- const localState = getLocalState(instance);
35
- const rootState = localState?.store?.snapshot ?? instance[NGT_APPLY_PROPS]?.snapshot ?? {};
36
- const changes = diffProps(instance, props);
37
- for (let i = 0; i < changes.length; i++) {
38
- let [key, value] = changes[i];
39
- // Alias (output)encoding => (output)colorSpace (since r152)
40
- // https://github.com/pmndrs/react-three-fiber/pull/2829
41
- if (is.colorSpaceExist(instance)) {
42
- const sRGBEncoding = 3001;
43
- const SRGBColorSpace = 'srgb';
44
- const LinearSRGBColorSpace = 'srgb-linear';
45
- if (key === 'encoding') {
46
- key = 'colorSpace';
47
- value = value === sRGBEncoding ? SRGBColorSpace : LinearSRGBColorSpace;
48
- }
49
- else if (key === 'outputEncoding') {
50
- key = 'outputColorSpace';
51
- value = value === sRGBEncoding ? SRGBColorSpace : LinearSRGBColorSpace;
52
- }
53
- }
54
- const currentInstance = instance;
55
- const targetProp = currentInstance[key];
56
- // special treatmen for objects with support for set/copy, and layers
57
- if (targetProp && targetProp['set'] && (targetProp['copy'] || targetProp instanceof Layers)) {
58
- const isColor = targetProp instanceof Color;
59
- // if value is an array
60
- if (Array.isArray(value)) {
61
- if (targetProp['fromArray'])
62
- targetProp['fromArray'](value);
63
- else
64
- targetProp['set'](...value);
65
- } // test again target.copy
66
- else if (targetProp['copy'] &&
67
- value &&
68
- value.constructor &&
69
- targetProp.constructor.name === value.constructor.name) {
70
- targetProp['copy'](value);
71
- if (!ColorManagement && !rootState.linear && isColor)
72
- targetProp['convertSRGBToLinear']();
73
- } // if nothing else fits, just set the single value, ignore undefined
74
- else if (value !== undefined) {
75
- const isColor = targetProp instanceof Color;
76
- // allow setting array scalars
77
- if (!isColor && targetProp['setScalar'])
78
- targetProp['setScalar'](value);
79
- // layers have no copy function, copy the mask
80
- else if (targetProp instanceof Layers && value instanceof Layers)
81
- targetProp.mask = value.mask;
82
- // otherwise just set ...
83
- else
84
- targetProp['set'](value);
85
- // auto-convert srgb
86
- if (!ColorManagement && !rootState?.linear && isColor)
87
- targetProp.convertSRGBToLinear();
88
- }
89
- } // else just overwrite the value
90
- else {
91
- currentInstance[key] = value;
92
- // auto-convert srgb textures
93
- if (currentInstance[key] instanceof Texture &&
94
- currentInstance[key].format === RGBAFormat &&
95
- currentInstance[key].type === UnsignedByteType) {
96
- const texture = currentInstance[key];
97
- if (rootState?.gl) {
98
- if (is.colorSpaceExist(texture) && is.colorSpaceExist(rootState.gl))
99
- texture.colorSpace = rootState.gl.outputColorSpace;
100
- // @ts-expect-error - old version of threejs
101
- else
102
- texture.encoding = rootState.gl.outputEncoding;
103
- }
104
- }
105
- }
106
- checkUpdate(currentInstance[key]);
107
- checkUpdate(targetProp);
108
- invalidateInstance(instance);
109
- }
110
- const instanceHandlersCount = localState?.eventCount;
111
- const parent = localState?.instanceStore?.get('parent');
112
- if (parent && rootState.internal && instance['raycast'] && instanceHandlersCount !== localState?.eventCount) {
113
- // Pre-emptively remove the instance from the interaction manager
114
- const index = rootState.internal.interaction.indexOf(instance);
115
- if (index > -1)
116
- rootState.internal.interaction.splice(index, 1);
117
- // Add the instance to the interaction manager only when it has handlers
118
- if (localState?.eventCount)
119
- rootState.internal.interaction.push(instance);
120
- }
121
- if (parent && localState?.onUpdate && changes.length) {
122
- localState.onUpdate(instance);
123
- }
124
- // clearing the intermediate store from the instance
125
- if (instance[NGT_APPLY_PROPS]) {
126
- delete instance[NGT_APPLY_PROPS];
127
- }
128
- return instance;
129
- }
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9hcHBseS1wcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2Qyx3RUFBd0U7QUFDeEUsU0FBUyxTQUFTLENBQUMsUUFBc0IsRUFBRSxLQUFtQjtJQUM3RCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE1BQU0sT0FBTyxHQUFvQyxFQUFFLENBQUM7SUFFcEQsS0FBSyxNQUFNLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pELElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFJLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDNUIsR0FBRyxHQUFHLFlBQVksQ0FBQztZQUNwQixDQUFDO2lCQUFNLElBQUksT0FBTyxLQUFLLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3pDLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQztZQUMxQixDQUFDO1FBQ0YsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQUUsU0FBUztRQUMvQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2hCLENBQUM7QUFFRCw4RkFBOEY7QUFDOUYsdURBQXVEO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQztBQUVyRCx5REFBeUQ7QUFDekQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxRQUF5QixFQUFFLEtBQW1CO0lBQ3hFLG9CQUFvQjtJQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFFaEQsb0NBQW9DO0lBQ3BDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsUUFBUSxJQUFLLEVBQWUsQ0FBQztJQUN6RyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRTNDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFOUIsNERBQTREO1FBQzVELHdEQUF3RDtRQUN4RCxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDMUIsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDO1lBQzlCLE1BQU0sb0JBQW9CLEdBQUcsYUFBYSxDQUFDO1lBRTNDLElBQUksR0FBRyxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUN4QixHQUFHLEdBQUcsWUFBWSxDQUFDO2dCQUNuQixLQUFLLEdBQUcsS0FBSyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQztZQUN4RSxDQUFDO2lCQUFNLElBQUksR0FBRyxLQUFLLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3JDLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQztnQkFDekIsS0FBSyxHQUFHLEtBQUssS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUM7WUFDeEUsQ0FBQztRQUNGLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUM7UUFDakMsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXhDLHFFQUFxRTtRQUNyRSxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxZQUFZLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDN0YsTUFBTSxPQUFPLEdBQUcsVUFBVSxZQUFZLEtBQUssQ0FBQztZQUM1Qyx1QkFBdUI7WUFDdkIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQztvQkFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7O29CQUN2RCxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUNsQyxDQUFDLENBQUMseUJBQXlCO2lCQUN0QixJQUNKLFVBQVUsQ0FBQyxNQUFNLENBQUM7Z0JBQ2xCLEtBQUs7Z0JBQ0wsS0FBSyxDQUFDLFdBQVc7Z0JBQ2pCLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUNyRCxDQUFDO2dCQUNGLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksT0FBTztvQkFBRSxVQUFVLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1lBQzNGLENBQUMsQ0FBQyxvRUFBb0U7aUJBQ2pFLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUM5QixNQUFNLE9BQU8sR0FBRyxVQUFVLFlBQVksS0FBSyxDQUFDO2dCQUM1Qyw4QkFBOEI7Z0JBQzlCLElBQUksQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQztvQkFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hFLDhDQUE4QztxQkFDekMsSUFBSSxVQUFVLFlBQVksTUFBTSxJQUFJLEtBQUssWUFBWSxNQUFNO29CQUFFLFVBQVUsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDL0YseUJBQXlCOztvQkFDcEIsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUU5QixvQkFBb0I7Z0JBQ3BCLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxJQUFJLE9BQU87b0JBQUUsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDekYsQ0FBQztRQUNGLENBQUMsQ0FBQyxnQ0FBZ0M7YUFDN0IsQ0FBQztZQUNMLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDN0IsNkJBQTZCO1lBQzdCLElBQ0MsZUFBZSxDQUFDLEdBQUcsQ0FBQyxZQUFZLE9BQU87Z0JBQ3ZDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEtBQUssVUFBVTtnQkFDMUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsRUFDN0MsQ0FBQztnQkFDRixNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFZLENBQUM7Z0JBQ2hELElBQUksU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDO29CQUNuQixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO3dCQUNsRSxPQUFPLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ3BELDRDQUE0Qzs7d0JBQ3ZDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUM7Z0JBQ3JELENBQUM7WUFDRixDQUFDO1FBQ0YsQ0FBQztRQUVELFdBQVcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNsQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEIsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELE1BQU0scUJBQXFCLEdBQUcsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUNyRCxNQUFNLE1BQU0sR0FBRyxVQUFVLEVBQUUsYUFBYSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV4RCxJQUFJLE1BQU0sSUFBSSxTQUFTLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxxQkFBcUIsS0FBSyxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDN0csaUVBQWlFO1FBQ2pFLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvRCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7WUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLHdFQUF3RTtRQUN4RSxJQUFJLFVBQVUsRUFBRSxVQUFVO1lBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUFJLE1BQU0sSUFBSSxVQUFVLEVBQUUsUUFBUSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0RCxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztRQUMvQixPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yLCBDb2xvck1hbmFnZW1lbnQsIExheWVycywgUkdCQUZvcm1hdCwgVGV4dHVyZSwgVW5zaWduZWRCeXRlVHlwZSB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IGdldExvY2FsU3RhdGUsIGludmFsaWRhdGVJbnN0YW5jZSB9IGZyb20gJy4uL2luc3RhbmNlJztcbmltcG9ydCB7IE5ndEFueVJlY29yZCwgTmd0SW5zdGFuY2VOb2RlLCBOZ3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi9pcyc7XG5pbXBvcnQgeyBjaGVja1VwZGF0ZSB9IGZyb20gJy4vdXBkYXRlJztcblxuLy8gVGhpcyBmdW5jdGlvbiBwcmVwYXJlcyBhIHNldCBvZiBjaGFuZ2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGluc3RhbmNlXG5mdW5jdGlvbiBkaWZmUHJvcHMoaW5zdGFuY2U6IE5ndEFueVJlY29yZCwgcHJvcHM6IE5ndEFueVJlY29yZCkge1xuXHRjb25zdCBwcm9wc0VudHJpZXMgPSBPYmplY3QuZW50cmllcyhwcm9wcyk7XG5cdGNvbnN0IGNoYW5nZXM6IFtrZXk6IHN0cmluZywgdmFsdWU6IHVua25vd25dW10gPSBbXTtcblxuXHRmb3IgKGNvbnN0IFtwcm9wS2V5LCBwcm9wVmFsdWVdIG9mIHByb3BzRW50cmllcykge1xuXHRcdGxldCBrZXkgPSBwcm9wS2V5O1xuXHRcdGlmIChpcy5jb2xvclNwYWNlRXhpc3QoaW5zdGFuY2UpKSB7XG5cdFx0XHRpZiAocHJvcEtleSA9PT0gJ2VuY29kaW5nJykge1xuXHRcdFx0XHRrZXkgPSAnY29sb3JTcGFjZSc7XG5cdFx0XHR9IGVsc2UgaWYgKHByb3BLZXkgPT09ICdvdXRwdXRFbmNvZGluZycpIHtcblx0XHRcdFx0a2V5ID0gJ291dHB1dENvbG9yU3BhY2UnO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZiAoaXMuZXF1KHByb3BWYWx1ZSwgaW5zdGFuY2Vba2V5XSkpIGNvbnRpbnVlO1xuXHRcdGNoYW5nZXMucHVzaChbcHJvcEtleSwgcHJvcFZhbHVlXSk7XG5cdH1cblxuXHRyZXR1cm4gY2hhbmdlcztcbn1cblxuLy8gTk9URTogdGhpcyBpcyBhIHdvcmthcm91bmQgdG8gZ2l2ZSB0aGUgaW5zdGFuY2UgYSBjaGFuZ2UgdG8gaGF2ZSB0aGUgc3RvcmUgZnJvbSB0aGUgcGFyZW50LlxuLy8gIHdlIGNsZWFyIHRoaXMgcHJvcGVydHkgYWZ0ZXIgdGhlIGFwcGx5UHJvcHMgaXMgZG9uZVxuZXhwb3J0IGNvbnN0IE5HVF9BUFBMWV9QUk9QUyA9ICdfX25ndF9hcHBseV9wcm9wc19fJztcblxuLy8gVGhpcyBmdW5jdGlvbiBhcHBsaWVzIGEgc2V0IG9mIGNoYW5nZXMgdG8gdGhlIGluc3RhbmNlXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlQcm9wcyhpbnN0YW5jZTogTmd0SW5zdGFuY2VOb2RlLCBwcm9wczogTmd0QW55UmVjb3JkKSB7XG5cdC8vIGlmIHByb3BzIGlzIGVtcHR5XG5cdGlmICghT2JqZWN0LmtleXMocHJvcHMpLmxlbmd0aCkgcmV0dXJuIGluc3RhbmNlO1xuXG5cdC8vIGZpbHRlciBlcXVhbHMsIGFuZCByZXNlcnZlZCBwcm9wc1xuXHRjb25zdCBsb2NhbFN0YXRlID0gZ2V0TG9jYWxTdGF0ZShpbnN0YW5jZSk7XG5cdGNvbnN0IHJvb3RTdGF0ZSA9IGxvY2FsU3RhdGU/LnN0b3JlPy5zbmFwc2hvdCA/PyBpbnN0YW5jZVtOR1RfQVBQTFlfUFJPUFNdPy5zbmFwc2hvdCA/PyAoe30gYXMgTmd0U3RhdGUpO1xuXHRjb25zdCBjaGFuZ2VzID0gZGlmZlByb3BzKGluc3RhbmNlLCBwcm9wcyk7XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG5cdFx0bGV0IFtrZXksIHZhbHVlXSA9IGNoYW5nZXNbaV07XG5cblx0XHQvLyBBbGlhcyAob3V0cHV0KWVuY29kaW5nID0+IChvdXRwdXQpY29sb3JTcGFjZSAoc2luY2UgcjE1Milcblx0XHQvLyBodHRwczovL2dpdGh1Yi5jb20vcG1uZHJzL3JlYWN0LXRocmVlLWZpYmVyL3B1bGwvMjgyOVxuXHRcdGlmIChpcy5jb2xvclNwYWNlRXhpc3QoaW5zdGFuY2UpKSB7XG5cdFx0XHRjb25zdCBzUkdCRW5jb2RpbmcgPSAzMDAxO1xuXHRcdFx0Y29uc3QgU1JHQkNvbG9yU3BhY2UgPSAnc3JnYic7XG5cdFx0XHRjb25zdCBMaW5lYXJTUkdCQ29sb3JTcGFjZSA9ICdzcmdiLWxpbmVhcic7XG5cblx0XHRcdGlmIChrZXkgPT09ICdlbmNvZGluZycpIHtcblx0XHRcdFx0a2V5ID0gJ2NvbG9yU3BhY2UnO1xuXHRcdFx0XHR2YWx1ZSA9IHZhbHVlID09PSBzUkdCRW5jb2RpbmcgPyBTUkdCQ29sb3JTcGFjZSA6IExpbmVhclNSR0JDb2xvclNwYWNlO1xuXHRcdFx0fSBlbHNlIGlmIChrZXkgPT09ICdvdXRwdXRFbmNvZGluZycpIHtcblx0XHRcdFx0a2V5ID0gJ291dHB1dENvbG9yU3BhY2UnO1xuXHRcdFx0XHR2YWx1ZSA9IHZhbHVlID09PSBzUkdCRW5jb2RpbmcgPyBTUkdCQ29sb3JTcGFjZSA6IExpbmVhclNSR0JDb2xvclNwYWNlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbnN0IGN1cnJlbnRJbnN0YW5jZSA9IGluc3RhbmNlO1xuXHRcdGNvbnN0IHRhcmdldFByb3AgPSBjdXJyZW50SW5zdGFuY2Vba2V5XTtcblxuXHRcdC8vIHNwZWNpYWwgdHJlYXRtZW4gZm9yIG9iamVjdHMgd2l0aCBzdXBwb3J0IGZvciBzZXQvY29weSwgYW5kIGxheWVyc1xuXHRcdGlmICh0YXJnZXRQcm9wICYmIHRhcmdldFByb3BbJ3NldCddICYmICh0YXJnZXRQcm9wWydjb3B5J10gfHwgdGFyZ2V0UHJvcCBpbnN0YW5jZW9mIExheWVycykpIHtcblx0XHRcdGNvbnN0IGlzQ29sb3IgPSB0YXJnZXRQcm9wIGluc3RhbmNlb2YgQ29sb3I7XG5cdFx0XHQvLyBpZiB2YWx1ZSBpcyBhbiBhcnJheVxuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG5cdFx0XHRcdGlmICh0YXJnZXRQcm9wWydmcm9tQXJyYXknXSkgdGFyZ2V0UHJvcFsnZnJvbUFycmF5J10odmFsdWUpO1xuXHRcdFx0XHRlbHNlIHRhcmdldFByb3BbJ3NldCddKC4uLnZhbHVlKTtcblx0XHRcdH0gLy8gdGVzdCBhZ2FpbiB0YXJnZXQuY29weVxuXHRcdFx0ZWxzZSBpZiAoXG5cdFx0XHRcdHRhcmdldFByb3BbJ2NvcHknXSAmJlxuXHRcdFx0XHR2YWx1ZSAmJlxuXHRcdFx0XHR2YWx1ZS5jb25zdHJ1Y3RvciAmJlxuXHRcdFx0XHR0YXJnZXRQcm9wLmNvbnN0cnVjdG9yLm5hbWUgPT09IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWVcblx0XHRcdCkge1xuXHRcdFx0XHR0YXJnZXRQcm9wWydjb3B5J10odmFsdWUpO1xuXHRcdFx0XHRpZiAoIUNvbG9yTWFuYWdlbWVudCAmJiAhcm9vdFN0YXRlLmxpbmVhciAmJiBpc0NvbG9yKSB0YXJnZXRQcm9wWydjb252ZXJ0U1JHQlRvTGluZWFyJ10oKTtcblx0XHRcdH0gLy8gaWYgbm90aGluZyBlbHNlIGZpdHMsIGp1c3Qgc2V0IHRoZSBzaW5nbGUgdmFsdWUsIGlnbm9yZSB1bmRlZmluZWRcblx0XHRcdGVsc2UgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0Y29uc3QgaXNDb2xvciA9IHRhcmdldFByb3AgaW5zdGFuY2VvZiBDb2xvcjtcblx0XHRcdFx0Ly8gYWxsb3cgc2V0dGluZyBhcnJheSBzY2FsYXJzXG5cdFx0XHRcdGlmICghaXNDb2xvciAmJiB0YXJnZXRQcm9wWydzZXRTY2FsYXInXSkgdGFyZ2V0UHJvcFsnc2V0U2NhbGFyJ10odmFsdWUpO1xuXHRcdFx0XHQvLyBsYXllcnMgaGF2ZSBubyBjb3B5IGZ1bmN0aW9uLCBjb3B5IHRoZSBtYXNrXG5cdFx0XHRcdGVsc2UgaWYgKHRhcmdldFByb3AgaW5zdGFuY2VvZiBMYXllcnMgJiYgdmFsdWUgaW5zdGFuY2VvZiBMYXllcnMpIHRhcmdldFByb3AubWFzayA9IHZhbHVlLm1hc2s7XG5cdFx0XHRcdC8vIG90aGVyd2lzZSBqdXN0IHNldCAuLi5cblx0XHRcdFx0ZWxzZSB0YXJnZXRQcm9wWydzZXQnXSh2YWx1ZSk7XG5cblx0XHRcdFx0Ly8gYXV0by1jb252ZXJ0IHNyZ2Jcblx0XHRcdFx0aWYgKCFDb2xvck1hbmFnZW1lbnQgJiYgIXJvb3RTdGF0ZT8ubGluZWFyICYmIGlzQ29sb3IpIHRhcmdldFByb3AuY29udmVydFNSR0JUb0xpbmVhcigpO1xuXHRcdFx0fVxuXHRcdH0gLy8gZWxzZSBqdXN0IG92ZXJ3cml0ZSB0aGUgdmFsdWVcblx0XHRlbHNlIHtcblx0XHRcdGN1cnJlbnRJbnN0YW5jZVtrZXldID0gdmFsdWU7XG5cdFx0XHQvLyBhdXRvLWNvbnZlcnQgc3JnYiB0ZXh0dXJlc1xuXHRcdFx0aWYgKFxuXHRcdFx0XHRjdXJyZW50SW5zdGFuY2Vba2V5XSBpbnN0YW5jZW9mIFRleHR1cmUgJiZcblx0XHRcdFx0Y3VycmVudEluc3RhbmNlW2tleV0uZm9ybWF0ID09PSBSR0JBRm9ybWF0ICYmXG5cdFx0XHRcdGN1cnJlbnRJbnN0YW5jZVtrZXldLnR5cGUgPT09IFVuc2lnbmVkQnl0ZVR5cGVcblx0XHRcdCkge1xuXHRcdFx0XHRjb25zdCB0ZXh0dXJlID0gY3VycmVudEluc3RhbmNlW2tleV0gYXMgVGV4dHVyZTtcblx0XHRcdFx0aWYgKHJvb3RTdGF0ZT8uZ2wpIHtcblx0XHRcdFx0XHRpZiAoaXMuY29sb3JTcGFjZUV4aXN0KHRleHR1cmUpICYmIGlzLmNvbG9yU3BhY2VFeGlzdChyb290U3RhdGUuZ2wpKVxuXHRcdFx0XHRcdFx0dGV4dHVyZS5jb2xvclNwYWNlID0gcm9vdFN0YXRlLmdsLm91dHB1dENvbG9yU3BhY2U7XG5cdFx0XHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIG9sZCB2ZXJzaW9uIG9mIHRocmVlanNcblx0XHRcdFx0XHRlbHNlIHRleHR1cmUuZW5jb2RpbmcgPSByb290U3RhdGUuZ2wub3V0cHV0RW5jb2Rpbmc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRjaGVja1VwZGF0ZShjdXJyZW50SW5zdGFuY2Vba2V5XSk7XG5cdFx0Y2hlY2tVcGRhdGUodGFyZ2V0UHJvcCk7XG5cdFx0aW52YWxpZGF0ZUluc3RhbmNlKGluc3RhbmNlKTtcblx0fVxuXG5cdGNvbnN0IGluc3RhbmNlSGFuZGxlcnNDb3VudCA9IGxvY2FsU3RhdGU/LmV2ZW50Q291bnQ7XG5cdGNvbnN0IHBhcmVudCA9IGxvY2FsU3RhdGU/Lmluc3RhbmNlU3RvcmU/LmdldCgncGFyZW50Jyk7XG5cblx0aWYgKHBhcmVudCAmJiByb290U3RhdGUuaW50ZXJuYWwgJiYgaW5zdGFuY2VbJ3JheWNhc3QnXSAmJiBpbnN0YW5jZUhhbmRsZXJzQ291bnQgIT09IGxvY2FsU3RhdGU/LmV2ZW50Q291bnQpIHtcblx0XHQvLyBQcmUtZW1wdGl2ZWx5IHJlbW92ZSB0aGUgaW5zdGFuY2UgZnJvbSB0aGUgaW50ZXJhY3Rpb24gbWFuYWdlclxuXHRcdGNvbnN0IGluZGV4ID0gcm9vdFN0YXRlLmludGVybmFsLmludGVyYWN0aW9uLmluZGV4T2YoaW5zdGFuY2UpO1xuXHRcdGlmIChpbmRleCA+IC0xKSByb290U3RhdGUuaW50ZXJuYWwuaW50ZXJhY3Rpb24uc3BsaWNlKGluZGV4LCAxKTtcblx0XHQvLyBBZGQgdGhlIGluc3RhbmNlIHRvIHRoZSBpbnRlcmFjdGlvbiBtYW5hZ2VyIG9ubHkgd2hlbiBpdCBoYXMgaGFuZGxlcnNcblx0XHRpZiAobG9jYWxTdGF0ZT8uZXZlbnRDb3VudCkgcm9vdFN0YXRlLmludGVybmFsLmludGVyYWN0aW9uLnB1c2goaW5zdGFuY2UpO1xuXHR9XG5cblx0aWYgKHBhcmVudCAmJiBsb2NhbFN0YXRlPy5vblVwZGF0ZSAmJiBjaGFuZ2VzLmxlbmd0aCkge1xuXHRcdGxvY2FsU3RhdGUub25VcGRhdGUoaW5zdGFuY2UpO1xuXHR9XG5cblx0Ly8gY2xlYXJpbmcgdGhlIGludGVybWVkaWF0ZSBzdG9yZSBmcm9tIHRoZSBpbnN0YW5jZVxuXHRpZiAoaW5zdGFuY2VbTkdUX0FQUExZX1BST1BTXSkge1xuXHRcdGRlbGV0ZSBpbnN0YW5jZVtOR1RfQVBQTFlfUFJPUFNdO1xuXHR9XG5cblx0cmV0dXJuIGluc3RhbmNlO1xufVxuIl19
@@ -1,46 +0,0 @@
1
- import { getLocalState } from '../instance';
2
- import { applyProps, NGT_APPLY_PROPS } from './apply-props';
3
- export function attach(object, value, paths = [], useApplyProps = false) {
4
- const [base, ...remaining] = paths;
5
- if (!base)
6
- return;
7
- if (remaining.length === 0) {
8
- if (useApplyProps)
9
- applyProps(object, { [base]: value });
10
- else
11
- object[base] = value;
12
- }
13
- else {
14
- assignEmpty(object, base, useApplyProps);
15
- attach(object[base], value, remaining, useApplyProps);
16
- }
17
- }
18
- export function detach(parent, child, attachProp) {
19
- const childLocalState = getLocalState(child);
20
- if (childLocalState) {
21
- if (Array.isArray(attachProp))
22
- attach(parent, childLocalState.previousAttach, attachProp, childLocalState.isRaw);
23
- else
24
- childLocalState.previousAttach();
25
- }
26
- }
27
- function assignEmpty(obj, base, shouldAssignStoreForApplyProps = false) {
28
- if ((!Object.hasOwn(obj, base) && Reflect && !!Reflect.has && !Reflect.has(obj, base)) || obj[base] === undefined) {
29
- obj[base] = {};
30
- }
31
- if (shouldAssignStoreForApplyProps) {
32
- const localState = getLocalState(obj[base]);
33
- // if we already have local state, bail out
34
- if (localState)
35
- return;
36
- const parentLocalState = getLocalState(obj);
37
- // if parent doesn't have local state, bail out
38
- if (!parentLocalState)
39
- return;
40
- Object.assign(obj[base], { [NGT_APPLY_PROPS]: parentLocalState.store });
41
- }
42
- }
43
- export function createAttachFunction(cb) {
44
- return (parent, child, store) => cb({ parent, child, store });
45
- }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvYXR0YWNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxNQUFvQixFQUFFLEtBQWMsRUFBRSxRQUFrQixFQUFFLEVBQUUsYUFBYSxHQUFHLEtBQUs7SUFDdkcsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNuQyxJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU87SUFFbEIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzVCLElBQUksYUFBYTtZQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7O1lBQ3BELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztTQUFNLENBQUM7UUFDUCxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQztBQUNGLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLE1BQW9CLEVBQUUsS0FBbUIsRUFBRSxVQUF3QztJQUN6RyxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNyQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7O1lBQzNHLGVBQWUsQ0FBQyxjQUE2QixFQUFFLENBQUM7SUFDdkQsQ0FBQztBQUNGLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxHQUFpQixFQUFFLElBQVksRUFBRSw4QkFBOEIsR0FBRyxLQUFLO0lBQzNGLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ25ILEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksOEJBQThCLEVBQUUsQ0FBQztRQUNwQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDNUMsMkNBQTJDO1FBQzNDLElBQUksVUFBVTtZQUFFLE9BQU87UUFFdkIsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0I7WUFBRSxPQUFPO1FBRTlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7QUFDRixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNuQyxFQUF3RztJQUV4RyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUMvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0TG9jYWxTdGF0ZSB9IGZyb20gJy4uL2luc3RhbmNlJztcbmltcG9ydCB7IE5ndEFueVJlY29yZCwgTmd0QXR0YWNoRnVuY3Rpb24sIE5ndFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYXBwbHlQcm9wcywgTkdUX0FQUExZX1BST1BTIH0gZnJvbSAnLi9hcHBseS1wcm9wcyc7XG5pbXBvcnQgeyBOZ3RTaWduYWxTdG9yZSB9IGZyb20gJy4vc2lnbmFsLXN0b3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGF0dGFjaChvYmplY3Q6IE5ndEFueVJlY29yZCwgdmFsdWU6IHVua25vd24sIHBhdGhzOiBzdHJpbmdbXSA9IFtdLCB1c2VBcHBseVByb3BzID0gZmFsc2UpOiB2b2lkIHtcblx0Y29uc3QgW2Jhc2UsIC4uLnJlbWFpbmluZ10gPSBwYXRocztcblx0aWYgKCFiYXNlKSByZXR1cm47XG5cblx0aWYgKHJlbWFpbmluZy5sZW5ndGggPT09IDApIHtcblx0XHRpZiAodXNlQXBwbHlQcm9wcykgYXBwbHlQcm9wcyhvYmplY3QsIHsgW2Jhc2VdOiB2YWx1ZSB9KTtcblx0XHRlbHNlIG9iamVjdFtiYXNlXSA9IHZhbHVlO1xuXHR9IGVsc2Uge1xuXHRcdGFzc2lnbkVtcHR5KG9iamVjdCwgYmFzZSwgdXNlQXBwbHlQcm9wcyk7XG5cdFx0YXR0YWNoKG9iamVjdFtiYXNlXSwgdmFsdWUsIHJlbWFpbmluZywgdXNlQXBwbHlQcm9wcyk7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRldGFjaChwYXJlbnQ6IE5ndEFueVJlY29yZCwgY2hpbGQ6IE5ndEFueVJlY29yZCwgYXR0YWNoUHJvcDogc3RyaW5nW10gfCBOZ3RBdHRhY2hGdW5jdGlvbikge1xuXHRjb25zdCBjaGlsZExvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKGNoaWxkKTtcblx0aWYgKGNoaWxkTG9jYWxTdGF0ZSkge1xuXHRcdGlmIChBcnJheS5pc0FycmF5KGF0dGFjaFByb3ApKSBhdHRhY2gocGFyZW50LCBjaGlsZExvY2FsU3RhdGUucHJldmlvdXNBdHRhY2gsIGF0dGFjaFByb3AsIGNoaWxkTG9jYWxTdGF0ZS5pc1Jhdyk7XG5cdFx0ZWxzZSAoY2hpbGRMb2NhbFN0YXRlLnByZXZpb3VzQXR0YWNoIGFzICgpID0+IHZvaWQpKCk7XG5cdH1cbn1cblxuZnVuY3Rpb24gYXNzaWduRW1wdHkob2JqOiBOZ3RBbnlSZWNvcmQsIGJhc2U6IHN0cmluZywgc2hvdWxkQXNzaWduU3RvcmVGb3JBcHBseVByb3BzID0gZmFsc2UpIHtcblx0aWYgKCghT2JqZWN0Lmhhc093bihvYmosIGJhc2UpICYmIFJlZmxlY3QgJiYgISFSZWZsZWN0LmhhcyAmJiAhUmVmbGVjdC5oYXMob2JqLCBiYXNlKSkgfHwgb2JqW2Jhc2VdID09PSB1bmRlZmluZWQpIHtcblx0XHRvYmpbYmFzZV0gPSB7fTtcblx0fVxuXG5cdGlmIChzaG91bGRBc3NpZ25TdG9yZUZvckFwcGx5UHJvcHMpIHtcblx0XHRjb25zdCBsb2NhbFN0YXRlID0gZ2V0TG9jYWxTdGF0ZShvYmpbYmFzZV0pO1xuXHRcdC8vIGlmIHdlIGFscmVhZHkgaGF2ZSBsb2NhbCBzdGF0ZSwgYmFpbCBvdXRcblx0XHRpZiAobG9jYWxTdGF0ZSkgcmV0dXJuO1xuXG5cdFx0Y29uc3QgcGFyZW50TG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUob2JqKTtcblx0XHQvLyBpZiBwYXJlbnQgZG9lc24ndCBoYXZlIGxvY2FsIHN0YXRlLCBiYWlsIG91dFxuXHRcdGlmICghcGFyZW50TG9jYWxTdGF0ZSkgcmV0dXJuO1xuXG5cdFx0T2JqZWN0LmFzc2lnbihvYmpbYmFzZV0sIHsgW05HVF9BUFBMWV9QUk9QU106IHBhcmVudExvY2FsU3RhdGUuc3RvcmUgfSk7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUF0dGFjaEZ1bmN0aW9uPFRDaGlsZCA9IGFueSwgVFBhcmVudCA9IGFueT4oXG5cdGNiOiAocGFyYW1zOiB7IHBhcmVudDogVFBhcmVudDsgY2hpbGQ6IFRDaGlsZDsgc3RvcmU6IE5ndFNpZ25hbFN0b3JlPE5ndFN0YXRlPiB9KSA9PiAoKCkgPT4gdm9pZCkgfCB2b2lkLFxuKTogTmd0QXR0YWNoRnVuY3Rpb248VENoaWxkLCBUUGFyZW50PiB7XG5cdHJldHVybiAocGFyZW50LCBjaGlsZCwgc3RvcmUpID0+IGNiKHsgcGFyZW50LCBjaGlsZCwgc3RvcmUgfSk7XG59XG4iXX0=
@@ -1,41 +0,0 @@
1
- import { DestroyRef, inject } from '@angular/core';
2
- import { assertInjector } from 'ngxtension/assert-injector';
3
- import { injectStore } from '../store';
4
- /**
5
- * `injectBeforeRender` invokes its callback on every frame. Hence, the notion of tracking
6
- * changes (i.e: signals) does not really matter since we're getting latest values of the things we need on every frame anyway.
7
- *
8
- * If `priority` is dynamic, consumers should set up `injectBeforeRender` in
9
- * an `effect` and track `priority` changes. Make use of `onCleanup` to clean up
10
- * previous before render subscription
11
- *
12
- * @example
13
- * ```ts
14
- * const injector = inject(Injector);
15
- *
16
- * effect((onCleanup) => {
17
- * const priority = this.priority(); // track priority
18
- *
19
- * const sub = injectBeforeRender(
20
- * ({ gl, camera }) => {
21
- * // before render logic
22
- * },
23
- * {
24
- * priority,
25
- * injector, // injector is needed since injectBeforeRender is invoked in effect body
26
- * }
27
- * });
28
- *
29
- * onCleanup(() => sub());
30
- * });
31
- * ```
32
- */
33
- export function injectBeforeRender(cb, { priority = 0, injector } = {}) {
34
- return assertInjector(injectBeforeRender, injector, () => {
35
- const store = injectStore();
36
- const sub = store.get('internal').subscribe(cb, priority, store);
37
- inject(DestroyRef).onDestroy(() => void sub());
38
- return sub;
39
- });
40
- }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmb3JlLXJlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL2JlZm9yZS1yZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Qkc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2pDLEVBQXFDLEVBQ3JDLEVBQUUsUUFBUSxHQUFHLENBQUMsRUFBRSxRQUFRLEtBQWlELEVBQUU7SUFFM0UsT0FBTyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUN4RCxNQUFNLEtBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUM1QixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sR0FBRyxDQUFDO0lBQ1osQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgSW5qZWN0b3IsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXNzZXJ0SW5qZWN0b3IgfSBmcm9tICduZ3h0ZW5zaW9uL2Fzc2VydC1pbmplY3Rvcic7XG5pbXBvcnQgeyBpbmplY3RTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcbmltcG9ydCB7IE5ndEJlZm9yZVJlbmRlclJlY29yZCB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBgaW5qZWN0QmVmb3JlUmVuZGVyYCBpbnZva2VzIGl0cyBjYWxsYmFjayBvbiBldmVyeSBmcmFtZS4gSGVuY2UsIHRoZSBub3Rpb24gb2YgdHJhY2tpbmdcbiAqIGNoYW5nZXMgKGkuZTogc2lnbmFscykgZG9lcyBub3QgcmVhbGx5IG1hdHRlciBzaW5jZSB3ZSdyZSBnZXR0aW5nIGxhdGVzdCB2YWx1ZXMgb2YgdGhlIHRoaW5ncyB3ZSBuZWVkIG9uIGV2ZXJ5IGZyYW1lIGFueXdheS5cbiAqXG4gKiBJZiBgcHJpb3JpdHlgIGlzIGR5bmFtaWMsIGNvbnN1bWVycyBzaG91bGQgc2V0IHVwIGBpbmplY3RCZWZvcmVSZW5kZXJgIGluXG4gKiBhbiBgZWZmZWN0YCBhbmQgdHJhY2sgYHByaW9yaXR5YCBjaGFuZ2VzLiBNYWtlIHVzZSBvZiBgb25DbGVhbnVwYCB0byBjbGVhbiB1cFxuICogcHJldmlvdXMgYmVmb3JlIHJlbmRlciBzdWJzY3JpcHRpb25cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAqXG4gKiBlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuICogICBjb25zdCBwcmlvcml0eSA9IHRoaXMucHJpb3JpdHkoKTsgLy8gdHJhY2sgcHJpb3JpdHlcbiAqXG4gKiAgIGNvbnN0IHN1YiA9IGluamVjdEJlZm9yZVJlbmRlcihcbiAqICAgICh7IGdsLCBjYW1lcmEgfSkgPT4ge1xuICogICAgICAvLyBiZWZvcmUgcmVuZGVyIGxvZ2ljXG4gKiAgICB9LFxuICogICAge1xuICogICAgICBwcmlvcml0eSxcbiAqICAgICAgaW5qZWN0b3IsIC8vIGluamVjdG9yIGlzIG5lZWRlZCBzaW5jZSBpbmplY3RCZWZvcmVSZW5kZXIgaXMgaW52b2tlZCBpbiBlZmZlY3QgYm9keVxuICogICAgfVxuICogICB9KTtcbiAqXG4gKiAgIG9uQ2xlYW51cCgoKSA9PiBzdWIoKSk7XG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0QmVmb3JlUmVuZGVyKFxuXHRjYjogTmd0QmVmb3JlUmVuZGVyUmVjb3JkWydjYWxsYmFjayddLFxuXHR7IHByaW9yaXR5ID0gMCwgaW5qZWN0b3IgfTogeyBwcmlvcml0eT86IG51bWJlcjsgaW5qZWN0b3I/OiBJbmplY3RvciB9ID0ge30sXG4pIHtcblx0cmV0dXJuIGFzc2VydEluamVjdG9yKGluamVjdEJlZm9yZVJlbmRlciwgaW5qZWN0b3IsICgpID0+IHtcblx0XHRjb25zdCBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cdFx0Y29uc3Qgc3ViID0gc3RvcmUuZ2V0KCdpbnRlcm5hbCcpLnN1YnNjcmliZShjYiwgcHJpb3JpdHksIHN0b3JlKTtcblx0XHRpbmplY3QoRGVzdHJveVJlZikub25EZXN0cm95KCgpID0+IHZvaWQgc3ViKCkpO1xuXHRcdHJldHVybiBzdWI7XG5cdH0pO1xufVxuIl19
@@ -1,52 +0,0 @@
1
- import { ElementRef } from '@angular/core';
2
- export const is = {
3
- obj: (a) => a === Object(a) && !Array.isArray(a) && typeof a !== 'function',
4
- material: (a) => !!a && a.isMaterial,
5
- geometry: (a) => !!a && a.isBufferGeometry,
6
- orthographicCamera: (a) => !!a && a.isOrthographicCamera,
7
- perspectiveCamera: (a) => !!a && a.isPerspectiveCamera,
8
- camera: (a) => !!a && a.isCamera,
9
- renderer: (a) => !!a && typeof a === 'object' && 'render' in a && typeof a['render'] === 'function',
10
- scene: (a) => !!a && a.isScene,
11
- ref: (a) => a instanceof ElementRef,
12
- instance: (a) => !!a && !!a['__ngt__'],
13
- object3D: (a) => !!a && a.isObject3D,
14
- // instance: (a: unknown): a is NgtInstanceNode => !!a && !!(a as NgtAnyRecord)['__ngt__'],
15
- // ref: (a: unknown): a is ElementRef => a instanceof ElementRef,
16
- colorSpaceExist: (object) => 'colorSpace' in object || 'outputColorSpace' in object,
17
- equ(a, b, { arrays = 'shallow', objects = 'reference', strict = true } = {}) {
18
- // Wrong type or one of the two undefined, doesn't match
19
- if (typeof a !== typeof b || !!a !== !!b)
20
- return false;
21
- // Atomic, just compare a against b
22
- if (typeof a === 'string' || typeof a === 'number')
23
- return a === b;
24
- const isObj = is.obj(a);
25
- if (isObj && objects === 'reference')
26
- return a === b;
27
- const isArr = Array.isArray(a);
28
- if (isArr && arrays === 'reference')
29
- return a === b;
30
- // Array or Object, shallow compare first to see if it's a match
31
- if ((isArr || isObj) && a === b)
32
- return true;
33
- // Last resort, go through keys
34
- let i;
35
- for (i in a)
36
- if (!(i in b))
37
- return false;
38
- for (i in strict ? b : a)
39
- if (a[i] !== b[i])
40
- return false;
41
- if (i === void 0) {
42
- if (isArr && a.length === 0 && b.length === 0)
43
- return true;
44
- if (isObj && Object.keys(a).length === 0 && Object.keys(b).length === 0)
45
- return true;
46
- if (a !== b)
47
- return false;
48
- }
49
- return true;
50
- },
51
- };
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9pcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBYTNDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRztJQUNqQixHQUFHLEVBQUUsQ0FBQyxDQUFVLEVBQWUsRUFBRSxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFVBQVU7SUFDakcsUUFBUSxFQUFFLENBQUMsQ0FBVSxFQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSyxDQUFjLENBQUMsVUFBVTtJQUMxRSxRQUFRLEVBQUUsQ0FBQyxDQUFVLEVBQXVCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFLLENBQW9CLENBQUMsZ0JBQWdCO0lBQzVGLGtCQUFrQixFQUFFLENBQUMsQ0FBVSxFQUEyQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSyxDQUF3QixDQUFDLG9CQUFvQjtJQUNsSCxpQkFBaUIsRUFBRSxDQUFDLENBQVUsRUFBMEIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUssQ0FBdUIsQ0FBQyxtQkFBbUI7SUFDOUcsTUFBTSxFQUFFLENBQUMsQ0FBVSxFQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFLLENBQVksQ0FBQyxRQUFRO0lBQ2xFLFFBQVEsRUFBRSxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksUUFBUSxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxVQUFVO0lBQzVHLEtBQUssRUFBRSxDQUFDLENBQVUsRUFBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSyxDQUFXLENBQUMsT0FBTztJQUM5RCxHQUFHLEVBQUUsQ0FBQyxDQUFVLEVBQW1CLEVBQUUsQ0FBQyxDQUFDLFlBQVksVUFBVTtJQUM3RCxRQUFRLEVBQUUsQ0FBQyxDQUFVLEVBQXdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBRSxDQUFrQixDQUFDLFNBQVMsQ0FBQztJQUN2RixRQUFRLEVBQUUsQ0FBQyxDQUFVLEVBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFLLENBQWMsQ0FBQyxVQUFVO0lBQzFFLDJGQUEyRjtJQUMzRixpRUFBaUU7SUFDakUsZUFBZSxFQUFFLENBSWhCLE1BQVMsRUFDUyxFQUFFLENBQUMsWUFBWSxJQUFJLE1BQU0sSUFBSSxrQkFBa0IsSUFBSSxNQUFNO0lBQzVFLEdBQUcsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFBRSxPQUFPLEdBQUcsV0FBVyxFQUFFLE1BQU0sR0FBRyxJQUFJLEtBQW1CLEVBQUU7UUFDbEcsd0RBQXdEO1FBQ3hELElBQUksT0FBTyxDQUFDLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3ZELG1DQUFtQztRQUNuQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRO1lBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25FLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLFdBQVc7WUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixJQUFJLEtBQUssSUFBSSxNQUFNLEtBQUssV0FBVztZQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzdDLCtCQUErQjtRQUMvQixJQUFJLENBQUMsQ0FBQztRQUNOLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBRSxPQUFPLEtBQUssQ0FBQztRQUMxRCxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xCLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUMzRCxJQUFJLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUNyRixJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7Q0FDRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcblx0QnVmZmVyR2VvbWV0cnksXG5cdENhbWVyYSxcblx0TWF0ZXJpYWwsXG5cdE9iamVjdDNELFxuXHRPcnRob2dyYXBoaWNDYW1lcmEsXG5cdFBlcnNwZWN0aXZlQ2FtZXJhLFxuXHRTY2VuZSxcblx0VGV4dHVyZSxcbn0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0QW55UmVjb3JkLCBOZ3RFcXVDb25maWcsIE5ndEluc3RhbmNlTm9kZSwgTmd0UmVuZGVyZXJMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgaXMgPSB7XG5cdG9iajogKGE6IHVua25vd24pOiBhIGlzIG9iamVjdCA9PiBhID09PSBPYmplY3QoYSkgJiYgIUFycmF5LmlzQXJyYXkoYSkgJiYgdHlwZW9mIGEgIT09ICdmdW5jdGlvbicsXG5cdG1hdGVyaWFsOiAoYTogdW5rbm93bik6IGEgaXMgTWF0ZXJpYWwgPT4gISFhICYmIChhIGFzIE1hdGVyaWFsKS5pc01hdGVyaWFsLFxuXHRnZW9tZXRyeTogKGE6IHVua25vd24pOiBhIGlzIEJ1ZmZlckdlb21ldHJ5ID0+ICEhYSAmJiAoYSBhcyBCdWZmZXJHZW9tZXRyeSkuaXNCdWZmZXJHZW9tZXRyeSxcblx0b3J0aG9ncmFwaGljQ2FtZXJhOiAoYTogdW5rbm93bik6IGEgaXMgT3J0aG9ncmFwaGljQ2FtZXJhID0+ICEhYSAmJiAoYSBhcyBPcnRob2dyYXBoaWNDYW1lcmEpLmlzT3J0aG9ncmFwaGljQ2FtZXJhLFxuXHRwZXJzcGVjdGl2ZUNhbWVyYTogKGE6IHVua25vd24pOiBhIGlzIFBlcnNwZWN0aXZlQ2FtZXJhID0+ICEhYSAmJiAoYSBhcyBQZXJzcGVjdGl2ZUNhbWVyYSkuaXNQZXJzcGVjdGl2ZUNhbWVyYSxcblx0Y2FtZXJhOiAoYTogdW5rbm93bik6IGEgaXMgQ2FtZXJhID0+ICEhYSAmJiAoYSBhcyBDYW1lcmEpLmlzQ2FtZXJhLFxuXHRyZW5kZXJlcjogKGE6IHVua25vd24pID0+ICEhYSAmJiB0eXBlb2YgYSA9PT0gJ29iamVjdCcgJiYgJ3JlbmRlcicgaW4gYSAmJiB0eXBlb2YgYVsncmVuZGVyJ10gPT09ICdmdW5jdGlvbicsXG5cdHNjZW5lOiAoYTogdW5rbm93bik6IGEgaXMgU2NlbmUgPT4gISFhICYmIChhIGFzIFNjZW5lKS5pc1NjZW5lLFxuXHRyZWY6IChhOiB1bmtub3duKTogYSBpcyBFbGVtZW50UmVmID0+IGEgaW5zdGFuY2VvZiBFbGVtZW50UmVmLFxuXHRpbnN0YW5jZTogKGE6IHVua25vd24pOiBhIGlzIE5ndEluc3RhbmNlTm9kZSA9PiAhIWEgJiYgISEoYSBhcyBOZ3RBbnlSZWNvcmQpWydfX25ndF9fJ10sXG5cdG9iamVjdDNEOiAoYTogdW5rbm93bik6IGEgaXMgT2JqZWN0M0QgPT4gISFhICYmIChhIGFzIE9iamVjdDNEKS5pc09iamVjdDNELFxuXHQvLyBpbnN0YW5jZTogKGE6IHVua25vd24pOiBhIGlzIE5ndEluc3RhbmNlTm9kZSA9PiAhIWEgJiYgISEoYSBhcyBOZ3RBbnlSZWNvcmQpWydfX25ndF9fJ10sXG5cdC8vIHJlZjogKGE6IHVua25vd24pOiBhIGlzIEVsZW1lbnRSZWYgPT4gYSBpbnN0YW5jZW9mIEVsZW1lbnRSZWYsXG5cdGNvbG9yU3BhY2VFeGlzdDogPFxuXHRcdFQgZXh0ZW5kcyBOZ3RSZW5kZXJlckxpa2UgfCBUZXh0dXJlIHwgb2JqZWN0LFxuXHRcdFAgPSBUIGV4dGVuZHMgTmd0UmVuZGVyZXJMaWtlID8geyBvdXRwdXRDb2xvclNwYWNlOiBzdHJpbmcgfSA6IHsgY29sb3JTcGFjZTogc3RyaW5nIH0sXG5cdD4oXG5cdFx0b2JqZWN0OiBULFxuXHQpOiBvYmplY3QgaXMgVCAmIFAgPT4gJ2NvbG9yU3BhY2UnIGluIG9iamVjdCB8fCAnb3V0cHV0Q29sb3JTcGFjZScgaW4gb2JqZWN0LFxuXHRlcXUoYTogYW55LCBiOiBhbnksIHsgYXJyYXlzID0gJ3NoYWxsb3cnLCBvYmplY3RzID0gJ3JlZmVyZW5jZScsIHN0cmljdCA9IHRydWUgfTogTmd0RXF1Q29uZmlnID0ge30pIHtcblx0XHQvLyBXcm9uZyB0eXBlIG9yIG9uZSBvZiB0aGUgdHdvIHVuZGVmaW5lZCwgZG9lc24ndCBtYXRjaFxuXHRcdGlmICh0eXBlb2YgYSAhPT0gdHlwZW9mIGIgfHwgISFhICE9PSAhIWIpIHJldHVybiBmYWxzZTtcblx0XHQvLyBBdG9taWMsIGp1c3QgY29tcGFyZSBhIGFnYWluc3QgYlxuXHRcdGlmICh0eXBlb2YgYSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGEgPT09ICdudW1iZXInKSByZXR1cm4gYSA9PT0gYjtcblx0XHRjb25zdCBpc09iaiA9IGlzLm9iaihhKTtcblx0XHRpZiAoaXNPYmogJiYgb2JqZWN0cyA9PT0gJ3JlZmVyZW5jZScpIHJldHVybiBhID09PSBiO1xuXHRcdGNvbnN0IGlzQXJyID0gQXJyYXkuaXNBcnJheShhKTtcblx0XHRpZiAoaXNBcnIgJiYgYXJyYXlzID09PSAncmVmZXJlbmNlJykgcmV0dXJuIGEgPT09IGI7XG5cdFx0Ly8gQXJyYXkgb3IgT2JqZWN0LCBzaGFsbG93IGNvbXBhcmUgZmlyc3QgdG8gc2VlIGlmIGl0J3MgYSBtYXRjaFxuXHRcdGlmICgoaXNBcnIgfHwgaXNPYmopICYmIGEgPT09IGIpIHJldHVybiB0cnVlO1xuXHRcdC8vIExhc3QgcmVzb3J0LCBnbyB0aHJvdWdoIGtleXNcblx0XHRsZXQgaTtcblx0XHRmb3IgKGkgaW4gYSkgaWYgKCEoaSBpbiBiKSkgcmV0dXJuIGZhbHNlO1xuXHRcdGZvciAoaSBpbiBzdHJpY3QgPyBiIDogYSkgaWYgKGFbaV0gIT09IGJbaV0pIHJldHVybiBmYWxzZTtcblx0XHRpZiAoaSA9PT0gdm9pZCAwKSB7XG5cdFx0XHRpZiAoaXNBcnIgJiYgYS5sZW5ndGggPT09IDAgJiYgYi5sZW5ndGggPT09IDApIHJldHVybiB0cnVlO1xuXHRcdFx0aWYgKGlzT2JqICYmIE9iamVjdC5rZXlzKGEpLmxlbmd0aCA9PT0gMCAmJiBPYmplY3Qua2V5cyhiKS5sZW5ndGggPT09IDApIHJldHVybiB0cnVlO1xuXHRcdFx0aWYgKGEgIT09IGIpIHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0cmV0dXJuIHRydWU7XG5cdH0sXG59O1xuIl19
@@ -1,52 +0,0 @@
1
- import { MathUtils, OrthographicCamera, PerspectiveCamera, WebGLRenderer } from 'three';
2
- import { is } from './is';
3
- const idCache = {};
4
- export function makeId(event) {
5
- if (event) {
6
- return (event.eventObject || event.object).uuid + '/' + event.index + event.instanceId;
7
- }
8
- const newId = MathUtils.generateUUID();
9
- // ensure not already used
10
- if (!idCache[newId]) {
11
- idCache[newId] = true;
12
- return newId;
13
- }
14
- return makeId();
15
- }
16
- export function makeDpr(dpr, window) {
17
- // Err on the side of progress by assuming 2x dpr if we can't detect it
18
- // This will happen in workers where window is defined but dpr isn't.
19
- const target = typeof window !== 'undefined' ? (window.devicePixelRatio ?? 2) : 1;
20
- return Array.isArray(dpr) ? Math.min(Math.max(dpr[0], target), dpr[1]) : dpr;
21
- }
22
- export function makeRendererInstance(glOptions, canvas) {
23
- const customRenderer = (typeof glOptions === 'function' ? glOptions(canvas) : glOptions);
24
- if (is.renderer(customRenderer))
25
- return customRenderer;
26
- return new WebGLRenderer({
27
- powerPreference: 'high-performance',
28
- canvas,
29
- antialias: true,
30
- alpha: true,
31
- ...glOptions,
32
- });
33
- }
34
- export function makeCameraInstance(isOrthographic, size) {
35
- if (isOrthographic)
36
- return new OrthographicCamera(0, 0, 0, 0, 0.1, 1000);
37
- return new PerspectiveCamera(75, size.width / size.height, 0.1, 1000);
38
- }
39
- export function makeObjectGraph(object) {
40
- const data = { nodes: {}, materials: {} };
41
- if (object) {
42
- object.traverse((child) => {
43
- if (child.name)
44
- data.nodes[child.name] = child;
45
- if ('material' in child && !data.materials[child.material.name]) {
46
- data.materials[child.material.name] = child.material;
47
- }
48
- });
49
- }
50
- return data;
51
- }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL21ha2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLFNBQVMsRUFBa0Isa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWxILE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUIsTUFBTSxPQUFPLEdBQTBDLEVBQUUsQ0FBQztBQUMxRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQXVCO0lBQzdDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7SUFDeEYsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QywwQkFBMEI7SUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBQ0QsT0FBTyxNQUFNLEVBQUUsQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxHQUFXLEVBQUUsTUFBZTtJQUNuRCx1RUFBdUU7SUFDdkUscUVBQXFFO0lBQ3JFLE1BQU0sTUFBTSxHQUFHLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUM5RSxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNuQyxTQUF1QixFQUN2QixNQUFlO0lBRWYsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFPLFNBQVMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFrQixDQUFDO0lBQzFHLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFBRSxPQUFPLGNBQWMsQ0FBQztJQUN2RCxPQUFPLElBQUksYUFBYSxDQUFDO1FBQ3hCLGVBQWUsRUFBRSxrQkFBa0I7UUFDbkMsTUFBTTtRQUNOLFNBQVMsRUFBRSxJQUFJO1FBQ2YsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLFNBQVM7S0FDWixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLGNBQXVCLEVBQUUsSUFBYTtJQUN4RSxJQUFJLGNBQWM7UUFBRSxPQUFPLElBQUksa0JBQWtCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RSxPQUFPLElBQUksaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQVFELE1BQU0sVUFBVSxlQUFlLENBQUMsTUFBZ0I7SUFDL0MsTUFBTSxJQUFJLEdBQWlCLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFFeEQsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNaLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFlLEVBQUUsRUFBRTtZQUNuQyxJQUFJLEtBQUssQ0FBQyxJQUFJO2dCQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUMvQyxJQUFJLFVBQVUsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFHLEtBQWMsQ0FBQyxRQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3pGLElBQUksQ0FBQyxTQUFTLENBQUcsS0FBYyxDQUFDLFFBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUksS0FBYyxDQUFDLFFBQW9CLENBQUM7WUFDcEcsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdGVyaWFsLCBNYXRoVXRpbHMsIE1lc2gsIE9iamVjdDNELCBPcnRob2dyYXBoaWNDYW1lcmEsIFBlcnNwZWN0aXZlQ2FtZXJhLCBXZWJHTFJlbmRlcmVyIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0Q2FudmFzRWxlbWVudCwgTmd0RHByLCBOZ3RHTE9wdGlvbnMsIE5ndEludGVyc2VjdGlvbiwgTmd0U2l6ZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGlzIH0gZnJvbSAnLi9pcyc7XG5cbmNvbnN0IGlkQ2FjaGU6IHsgW2lkOiBzdHJpbmddOiBib29sZWFuIHwgdW5kZWZpbmVkIH0gPSB7fTtcbmV4cG9ydCBmdW5jdGlvbiBtYWtlSWQoZXZlbnQ/OiBOZ3RJbnRlcnNlY3Rpb24pOiBzdHJpbmcge1xuXHRpZiAoZXZlbnQpIHtcblx0XHRyZXR1cm4gKGV2ZW50LmV2ZW50T2JqZWN0IHx8IGV2ZW50Lm9iamVjdCkudXVpZCArICcvJyArIGV2ZW50LmluZGV4ICsgZXZlbnQuaW5zdGFuY2VJZDtcblx0fVxuXG5cdGNvbnN0IG5ld0lkID0gTWF0aFV0aWxzLmdlbmVyYXRlVVVJRCgpO1xuXHQvLyBlbnN1cmUgbm90IGFscmVhZHkgdXNlZFxuXHRpZiAoIWlkQ2FjaGVbbmV3SWRdKSB7XG5cdFx0aWRDYWNoZVtuZXdJZF0gPSB0cnVlO1xuXHRcdHJldHVybiBuZXdJZDtcblx0fVxuXHRyZXR1cm4gbWFrZUlkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlRHByKGRwcjogTmd0RHByLCB3aW5kb3c/OiBXaW5kb3cpIHtcblx0Ly8gRXJyIG9uIHRoZSBzaWRlIG9mIHByb2dyZXNzIGJ5IGFzc3VtaW5nIDJ4IGRwciBpZiB3ZSBjYW4ndCBkZXRlY3QgaXRcblx0Ly8gVGhpcyB3aWxsIGhhcHBlbiBpbiB3b3JrZXJzIHdoZXJlIHdpbmRvdyBpcyBkZWZpbmVkIGJ1dCBkcHIgaXNuJ3QuXG5cdGNvbnN0IHRhcmdldCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gKHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvID8/IDIpIDogMTtcblx0cmV0dXJuIEFycmF5LmlzQXJyYXkoZHByKSA/IE1hdGgubWluKE1hdGgubWF4KGRwclswXSwgdGFyZ2V0KSwgZHByWzFdKSA6IGRwcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VSZW5kZXJlckluc3RhbmNlPFRDYW52YXMgZXh0ZW5kcyBOZ3RDYW52YXNFbGVtZW50Pihcblx0Z2xPcHRpb25zOiBOZ3RHTE9wdGlvbnMsXG5cdGNhbnZhczogVENhbnZhcyxcbik6IFdlYkdMUmVuZGVyZXIge1xuXHRjb25zdCBjdXN0b21SZW5kZXJlciA9ICh0eXBlb2YgZ2xPcHRpb25zID09PSAnZnVuY3Rpb24nID8gZ2xPcHRpb25zKGNhbnZhcykgOiBnbE9wdGlvbnMpIGFzIFdlYkdMUmVuZGVyZXI7XG5cdGlmIChpcy5yZW5kZXJlcihjdXN0b21SZW5kZXJlcikpIHJldHVybiBjdXN0b21SZW5kZXJlcjtcblx0cmV0dXJuIG5ldyBXZWJHTFJlbmRlcmVyKHtcblx0XHRwb3dlclByZWZlcmVuY2U6ICdoaWdoLXBlcmZvcm1hbmNlJyxcblx0XHRjYW52YXMsXG5cdFx0YW50aWFsaWFzOiB0cnVlLFxuXHRcdGFscGhhOiB0cnVlLFxuXHRcdC4uLmdsT3B0aW9ucyxcblx0fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlQ2FtZXJhSW5zdGFuY2UoaXNPcnRob2dyYXBoaWM6IGJvb2xlYW4sIHNpemU6IE5ndFNpemUpIHtcblx0aWYgKGlzT3J0aG9ncmFwaGljKSByZXR1cm4gbmV3IE9ydGhvZ3JhcGhpY0NhbWVyYSgwLCAwLCAwLCAwLCAwLjEsIDEwMDApO1xuXHRyZXR1cm4gbmV3IFBlcnNwZWN0aXZlQ2FtZXJhKDc1LCBzaXplLndpZHRoIC8gc2l6ZS5oZWlnaHQsIDAuMSwgMTAwMCk7XG59XG5cbmV4cG9ydCB0eXBlIE5ndE9iamVjdE1hcCA9IHtcblx0bm9kZXM6IFJlY29yZDxzdHJpbmcsIE9iamVjdDNEPGFueT4+O1xuXHRtYXRlcmlhbHM6IFJlY29yZDxzdHJpbmcsIE1hdGVyaWFsPjtcblx0W2tleTogc3RyaW5nXTogYW55O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VPYmplY3RHcmFwaChvYmplY3Q6IE9iamVjdDNEKTogTmd0T2JqZWN0TWFwIHtcblx0Y29uc3QgZGF0YTogTmd0T2JqZWN0TWFwID0geyBub2Rlczoge30sIG1hdGVyaWFsczoge30gfTtcblxuXHRpZiAob2JqZWN0KSB7XG5cdFx0b2JqZWN0LnRyYXZlcnNlKChjaGlsZDogT2JqZWN0M0QpID0+IHtcblx0XHRcdGlmIChjaGlsZC5uYW1lKSBkYXRhLm5vZGVzW2NoaWxkLm5hbWVdID0gY2hpbGQ7XG5cdFx0XHRpZiAoJ21hdGVyaWFsJyBpbiBjaGlsZCAmJiAhZGF0YS5tYXRlcmlhbHNbKChjaGlsZCBhcyBNZXNoKS5tYXRlcmlhbCBhcyBNYXRlcmlhbCkubmFtZV0pIHtcblx0XHRcdFx0ZGF0YS5tYXRlcmlhbHNbKChjaGlsZCBhcyBNZXNoKS5tYXRlcmlhbCBhcyBNYXRlcmlhbCkubmFtZV0gPSAoY2hpbGQgYXMgTWVzaCkubWF0ZXJpYWwgYXMgTWF0ZXJpYWw7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cmV0dXJuIGRhdGE7XG59XG4iXX0=