@carto/kepler.gl 0.0.47-alpha.custom-markers.3 → 0.0.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/index.js +1 -10
- package/dist/components/kepler-gl.js +1 -2
- package/dist/components/side-panel/layer-panel/layer-configurator.js +6 -14
- package/dist/constants/default-settings.js +5 -6
- package/dist/layers/base-layer.js +4 -79
- package/dist/layers/layer-factory.js +1 -23
- package/dist/layers/point-layer/point-layer.js +22 -101
- package/dist/localization/en.js +3 -8
- package/dist/utils/layer-utils.js +3 -5
- package/dist/utils/table-utils/kepler-table.js +10 -3
- package/package.json +5 -9
- package/src/components/index.js +0 -1
- package/src/components/kepler-gl.js +0 -1
- package/src/components/side-panel/layer-panel/layer-configurator.js +5 -19
- package/src/constants/default-settings.js +3 -7
- package/src/layers/base-layer.js +1 -62
- package/src/layers/layer-factory.js +0 -22
- package/src/layers/point-layer/point-layer.js +26 -121
- package/src/localization/en.js +2 -7
- package/src/utils/layer-utils.js +2 -4
- package/src/utils/table-utils/kepler-table.js +10 -1
- package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +0 -40
- package/src/components/side-panel/layer-panel/custom-markers-config-group.js +0 -30
package/dist/localization/en.js
CHANGED
|
@@ -29,8 +29,7 @@ var _default = {
|
|
|
29
29
|
density: 'density',
|
|
30
30
|
height: 'height',
|
|
31
31
|
sum: 'sum',
|
|
32
|
-
pointCount: 'Point Count'
|
|
33
|
-
customMarkers: 'Markers'
|
|
32
|
+
pointCount: 'Point Count'
|
|
34
33
|
},
|
|
35
34
|
placeholder: {
|
|
36
35
|
search: 'Search',
|
|
@@ -81,7 +80,6 @@ var _default = {
|
|
|
81
80
|
layer: {
|
|
82
81
|
required: 'Required*',
|
|
83
82
|
radius: 'Radius',
|
|
84
|
-
size: 'Size',
|
|
85
83
|
color: 'Color',
|
|
86
84
|
fillColor: 'Fill Color',
|
|
87
85
|
outline: 'Outline',
|
|
@@ -98,7 +96,6 @@ var _default = {
|
|
|
98
96
|
elevationByDescription: 'When off, height is based on count of points',
|
|
99
97
|
colorByDescription: 'When off, color is based on count of points',
|
|
100
98
|
aggregateBy: 'Aggregate {field} by',
|
|
101
|
-
addUrl: 'Add URL',
|
|
102
99
|
'3DModel': '3D Model',
|
|
103
100
|
'3DModelOptions': '3D Model Options',
|
|
104
101
|
type: {
|
|
@@ -159,9 +156,7 @@ var _default = {
|
|
|
159
156
|
weightIntensity: 'Weight Intensity',
|
|
160
157
|
zoomScale: 'Zoom Scale',
|
|
161
158
|
heightRange: 'Height Range',
|
|
162
|
-
heightMultiplier: 'Height Multiplier'
|
|
163
|
-
customMarkers: 'Custom markers',
|
|
164
|
-
url: 'Add URL'
|
|
159
|
+
heightMultiplier: 'Height Multiplier'
|
|
165
160
|
},
|
|
166
161
|
layerVisibility: {
|
|
167
162
|
title: 'Visibility by zoom level'
|
|
@@ -475,4 +470,4 @@ var _default = {
|
|
|
475
470
|
Share: 'Share'
|
|
476
471
|
};
|
|
477
472
|
exports["default"] = _default;
|
|
478
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vZW4uanMiXSwibmFtZXMiOlsicHJvcGVydHkiLCJ3ZWlnaHQiLCJsYWJlbCIsImZpbGxDb2xvciIsImNvbG9yIiwiY292ZXJhZ2UiLCJzdHJva2VDb2xvciIsInJhZGl1cyIsIm91dGxpbmUiLCJzdHJva2UiLCJkZW5zaXR5IiwiaGVpZ2h0Iiwic3VtIiwicG9pbnRDb3VudCIsImN1c3RvbU1hcmtlcnMiLCJwbGFjZWhvbGRlciIsInNlYXJjaCIsInNlbGVjdEZpZWxkIiwieUF4aXMiLCJzZWxlY3RUeXBlIiwic2VsZWN0VmFsdWUiLCJlbnRlclZhbHVlIiwiZW1wdHkiLCJtaXNjIiwiYnkiLCJ2YWx1ZXNJbiIsInZhbHVlRXF1YWxzIiwiZGF0YVNvdXJjZSIsImJydXNoUmFkaXVzIiwibWFwTGF5ZXJzIiwidGl0bGUiLCJyb2FkIiwiYm9yZGVyIiwiYnVpbGRpbmciLCJ3YXRlciIsImxhbmQiLCJwYW5lbCIsInRleHQiLCJsYWJlbFdpdGhJZCIsImZvbnRTaXplIiwiZm9udENvbG9yIiwidGV4dEFuY2hvciIsImFsaWdubWVudCIsImFkZE1vcmVMYWJlbCIsInNpZGViYXIiLCJwYW5lbHMiLCJsYXllciIsImZpbHRlciIsImludGVyYWN0aW9uIiwiYmFzZW1hcCIsInJlcXVpcmVkIiwic2l6ZSIsInByb3BlcnR5QmFzZWRPbiIsInN0cm9rZVdpZHRoIiwiYmFzaWMiLCJ0cmFpbExlbmd0aCIsInRyYWlsTGVuZ3RoRGVzY3JpcHRpb24iLCJuZXdMYXllciIsImVsZXZhdGlvbkJ5RGVzY3JpcHRpb24iLCJjb2xvckJ5RGVzY3JpcHRpb24iLCJhZ2dyZWdhdGVCeSIsImFkZFVybCIsInR5cGUiLCJwb2ludCIsImFyYyIsImxpbmUiLCJncmlkIiwiaGV4YmluIiwicG9seWdvbiIsImdlb2pzb24iLCJjbHVzdGVyIiwiaWNvbiIsImhlYXRtYXAiLCJoZXhhZ29uIiwiaGV4YWdvbmlkIiwidHJpcCIsInMyIiwiY29sb3JSYW5nZSIsImxheWVyVmlzQ29uZmlncyIsImFuZ2xlIiwic3Ryb2tlV2lkdGhSYW5nZSIsImZpeGVkUmFkaXVzIiwiZml4ZWRSYWRpdXNEZXNjcmlwdGlvbiIsInJhZGl1c1JhbmdlIiwiY2x1c3RlclJhZGl1cyIsInJhZGl1c1JhbmdlUGl4ZWxzIiwib3BhY2l0eSIsInN0cm9rZUNvbG9yUmFuZ2UiLCJ0YXJnZXRDb2xvciIsImNvbG9yQWdncmVnYXRpb24iLCJoZWlnaHRBZ2dyZWdhdGlvbiIsInJlc29sdXRpb25SYW5nZSIsInNpemVTY2FsZSIsIndvcmxkVW5pdFNpemUiLCJlbGV2YXRpb25TY2FsZSIsImVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3IiLCJlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yRGVzY3JpcHRpb24iLCJlbmFibGVIZWlnaHRab29tRmFjdG9yIiwiaGVpZ2h0U2NhbGUiLCJjb3ZlcmFnZVJhbmdlIiwiaGlnaFByZWNpc2lvblJlbmRlcmluZyIsImhpZ2hQcmVjaXNpb25SZW5kZXJpbmdEZXNjcmlwdGlvbiIsImhlaWdodERlc2NyaXB0aW9uIiwiZmlsbCIsImVuYWJsZVBvbHlnb25IZWlnaHQiLCJzaG93V2lyZWZyYW1lIiwid2VpZ2h0SW50ZW5zaXR5Iiwiem9vbVNjYWxlIiwiaGVpZ2h0UmFuZ2UiLCJoZWlnaHRNdWx0aXBsaWVyIiwidXJsIiwibGF5ZXJWaXNpYmlsaXR5IiwibGF5ZXJNYW5hZ2VyIiwiYWRkRGF0YSIsImFkZExheWVyIiwibGF5ZXJCbGVuZGluZyIsIm1hcE1hbmFnZXIiLCJtYXBTdHlsZSIsImFkZE1hcFN0eWxlIiwibGF5ZXJDb25maWd1cmF0aW9uIiwiZGVmYXVsdERlc2NyaXB0aW9uIiwiaG93VG8iLCJmaWx0ZXJNYW5hZ2VyIiwiYWRkRmlsdGVyIiwiZGF0YXNldFRpdGxlIiwic2hvd0RhdGFUYWJsZSIsInJlbW92ZURhdGFzZXQiLCJkYXRhc2V0SW5mbyIsInJvd0NvdW50IiwidG9vbHRpcCIsImhpZGVMYXllciIsInNob3dMYXllciIsImhpZGVGZWF0dXJlIiwic2hvd0ZlYXR1cmUiLCJoaWRlIiwic2hvdyIsInJlbW92ZUxheWVyIiwiZHVwbGljYXRlTGF5ZXIiLCJsYXllclNldHRpbmdzIiwiY2xvc2VQYW5lbCIsInN3aXRjaFRvRHVhbFZpZXciLCJzaG93TGVnZW5kIiwiZGlzYWJsZTNETWFwIiwiRHJhd09uTWFwIiwic2VsZWN0TG9jYWxlIiwiaGlkZUxheWVyUGFuZWwiLCJzaG93TGF5ZXJQYW5lbCIsIm1vdmVUb1RvcCIsInNlbGVjdEJhc2VNYXBTdHlsZSIsInRpbWVQbGF5YmFjayIsImNsb3VkU3RvcmFnZSIsImFuaW1hdGlvbkJ5V2luZG93IiwiYW5pbWF0aW9uQnlJbmNyZW1lbnRhbCIsInNwZWVkIiwicGxheSIsInBhdXNlIiwicmVzZXQiLCJ0b29sYmFyIiwiZXhwb3J0SW1hZ2UiLCJleHBvcnREYXRhIiwiZXhwb3J0TWFwIiwic2hhcmVNYXBVUkwiLCJzYXZlTWFwIiwic2VsZWN0IiwicmVjdGFuZ2xlIiwiTE9DQUxFUyIsImVkaXRvciIsImZpbHRlckxheWVyIiwiY29weUdlb21ldHJ5IiwibW9kYWwiLCJkZWxldGVEYXRhc2V0IiwiYWRkRGF0YVRvTWFwIiwiYWRkQ3VzdG9tTWFwYm94U3R5bGUiLCJzaGFyZVVSTCIsImJ1dHRvbiIsImRvd25sb2FkIiwiYWRkU3R5bGUiLCJzYXZlIiwiZGVmYXVsdENhbmNlbCIsImRlZmF1bHRDb25maXJtIiwicmF0aW9UaXRsZSIsInJhdGlvRGVzY3JpcHRpb24iLCJyYXRpb09yaWdpbmFsU2NyZWVuIiwicmF0aW9DdXN0b20iLCJyYXRpbzRfMyIsInJhdGlvMTZfOSIsInJlc29sdXRpb25UaXRsZSIsInJlc29sdXRpb25EZXNjcmlwdGlvbiIsIm1hcExlZ2VuZFRpdGxlIiwibWFwTGVnZW5kQWRkIiwiZGF0YXNldFN1YnRpdGxlIiwiYWxsRGF0YXNldHMiLCJkYXRhVHlwZVRpdGxlIiwiZGF0YVR5cGVTdWJ0aXRsZSIsImZpbHRlckRhdGFUaXRsZSIsImZpbHRlckRhdGFTdWJ0aXRsZSIsImZpbHRlcmVkRGF0YSIsInVuZmlsdGVyZWREYXRhIiwiZmlsZUNvdW50IiwiZGVsZXRlRGF0YSIsIndhcm5pbmciLCJwdWJsaXNoVGl0bGUiLCJwdWJsaXNoU3VidGl0bGUxIiwicHVibGlzaFN1YnRpdGxlMiIsInB1Ymxpc2hTdWJ0aXRsZTMiLCJwdWJsaXNoU3VidGl0bGU0IiwicHVibGlzaFN1YnRpdGxlNSIsInB1Ymxpc2hTdWJ0aXRsZTYiLCJwdWJsaXNoU3VidGl0bGU3IiwiZXhhbXBsZVRva2VuIiwicGFzdGVUaXRsZSIsInBhc3RlU3VidGl0bGUwIiwicGFzdGVTdWJ0aXRsZTEiLCJwYXN0ZVN1YnRpdGxlMiIsInBhc3RlU3VidGl0bGUzIiwicGFzdGVTdWJ0aXRsZTQiLCJuYW1pbmdUaXRsZSIsInNoYXJlTWFwIiwic2hhcmVVcmlUaXRsZSIsInNoYXJlVXJpU3VidGl0bGUiLCJjbG91ZFRpdGxlIiwiY2xvdWRTdWJ0aXRsZSIsInNoYXJlRGlzY2xhaW1lciIsImdvdG9QYWdlIiwic3RhdHVzUGFuZWwiLCJtYXBVcGxvYWRpbmciLCJlcnJvciIsInN1YnRpdGxlIiwiZm9ybWF0VGl0bGUiLCJmb3JtYXRTdWJ0aXRsZSIsImh0bWwiLCJzZWxlY3Rpb24iLCJ0b2tlblRpdGxlIiwidG9rZW5TdWJ0aXRsZSIsInRva2VuUGxhY2Vob2xkZXIiLCJ0b2tlbk1pc3VzZVdhcm5pbmciLCJ0b2tlbkRpc2NsYWltZXIiLCJ0b2tlblVwZGF0ZSIsIm1vZGVUaXRsZSIsIm1vZGVTdWJ0aXRsZTEiLCJtb2RlU3VidGl0bGUyIiwibW9kZURlc2NyaXB0aW9uIiwicmVhZCIsImVkaXQiLCJqc29uIiwiY29uZmlnVGl0bGUiLCJjb25maWdEaXNjbGFpbWVyIiwiZGlzY2xhaW1lciIsImxvYWRpbmdEaWFsb2ciLCJsb2FkaW5nIiwibG9hZERhdGEiLCJ1cGxvYWQiLCJzdG9yYWdlIiwidHJpcEluZm8iLCJkZXNjcmlwdGlvbjEiLCJjb2RlIiwiZGVzY3JpcHRpb24yIiwiZXhhbXBsZSIsImljb25JbmZvIiwiaWNvbnMiLCJzdG9yYWdlTWFwVmlld2VyIiwibGFzdE1vZGlmaWVkIiwiYmFjayIsIm92ZXJ3cml0ZU1hcCIsImFscmVhZHlFeGlzdHMiLCJsb2FkU3RvcmFnZU1hcCIsImdvVG9QYWdlIiwic3RvcmFnZU1hcHMiLCJub1NhdmVkTWFwcyIsImhlYWRlciIsInZpc2libGVMYXllcnMiLCJsYXllckxlZ2VuZCIsImludGVyYWN0aW9ucyIsImJydXNoIiwiY29vcmRpbmF0ZSIsImdlb2NvZGVyIiwiYWRkaXRpdmUiLCJub3JtYWwiLCJzdWJ0cmFjdGl2ZSIsImNvbHVtbnMiLCJsYXQiLCJsbmciLCJhbHRpdHVkZSIsInRva2VuIiwibGF0MCIsImxuZzAiLCJsYXQxIiwibG5nMSIsImFsdDAiLCJhbHQxIiwiaGV4X2lkIiwiY3VzdG9tUGFsZXR0ZSIsInN0ZXBzIiwicmV2ZXJzZWQiLCJhcHBseSIsImNhbmNlbCIsImFkZFN0ZXAiLCJzY2FsZSIsImNvbG9yU2NhbGUiLCJzdHJva2VTY2FsZSIsImZpbGVVcGxvYWRlciIsIm1lc3NhZ2UiLCJjaHJvbWVNZXNzYWdlIiwiY29uZmlnVXBsb2FkTWVzc2FnZSIsImJyb3dzZUZpbGVzIiwidXBsb2FkaW5nIiwiZmlsZU5vdFN1cHBvcnRlZCIsIm9yIiwiZmllbGRTZWxlY3RvciIsImNsZWFyQWxsIiwiZm9ybWF0dGluZyIsImNvbXBhcmUiLCJtb2RlTGFiZWwiLCJ0eXBlTGFiZWwiLCJ0eXBlcyIsImFic29sdXRlIiwicmVsYXRpdmUiLCJtYXBQb3BvdmVyIiwicHJpbWFyeSIsIlNhdmUiLCJTaGFyZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7Ozs7OztlQUVlO0FBQ2JBLEVBQUFBLFFBQVEsRUFBRTtBQUNSQyxJQUFBQSxNQUFNLEVBQUUsUUFEQTtBQUVSQyxJQUFBQSxLQUFLLEVBQUUsT0FGQztBQUdSQyxJQUFBQSxTQUFTLEVBQUUsWUFISDtBQUlSQyxJQUFBQSxLQUFLLEVBQUUsT0FKQztBQUtSQyxJQUFBQSxRQUFRLEVBQUUsVUFMRjtBQU1S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QUFBQSxRQUFRLEVBQUU7QUFGTDtBQUhBLEdBNWNJO0FBb2RiQyxFQUFBQSxVQUFVLEVBQUU7QUFDVkMsSUFBQUEsT0FBTyxFQUFFO0FBREMsR0FwZEM7QUF1ZGJwVCxFQUFBQSxPQUFPLEVBQUUsU0F2ZEk7QUF3ZGIsZ0JBQWMsWUF4ZEQ7QUF5ZGIsZ0JBQWMsWUF6ZEQ7QUEwZGJxVCxFQUFBQSxJQUFJLEVBQUUsTUExZE87QUEyZGJDLEVBQUFBLEtBQUssRUFBRTtBQTNkTSxDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtMT0NBTEVTfSBmcm9tICcuL2xvY2FsZXMnO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHByb3BlcnR5OiB7XG4gICAgd2VpZ2h0OiAnd2VpZ2h0JyxcbiAgICBsYWJlbDogJ2xhYmVsJyxcbiAgICBmaWxsQ29sb3I6ICdmaWxsIGNvbG9yJyxcbiAgICBjb2xvcjogJ2NvbG9yJyxcbiAgICBjb3ZlcmFnZTogJ2NvdmVyYWdlJyxcbiAgICBzdHJva2VDb2xvcjogJ3N0cm9rZSBjb2xvcicsXG4gICAgcmFkaXVzOiAncmFkaXVzJyxcbiAgICBvdXRsaW5lOiAnb3V0bGluZScsXG4gICAgc3Ryb2tlOiAnc3Ryb2tlJyxcbiAgICBkZW5zaXR5OiAnZGVuc2l0eScsXG4gICAgaGVpZ2h0OiAnaGVpZ2h0JyxcbiAgICBzdW06ICdzdW0nLFxuICAgIHBvaW50Q291bnQ6ICdQb2ludCBDb3VudCcsXG4gICAgY3VzdG9tTWFya2VyczogJ01hcmtlcnMnXG4gIH0sXG4gIHBsYWNlaG9sZGVyOiB7XG4gICAgc2VhcmNoOiAnU2VhcmNoJyxcbiAgICBzZWxlY3RGaWVsZDogJ1NlbGVjdCBhIGZpZWxkJyxcbiAgICB5QXhpczogJ1kgQXhpcycsXG4gICAgc2VsZWN0VHlwZTogJ1NlbGVjdCBBIFR5cGUnLFxuICAgIHNlbGVjdFZhbHVlOiAnU2VsZWN0IEEgVmFsdWUnLFxuICAgIGVudGVyVmFsdWU6ICdFbnRlciBhIHZhbHVlJyxcbiAgICBlbXB0eTogJ2VtcHR5J1xuICB9LFxuICBtaXNjOiB7XG4gICAgYnk6ICcnLFxuICAgIHZhbHVlc0luOiAnVmFsdWVzIGluJyxcbiAgICB2YWx1ZUVxdWFsczogJ1ZhbHVlIGVxdWFscycsXG4gICAgZGF0YVNvdXJjZTogJ0RhdGEgU291cmNlJyxcbiAgICBicnVzaFJhZGl1czogJ0JydXNoIFJhZGl1cyAoa20pJyxcbiAgICBlbXB0eTogJyAnXG4gIH0sXG4gIG1hcExheWVyczoge1xuICAgIHRpdGxlOiAnTWFwIExheWVycycsXG4gICAgbGFiZWw6ICdMYWJlbCcsXG4gICAgcm9hZDogJ1JvYWQnLFxuICAgIGJvcmRlcjogJ0JvcmRlcicsXG4gICAgYnVpbGRpbmc6ICdCdWlsZGluZycsXG4gICAgd2F0ZXI6ICdXYXRlcicsXG4gICAgbGFuZDogJ0xhbmQnLFxuICAgICczZEJ1aWxkaW5nJzogJzNkIEJ1aWxkaW5nJ1xuICB9LFxuICBwYW5lbDoge1xuICAgIHRleHQ6IHtcbiAgICAgIGxhYmVsOiAnbGFiZWwnLFxuICAgICAgbGFiZWxXaXRoSWQ6ICdMYWJlbCB7bGFiZWxJZH0nLFxuICAgICAgZm9udFNpemU6ICdGb250IHNpemUnLFxuICAgICAgZm9udENvbG9yOiAnRm9udCBjb2xvcicsXG4gICAgICB0ZXh0QW5jaG9yOiAnVGV4dCBhbmNob3InLFxuICAgICAgYWxpZ25tZW50OiAnQWxpZ25tZW50JyxcbiAgICAgIGFkZE1vcmVMYWJlbDogJ0FkZCBNb3JlIExhYmVsJ1xuICAgIH1cbiAgfSxcbiAgc2lkZWJhcjoge1xuICAgIHBhbmVsczoge1xuICAgICAgbGF5ZXI6ICdMYXllcnMnLFxuICAgICAgZmlsdGVyOiAnRmlsdGVycycsXG4gICAgICBpbnRlcmFjdGlvbjogJ0ludGVyYWN0aW9ucycsXG4gICAgICBiYXNlbWFwOiAnQmFzZSBtYXAnXG4gICAgfVxuICB9LFxuICBsYXllcjoge1xuICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQqJyxcbiAgICByYWRpdXM6ICdSYWRpdXMnLFxuICAgIHNpemU6ICdTaXplJyxcbiAgICBjb2xvcjogJ0NvbG9yJyxcbiAgICBmaWxsQ29sb3I6ICdGaWxsIENvbG9yJyxcbiAgICBvdXRsaW5lOiAnT3V0bGluZScsXG4gICAgd2VpZ2h0OiAnV2VpZ2h0JyxcbiAgICBwcm9wZXJ0eUJhc2VkT246ICd7cHJvcGVydHl9IGJhc2VkIG9uJyxcbiAgICBjb3ZlcmFnZTogJ0NvdmVyYWdlJyxcbiAgICBzdHJva2U6ICdTdHJva2UnLFxuICAgIHN0cm9rZVdpZHRoOiAnU3Ryb2tlIFdpZHRoJyxcbiAgICBzdHJva2VDb2xvcjogJ1N0cm9rZSBDb2xvcicsXG4gICAgYmFzaWM6ICdCYXNpYycsXG4gICAgdHJhaWxMZW5ndGg6ICdUcmFpbCBMZW5ndGgnLFxuICAgIHRyYWlsTGVuZ3RoRGVzY3JpcHRpb246ICdOdW1iZXIgb2Ygc2Vjb25kcyBmb3IgYSBwYXRoIHRvIGNvbXBsZXRlbHkgZmFkZSBvdXQnLFxuICAgIG5ld0xheWVyOiAnbmV3IGxheWVyJyxcbiAgICBlbGV2YXRpb25CeURlc2NyaXB0aW9uOiAnV2hlbiBvZmYsIGhlaWdodCBpcyBiYXNlZCBvbiBjb3VudCBvZiBwb2ludHMnLFxuICAgIGNvbG9yQnlEZXNjcmlwdGlvbjogJ1doZW4gb2ZmLCBjb2xvciBpcyBiYXNlZCBvbiBjb3VudCBvZiBwb2ludHMnLFxuICAgIGFnZ3JlZ2F0ZUJ5OiAnQWdncmVnYXRlIHtmaWVsZH0gYnknLFxuICAgIGFkZFVybDogJ0FkZCBVUkwnLFxuICAgICczRE1vZGVsJzogJzNEIE1vZGVsJyxcbiAgICAnM0RNb2RlbE9wdGlvbnMnOiAnM0QgTW9kZWwgT3B0aW9ucycsXG4gICAgdHlwZToge1xuICAgICAgcG9pbnQ6ICdwb2ludCcsXG4gICAgICBhcmM6ICdhcmMnLFxuICAgICAgbGluZTogJ2xpbmUnLFxuICAgICAgZ3JpZDogJ2dyaWQnLFxuICAgICAgaGV4YmluOiAnaGV4YmluJyxcbiAgICAgIHBvbHlnb246ICdwb2x5Z29uJyxcbiAgICAgIGdlb2pzb246ICdnZW9qc29uJyxcbiAgICAgIGNsdXN0ZXI6ICdjbHVzdGVyJyxcbiAgICAgIGljb246ICdpY29uJyxcbiAgICAgIGhlYXRtYXA6ICdoZWF0bWFwJyxcbiAgICAgIGhleGFnb246ICdoZXhhZ29uJyxcbiAgICAgIGhleGFnb25pZDogJ0gzJyxcbiAgICAgIHRyaXA6ICd0cmlwJyxcbiAgICAgIHMyOiAnUzInLFxuICAgICAgJzNkJzogJzNEJ1xuICAgIH0sXG4gICAgY29sb3JSYW5nZTogJ1BhbGV0dGUnXG4gIH0sXG4gIGxheWVyVmlzQ29uZmlnczoge1xuICAgIGFuZ2xlOiAnQW5nbGUnLFxuICAgIHN0cm9rZVdpZHRoOiAnU3Ryb2tlIFdpZHRoIChQaXhlbHMpJyxcbiAgICBzdHJva2VXaWR0aFJhbmdlOiAnU3Ryb2tlIFdpZHRoIFJhbmdlJyxcbiAgICByYWRpdXM6ICdSYWRpdXMnLFxuICAgIGZpeGVkUmFkaXVzOiAnRml4ZWQgUmFkaXVzIHRvIG1ldGVyJyxcbiAgICBmaXhlZFJhZGl1c0Rlc2NyaXB0aW9uOiAnTWFwIHJhZGl1cyB0byBhYnNvbHV0ZSByYWRpdXMgaW4gbWV0ZXJzLCBlLmcuIDUgdG8gNSBtZXRlcnMnLFxuICAgIHJhZGl1c1JhbmdlOiAnUmFkaXVzIFJhbmdlJyxcbiAgICBjbHVzdGVyUmFkaXVzOiAnQ2x1c3RlciBSYWRpdXMgaW4gUGl4ZWxzJyxcbiAgICByYWRpdXNSYW5nZVBpeGVsczogJ1JhZGl1cyBSYW5nZSBpbiBwaXhlbHMnLFxuICAgIG9wYWNpdHk6ICdPcGFjaXR5JyxcbiAgICBjb3ZlcmFnZTogJ0NvdmVyYWdlJyxcbiAgICBvdXRsaW5lOiAnT3V0bGluZScsXG4gICAgY29sb3JSYW5nZTogJ0NvbG9yIHJhbmdlJyxcbiAgICBzdHJva2U6ICdTdHJva2UnLFxuICAgIHN0cm9rZUNvbG9yOiAnU3Ryb2tlIENvbG9yJyxcbiAgICBzdHJva2VDb2xvclJhbmdlOiAnU3Ryb2tlIENvbG9yIHJhbmdlJyxcbiAgICB0YXJnZXRDb2xvcjogJ1RhcmdldCBDb2xvcicsXG4gICAgY29sb3JBZ2dyZWdhdGlvbjogJ0NvbG9yIEFnZ3JlZ2F0aW9uJyxcbiAgICBoZWlnaHRBZ2dyZWdhdGlvbjogJ0hlaWdodCBBZ2dyZWdhdGlvbicsXG4gICAgcmVzb2x1dGlvblJhbmdlOiAnUmVzb2x1dGlvbiByYW5nZScsXG4gICAgc2l6ZVNjYWxlOiAnU2l6ZSBTY2FsZScsXG4gICAgd29ybGRVbml0U2l6ZTogJ1dvcmxkIFVuaXQgU2l6ZScsXG4gICAgZWxldmF0aW9uU2NhbGU6ICdFbGV2YXRpb24gU2NhbGUnLFxuICAgIGVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3I6ICdVc2UgZWxldmF0aW9uIHpvb20gZmFjdG9yJyxcbiAgICBlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yRGVzY3JpcHRpb246ICdBZGp1c3QgaGVpZ2h0L2VsZXZhdGlvbiBiYXNlZCBvbiBjdXJyZW50IHpvb20gZmFjdG9yJyxcbiAgICBlbmFibGVIZWlnaHRab29tRmFjdG9yOiAnVXNlIGhlaWdodCB6b29tIGZhY3RvcicsXG4gICAgaGVpZ2h0U2NhbGU6ICdIZWlnaHQgU2NhbGUnLFxuICAgIGNvdmVyYWdlUmFuZ2U6ICdDb3ZlcmFnZSBSYW5nZScsXG4gICAgaGlnaFByZWNpc2lvblJlbmRlcmluZzogJ0hpZ2ggUHJlY2lzaW9uIFJlbmRlcmluZycsXG4gICAgaGlnaFByZWNpc2lvblJlbmRlcmluZ0Rlc2NyaXB0aW9uOiAnSGlnaCBwcmVjaXNpb24gd2lsbCByZXN1bHQgaW4gc2xvd2VyIHBlcmZvcm1hbmNlJyxcbiAgICBoZWlnaHQ6ICdIZWlnaHQnLFxuICAgIGhlaWdodERlc2NyaXB0aW9uOiAnQ2xpY2sgYnV0dG9uIGF0IHRvcCByaWdodCBvZiB0aGUgbWFwIHRvIHN3aXRjaCB0byAzZCB2aWV3JyxcbiAgICBmaWxsOiAnRmlsbCcsXG4gICAgZW5hYmxlUG9seWdvbkhlaWdodDogJ0VuYWJsZSBQb2x5Z29uIEhlaWdodCcsXG4gICAgc2hvd1dpcmVmcmFtZTogJ1Nob3cgV2lyZWZyYW1lJyxcbiAgICB3ZWlnaHRJbnRlbnNpdHk6ICdXZWlnaHQgSW50ZW5zaXR5JyxcbiAgICB6b29tU2NhbGU6ICdab29tIFNjYWxlJyxcbiAgICBoZWlnaHRSYW5nZTogJ0hlaWdodCBSYW5nZScsXG4gICAgaGVpZ2h0TXVsdGlwbGllcjogJ0hlaWdodCBNdWx0aXBsaWVyJyxcbiAgICBjdXN0b21NYXJrZXJzOiAnQ3VzdG9tIG1hcmtlcnMnLFxuICAgIHVybDogJ0FkZCBVUkwnXG4gIH0sXG4gIGxheWVyVmlzaWJpbGl0eToge1xuICAgIHRpdGxlOiAnVmlzaWJpbGl0eSBieSB6b29tIGxldmVsJ1xuICB9LFxuICBsYXllck1hbmFnZXI6IHtcbiAgICBhZGREYXRhOiAnQWRkIERhdGEnLFxuICAgIGFkZExheWVyOiAnQWRkIExheWVyJyxcbiAgICBsYXllckJsZW5kaW5nOiAnTGF5ZXIgQmxlbmRpbmcnXG4gIH0sXG4gIG1hcE1hbmFnZXI6IHtcbiAgICBtYXBTdHlsZTogJ01hcCBzdHlsZScsXG4gICAgYWRkTWFwU3R5bGU6ICdBZGQgTWFwIFN0eWxlJyxcbiAgICAnM2RCdWlsZGluZ0NvbG9yJzogJzNEIEJ1aWxkaW5nIENvbG9yJ1xuICB9LFxuICBsYXllckNvbmZpZ3VyYXRpb246IHtcbiAgICBkZWZhdWx0RGVzY3JpcHRpb246ICdDYWxjdWxhdGUge3Byb3BlcnR5fSBiYXNlZCBvbiBzZWxlY3RlZCBmaWVsZCcsXG4gICAgaG93VG86ICdIb3cgdG8nXG4gIH0sXG4gIGZpbHRlck1hbmFnZXI6IHtcbiAgICBhZGRGaWx0ZXI6ICdBZGQgRmlsdGVyJ1xuICB9LFxuICBkYXRhc2V0VGl0bGU6IHtcbiAgICBzaG93RGF0YVRhYmxlOiAnU2hvdyBkYXRhIHRhYmxlJyxcbiAgICByZW1vdmVEYXRhc2V0OiAnUmVtb3ZlIGRhdGFzZXQnXG4gIH0sXG4gIGRhdGFzZXRJbmZvOiB7XG4gICAgcm93Q291bnQ6ICd7cm93Q291bnR9IHJvd3MnXG4gIH0sXG4gIHRvb2x0aXA6IHtcbiAgICBoaWRlTGF5ZXI6ICdoaWRlIGxheWVyJyxcbiAgICBzaG93TGF5ZXI6ICdzaG93IGxheWVyJyxcbiAgICBoaWRlRmVhdHVyZTogJ0hpZGUgRmVhdHVyZScsXG4gICAgc2hvd0ZlYXR1cmU6ICdTaG93IGZlYXR1cmUnLFxuICAgIGhpZGU6ICdoaWRlJyxcbiAgICBzaG93OiAnc2hvdycsXG4gICAgcmVtb3ZlTGF5ZXI6ICdSZW1vdmUgbGF5ZXInLFxuICAgIGR1cGxpY2F0ZUxheWVyOiAnRHVwbGljYXRlIGxheWVyJyxcbiAgICBsYXllclNldHRpbmdzOiAnTGF5ZXIgc2V0dGluZ3MnLFxuICAgIGNsb3NlUGFuZWw6ICdDbG9zZSBjdXJyZW50IHBhbmVsJyxcbiAgICBzd2l0Y2hUb0R1YWxWaWV3OiAnU3dpdGNoIHRvIGR1YWwgbWFwIHZpZXcnLFxuICAgIHNob3dMZWdlbmQ6ICdzaG93IGxlZ2VuZCcsXG4gICAgZGlzYWJsZTNETWFwOiAnRGlzYWJsZSAzRCBNYXAnLFxuICAgIERyYXdPbk1hcDogJ0RyYXcgb24gbWFwJyxcbiAgICBzZWxlY3RMb2NhbGU6ICdTZWxlY3QgbG9jYWxlJyxcbiAgICBoaWRlTGF5ZXJQYW5lbDogJ0hpZGUgbGF5ZXIgcGFuZWwnLFxuICAgIHNob3dMYXllclBhbmVsOiAnU2hvdyBsYXllciBwYW5lbCcsXG4gICAgbW92ZVRvVG9wOiAnTW92ZSB0byB0b3Agb2YgZGF0YSBsYXllcnMnLFxuICAgIHNlbGVjdEJhc2VNYXBTdHlsZTogJ1NlbGVjdCBCYXNlIE1hcCBTdHlsZScsXG4gICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICB0aW1lUGxheWJhY2s6ICdUaW1lIFBsYXliYWNrJyxcbiAgICBjbG91ZFN0b3JhZ2U6ICdDbG91ZCBTdG9yYWdlJyxcbiAgICAnM0RNYXAnOiAnM0QgTWFwJyxcbiAgICBhbmltYXRpb25CeVdpbmRvdzogJ01vdmluZyBUaW1lIFdpbmRvdycsXG4gICAgYW5pbWF0aW9uQnlJbmNyZW1lbnRhbDogJ0luY3JlbWVudGFsIFRpbWUgV2luZG93JyxcbiAgICBzcGVlZDogJ3NwZWVkJyxcbiAgICBwbGF5OiAncGxheScsXG4gICAgcGF1c2U6ICdwYXVzZScsXG4gICAgcmVzZXQ6ICdyZXNldCdcbiAgfSxcbiAgdG9vbGJhcjoge1xuICAgIGV4cG9ydEltYWdlOiAnRXhwb3J0IEltYWdlJyxcbiAgICBleHBvcnREYXRhOiAnRXhwb3J0IERhdGEnLFxuICAgIGV4cG9ydE1hcDogJ0V4cG9ydCBNYXAnLFxuICAgIHNoYXJlTWFwVVJMOiAnU2hhcmUgTWFwIFVSTCcsXG4gICAgc2F2ZU1hcDogJ1NhdmUgTWFwJyxcbiAgICBzZWxlY3Q6ICdTZWxlY3QnLFxuICAgIHBvbHlnb246ICdQb2x5Z29uJyxcbiAgICByZWN0YW5nbGU6ICdSZWN0YW5nbGUnLFxuICAgIGhpZGU6ICdIaWRlJyxcbiAgICBzaG93OiAnU2hvdycsXG4gICAgLi4uTE9DQUxFU1xuICB9LFxuICBlZGl0b3I6IHtcbiAgICBmaWx0ZXJMYXllcjogJ0ZpbHRlciBMYXllcnMnLFxuICAgIGNvcHlHZW9tZXRyeTogJ0NvcHkgR2VvbWV0cnknXG4gIH0sXG5cbiAgbW9kYWw6IHtcbiAgICB0aXRsZToge1xuICAgICAgZGVsZXRlRGF0YXNldDogJ0RlbGV0ZSBEYXRhc2V0JyxcbiAgICAgIGFkZERhdGFUb01hcDogJ0FkZCBEYXRhIFRvIE1hcCcsXG4gICAgICBleHBvcnRJbWFnZTogJ0V4cG9ydCBJbWFnZScsXG4gICAgICBleHBvcnREYXRhOiAnRXhwb3J0IERhdGEnLFxuICAgICAgZXhwb3J0TWFwOiAnRXhwb3J0IE1hcCcsXG4gICAgICBhZGRDdXN0b21NYXBib3hTdHlsZTogJ0FkZCBDdXN0b20gTWFwIFN0eWxlJyxcbiAgICAgIHNhdmVNYXA6ICdTYXZlIE1hcCcsXG4gICAgICBzaGFyZVVSTDogJ1NoYXJlIFVSTCdcbiAgICB9LFxuICAgIGJ1dHRvbjoge1xuICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgIGRvd25sb2FkOiAnRG93bmxvYWQnLFxuICAgICAgZXhwb3J0OiAnRXhwb3J0JyxcbiAgICAgIGFkZFN0eWxlOiAnQWRkIFN0eWxlJyxcbiAgICAgIHNhdmU6ICdTYXZlJyxcbiAgICAgIGRlZmF1bHRDYW5jZWw6ICdDYW5jZWwnLFxuICAgICAgZGVmYXVsdENvbmZpcm06ICdDb25maXJtJ1xuICAgIH0sXG4gICAgZXhwb3J0SW1hZ2U6IHtcbiAgICAgIHJhdGlvVGl0bGU6ICdSYXRpbycsXG4gICAgICByYXRpb0Rlc2NyaXB0aW9uOiAnQ2hvb3NlIHRoZSByYXRpbyBmb3IgdmFyaW91cyB1c2FnZXMuJyxcbiAgICAgIHJhdGlvT3JpZ2luYWxTY3JlZW46ICdPcmlnaW5hbCBTY3JlZW4nLFxuICAgICAgcmF0aW9DdXN0b206ICdDdXN0b20nLFxuICAgICAgcmF0aW80XzM6ICc0OjMnLFxuICAgICAgcmF0aW8xNl85OiAnMTY6OScsXG4gICAgICByZXNvbHV0aW9uVGl0bGU6ICdSZXNvbHV0aW9uJyxcbiAgICAgIHJlc29sdXRpb25EZXNjcmlwdGlvbjogJ0hpZ2ggcmVzb2x1dGlvbiBpcyBiZXR0ZXIgZm9yIHByaW50cy4nLFxuICAgICAgbWFwTGVnZW5kVGl0bGU6ICdNYXAgTGVnZW5kJyxcbiAgICAgIG1hcExlZ2VuZEFkZDogJ0FkZCBsZWdlbmQgb24gbWFwJ1xuICAgIH0sXG4gICAgZXhwb3J0RGF0YToge1xuICAgICAgZGF0YXNldFRpdGxlOiAnRGF0YXNldCcsXG4gICAgICBkYXRhc2V0U3VidGl0bGU6ICdDaG9vc2UgdGhlIGRhdGFzZXRzIHlvdSB3YW50IHRvIGV4cG9ydCcsXG4gICAgICBhbGxEYXRhc2V0czogJ0FsbCcsXG4gICAgICBkYXRhVHlwZVRpdGxlOiAnRGF0YSBUeXBlJyxcbiAgICAgIGRhdGFUeXBlU3VidGl0bGU6ICdDaG9vc2UgdGhlIHR5cGUgb2YgZGF0YSB5b3Ugd2FudCB0byBleHBvcnQnLFxuICAgICAgZmlsdGVyRGF0YVRpdGxlOiAnRmlsdGVyIERhdGEnLFxuICAgICAgZmlsdGVyRGF0YVN1YnRpdGxlOiAnWW91IGNhbiBjaG9vc2UgZXhwb3J0aW5nIG9yaWdpbmFsIGRhdGEgb3IgZmlsdGVyZWQgZGF0YScsXG4gICAgICBmaWx0ZXJlZERhdGE6ICdGaWx0ZXJlZCBkYXRhJyxcbiAgICAgIHVuZmlsdGVyZWREYXRhOiAnVW5maWx0ZXJlZCBEYXRhJyxcbiAgICAgIGZpbGVDb3VudDogJ3tmaWxlQ291bnR9IEZpbGVzJyxcbiAgICAgIHJvd0NvdW50OiAne3Jvd0NvdW50fSBSb3dzJ1xuICAgIH0sXG4gICAgZGVsZXRlRGF0YToge1xuICAgICAgd2FybmluZzogJ3lvdSBhcmUgZ29pbmcgdG8gZGVsZXRlIHRoaXMgZGF0YXNldC4gSXQgd2lsbCBhZmZlY3Qge2xlbmd0aH0gbGF5ZXJzJ1xuICAgIH0sXG4gICAgYWRkU3R5bGU6IHtcbiAgICAgIHB1Ymxpc2hUaXRsZTpcbiAgICAgICAgJzIuIElmIGVudGVyZWQgbWFwYm94IHN0dWxlIHVybCBpbiBzdGVwLjEsIHB1Ymxpc2ggeW91ciBzdHlsZSBhdCBtYXBib3ggb3IgcHJvdmlkZSBhY2Nlc3MgdG9rZW4uIChPcHRpb25hbCknLFxuICAgICAgcHVibGlzaFN1YnRpdGxlMTogJ1lvdSBjYW4gY3JlYXRlIHlvdXIgb3duIG1hcCBzdHlsZSBhdCcsXG4gICAgICBwdWJsaXNoU3VidGl0bGUyOiAnYW5kJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTM6ICdwdWJsaXNoJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTQ6ICdpdC4nLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNTogJ1RvIHVzZSBwcml2YXRlIHN0eWxlLCBwYXN0ZSB5b3VyJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTY6ICdhY2Nlc3MgdG9rZW4nLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNzpcbiAgICAgICAgJ2hlcmUuICprZXBsZXIuZ2wgaXMgYSBjbGllbnQtc2lkZSBhcHBsaWNhdGlvbiwgZGF0YSBzdGF5cyBpbiB5b3VyIGJyb3dzZXIuLicsXG4gICAgICBleGFtcGxlVG9rZW46ICdlLmcuIHBrLmFiY2RlZmcueHh4eHh4JyxcbiAgICAgIHBhc3RlVGl0bGU6ICcxLiBQYXN0ZSBzdHlsZSB1cmwnLFxuICAgICAgcGFzdGVTdWJ0aXRsZTA6ICdTdHlsZSB1cmwgY2FuIGJlIGEgbWFwYm94JyxcbiAgICAgIHBhc3RlU3VidGl0bGUxOiAnV2hhdCBpcyBhJyxcbiAgICAgIHBhc3RlU3VidGl0bGUyOiAnc3R5bGUgVVJMJyxcbiAgICAgIHBhc3RlU3VidGl0bGUzOiAnb3IgYSBzdHlsZS5qc29uIHVzaW5nIHRoZScsXG4gICAgICBwYXN0ZVN1YnRpdGxlNDogJ01hcGJveCBHTCBTdHlsZSBTcGVjJyxcbiAgICAgIG5hbWluZ1RpdGxlOiAnMy4gTmFtZSB5b3VyIHN0eWxlJ1xuICAgIH0sXG4gICAgc2hhcmVNYXA6IHtcbiAgICAgIHNoYXJlVXJpVGl0bGU6ICdTaGFyZSBNYXAgVXJsJyxcbiAgICAgIHNoYXJlVXJpU3VidGl0bGU6ICdHZW5lcmF0ZSBhIG1hcCB1cmwgdG8gc2hhcmUgd2l0aCBvdGhlcnMnLFxuICAgICAgY2xvdWRUaXRsZTogJ0Nsb3VkIHN0b3JhZ2UnLFxuICAgICAgY2xvdWRTdWJ0aXRsZTogJ0xvZ2luIGFuZCB1cGxvYWQgbWFwIGRhdGEgdG8geW91ciBwZXJzb25hbCBjbG91ZCBzdG9yYWdlJyxcbiAgICAgIHNoYXJlRGlzY2xhaW1lcjpcbiAgICAgICAgJ2tlcGxlci5nbCB3aWxsIHNhdmUgeW91ciBtYXAgZGF0YSB0byB5b3VyIHBlcnNvbmFsIGNsb3VkIHN0b3JhZ2UsIG9ubHkgcGVvcGxlIHdpdGggdGhlIFVSTCBjYW4gYWNjZXNzIHlvdXIgbWFwIGFuZCBkYXRhLiAnICtcbiAgICAgICAgJ1lvdSBjYW4gZWRpdC9kZWxldGUgdGhlIGRhdGEgZmlsZSBpbiB5b3VyIGNsb3VkIGFjY291bnQgYW55dGltZS4nLFxuICAgICAgZ290b1BhZ2U6ICdHbyB0byB5b3VyIEtlcGxlci5nbCB7Y3VycmVudFByb3ZpZGVyfSBwYWdlJ1xuICAgIH0sXG4gICAgc3RhdHVzUGFuZWw6IHtcbiAgICAgIG1hcFVwbG9hZGluZzogJ01hcCBVcGxvYWRpbmcnLFxuICAgICAgZXJyb3I6ICdFcnJvcidcbiAgICB9LFxuICAgIHNhdmVNYXA6IHtcbiAgICAgIHRpdGxlOiAnQ2xvdWQgc3RvcmFnZScsXG4gICAgICBzdWJ0aXRsZTogJ0xvZ2luIHRvIHNhdmUgbWFwIHRvIHlvdXIgcGVyc29uYWwgY2xvdWQgc3RvcmFnZSdcbiAgICB9LFxuICAgIGV4cG9ydE1hcDoge1xuICAgICAgZm9ybWF0VGl0bGU6ICdNYXAgZm9ybWF0JyxcbiAgICAgIGZvcm1hdFN1YnRpdGxlOiAnQ2hvb3NlIHRoZSBmb3JtYXQgdG8gZXhwb3J0IHlvdXIgbWFwIHRvJyxcbiAgICAgIGh0bWw6IHtcbiAgICAgICAgc2VsZWN0aW9uOiAnRXhwb3J0IHlvdXIgbWFwIGludG8gYW4gaW50ZXJhY3RpdmUgaHRtbCBmaWxlLicsXG4gICAgICAgIHRva2VuVGl0bGU6ICdNYXBib3ggYWNjZXNzIHRva2VuJyxcbiAgICAgICAgdG9rZW5TdWJ0aXRsZTogJ1VzZSB5b3VyIG93biBNYXBib3ggYWNjZXNzIHRva2VuIGluIHRoZSBodG1sIChvcHRpb25hbCknLFxuICAgICAgICB0b2tlblBsYWNlaG9sZGVyOiAnUGFzdGUgeW91ciBNYXBib3ggYWNjZXNzIHRva2VuJyxcbiAgICAgICAgdG9rZW5NaXN1c2VXYXJuaW5nOlxuICAgICAgICAgICcqIElmIHlvdSBkbyBub3QgcHJvdmlkZSB5b3VyIG93biB0b2tlbiwgdGhlIG1hcCBtYXkgZmFpbCB0byBkaXNwbGF5IGF0IGFueSB0aW1lIHdoZW4gd2UgcmVwbGFjZSBvdXJzIHRvIGF2b2lkIG1pc3VzZS4gJyxcbiAgICAgICAgdG9rZW5EaXNjbGFpbWVyOiAnWW91IGNhbiBjaGFuZ2UgdGhlIE1hcGJveCB0b2tlbiBsYXRlciB1c2luZyB0aGUgZm9sbG93aW5nIGluc3RydWN0aW9uczogJyxcbiAgICAgICAgdG9rZW5VcGRhdGU6ICdIb3cgdG8gdXBkYXRlIGFuIGV4aXN0aW5nIG1hcCB0b2tlbi4nLFxuICAgICAgICBtb2RlVGl0bGU6ICdNYXAgTW9kZScsXG4gICAgICAgIG1vZGVTdWJ0aXRsZTE6ICdTZWxlY3QgdGhlIGFwcCBtb2RlLiBNb3JlICcsXG4gICAgICAgIG1vZGVTdWJ0aXRsZTI6ICdpbmZvJyxcbiAgICAgICAgbW9kZURlc2NyaXB0aW9uOiAnQWxsb3cgdXNlcnMgdG8ge21vZGV9IHRoZSBtYXAnLFxuICAgICAgICByZWFkOiAncmVhZCcsXG4gICAgICAgIGVkaXQ6ICdlZGl0J1xuICAgICAgfSxcbiAgICAgIGpzb246IHtcbiAgICAgICAgY29uZmlnVGl0bGU6ICdNYXAgQ29uZmlnJyxcbiAgICAgICAgY29uZmlnRGlzY2xhaW1lcjpcbiAgICAgICAgICAnTWFwIGNvbmZpZyB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBKc29uIGZpbGUuIElmIHlvdSBhcmUgdXNpbmcga2VwbGVyLmdsIGluIHlvdXIgb3duIGFwcC4gWW91IGNhbiBjb3B5IHRoaXMgY29uZmlnIGFuZCBwYXNzIGl0IHRvICcsXG4gICAgICAgIHNlbGVjdGlvbjpcbiAgICAgICAgICAnRXhwb3J0IGN1cnJlbnQgbWFwIGRhdGEgYW5kIGNvbmZpZyBpbnRvIGEgc2luZ2xlIEpzb24gZmlsZS4gWW91IGNhbiBsYXRlciBvcGVuIHRoZSBzYW1lIG1hcCBieSB1cGxvYWRpbmcgdGhpcyBmaWxlIHRvIGtlcGxlci5nbC4nLFxuICAgICAgICBkaXNjbGFpbWVyOlxuICAgICAgICAgICcqIE1hcCBjb25maWcgaXMgY291cGxlZCB3aXRoIGxvYWRlZCBkYXRhc2V0cy4g4oCYZGF0YUlk4oCZIGlzIHVzZWQgdG8gYmluZCBsYXllcnMsIGZpbHRlcnMsIGFuZCB0b29sdGlwcyB0byBhIHNwZWNpZmljIGRhdGFzZXQuICcgK1xuICAgICAgICAgICdXaGVuIHBhc3NpbmcgdGhpcyBjb25maWcgdG8gYWRkRGF0YVRvTWFwLCBtYWtlIHN1cmUgdGhlIGRhdGFzZXQgaWQgbWF0Y2hlcyB0aGUgZGF0YUlkL3MgaW4gdGhpcyBjb25maWcuJ1xuICAgICAgfVxuICAgIH0sXG4gICAgbG9hZGluZ0RpYWxvZzoge1xuICAgICAgbG9hZGluZzogJ0xvYWRpbmcuLi4nXG4gICAgfSxcbiAgICBsb2FkRGF0YToge1xuICAgICAgdXBsb2FkOiAnTG9hZCBGaWxlcycsXG4gICAgICBzdG9yYWdlOiAnTG9hZCBmcm9tIFN0b3JhZ2UnXG4gICAgfSxcbiAgICB0cmlwSW5mbzoge1xuICAgICAgdGl0bGU6ICdIb3cgdG8gZW5hYmxlIHRyaXAgYW5pbWF0aW9uJyxcbiAgICAgIGRlc2NyaXB0aW9uMTpcbiAgICAgICAgJ0luIG9yZGVyIHRvIGFuaW1hdGUgdGhlIHBhdGgsIHRoZSBnZW9KU09OIGRhdGEgbmVlZHMgdG8gY29udGFpbiBgTGluZVN0cmluZ2AgaW4gaXRzIGZlYXR1cmUgZ2VvbWV0cnksIGFuZCB0aGUgY29vcmRpbmF0ZXMgaW4gdGhlIExpbmVTdHJpbmcgbmVlZCB0byBoYXZlIDQgZWxlbWVudHMgaW4gdGhlIGZvcm1hdHMgb2YnLFxuICAgICAgY29kZTogJyBbbG9uZ2l0dWRlLCBsYXRpdHVkZSwgYWx0aXR1ZGUsIHRpbWVzdGFtcF0gJyxcbiAgICAgIGRlc2NyaXB0aW9uMjpcbiAgICAgICAgJ3dpdGggdGhlIGxhc3QgZWxlbWVudCBiZWluZyBhIHRpbWVzdGFtcC4gVmFsaWQgdGltZXN0YW1wIGZvcm1hdHMgaW5jbHVkZSB1bml4IGluIHNlY29uZHMgc3VjaCBhcyBgMTU2NDE4NDM2M2Agb3IgaW4gbWlsbGlzZWNvbmRzIHN1Y2ggYXMgYDE1NjQxODQzNjMwMDBgLicsXG4gICAgICBleGFtcGxlOiAnRXhhbXBsZTonXG4gICAgfSxcbiAgICBpY29uSW5mbzoge1xuICAgICAgdGl0bGU6ICdIb3cgdG8gZHJhdyBpY29ucycsXG4gICAgICBkZXNjcmlwdGlvbjE6XG4gICAgICAgICdJbiB5b3VyIGNzdiwgY3JlYXRlIGEgY29sdW1uLCBwdXQgdGhlIG5hbWUgb2YgdGhlIGljb24geW91IHdhbnQgdG8gZHJhdyBpbiBpdC4gWW91IGNhbiBsZWF2ZSB0aGUgY2VsbCBlbXB0eSBpZiB5b3UgZG8gbm90IHdhbnQgdGhlIGljb24gdG8gc2hvdyBmb3Igc29tZSBwb2ludHMuIFdoZW4gdGhlIGNvbHVtbiBpcyBuYW1lZCcsXG4gICAgICBjb2RlOiAnaWNvbicsXG4gICAgICBkZXNjcmlwdGlvbjI6ICcga2VwbGVyLmdsIHdpbGwgYXV0b21hdGljYWxseSBjcmVhdGUgYSBpY29uIGxheWVyIGZvciB5b3UuJyxcbiAgICAgIGV4YW1wbGU6ICdFeGFtcGxlOicsXG4gICAgICBpY29uczogJ0ljb25zJ1xuICAgIH0sXG4gICAgc3RvcmFnZU1hcFZpZXdlcjoge1xuICAgICAgbGFzdE1vZGlmaWVkOiAnTGFzdCBtb2RpZmllZCB7bGFzdFVwZGF0ZWR9IGFnbycsXG4gICAgICBiYWNrOiAnQmFjaydcbiAgICB9LFxuICAgIG92ZXJ3cml0ZU1hcDoge1xuICAgICAgdGl0bGU6ICdTYXZpbmcgbWFwLi4uJyxcbiAgICAgIGFscmVhZHlFeGlzdHM6ICdhbHJlYWR5IGV4aXN0cyBpbiB5b3VyIHttYXBTYXZlZH0uIFdvdWxkIHlvdSBsaWtlIHRvIG92ZXJ3cml0ZSBpdD8nXG4gICAgfSxcbiAgICBsb2FkU3RvcmFnZU1hcDoge1xuICAgICAgYmFjazogJ0JhY2snLFxuICAgICAgZ29Ub1BhZ2U6ICdHbyB0byB5b3VyIEtlcGxlci5nbCB7ZGlzcGxheU5hbWV9IHBhZ2UnLFxuICAgICAgc3RvcmFnZU1hcHM6ICdTdG9yYWdlIC8gTWFwcycsXG4gICAgICBub1NhdmVkTWFwczogJ05vIHNhdmVkIG1hcHMgeWV0J1xuICAgIH1cbiAgfSxcbiAgaGVhZGVyOiB7XG4gICAgdmlzaWJsZUxheWVyczogJ1Zpc2libGUgbGF5ZXJzJyxcbiAgICBsYXllckxlZ2VuZDogJ0xlZ2VuZCdcbiAgfSxcbiAgaW50ZXJhY3Rpb25zOiB7XG4gICAgdG9vbHRpcDogJ1Rvb2x0aXAnLFxuICAgIGJydXNoOiAnQnJ1c2gnLFxuICAgIGNvb3JkaW5hdGU6ICdDb29yZGluYXRlcycsXG4gICAgZ2VvY29kZXI6ICdHZW9jb2RlcidcbiAgfSxcbiAgbGF5ZXJCbGVuZGluZzoge1xuICAgIHRpdGxlOiAnTGF5ZXIgQmxlbmRpbmcnLFxuICAgIGFkZGl0aXZlOiAnYWRkaXRpdmUnLFxuICAgIG5vcm1hbDogJ25vcm1hbCcsXG4gICAgc3VidHJhY3RpdmU6ICdzdWJ0cmFjdGl2ZSdcbiAgfSxcbiAgY29sdW1uczoge1xuICAgIHRpdGxlOiAnQ29sdW1ucycsXG4gICAgbGF0OiAnbGF0JyxcbiAgICBsbmc6ICdsb24nLFxuICAgIGFsdGl0dWRlOiAnYWx0aXR1ZGUnLFxuICAgIGljb246ICdpY29uJyxcbiAgICBnZW9qc29uOiAnZ2VvanNvbicsXG4gICAgdG9rZW46ICd0b2tlbicsXG4gICAgYXJjOiB7XG4gICAgICBsYXQwOiAnc291cmNlIGxhdCcsXG4gICAgICBsbmcwOiAnc291cmNlIGxuZycsXG4gICAgICBsYXQxOiAndGFyZ2V0IGxhdCcsXG4gICAgICBsbmcxOiAndGFyZ2V0IGxuZydcbiAgICB9LFxuICAgIGxpbmU6IHtcbiAgICAgIGFsdDA6ICdzb3VyY2UgYWx0aXR1ZGUnLFxuICAgICAgYWx0MTogJ3RhcmdldCBhbHRpdHVkZSdcbiAgICB9LFxuICAgIGdyaWQ6IHtcbiAgICAgIHdvcmxkVW5pdFNpemU6ICdHcmlkIFNpemUgKGttKSdcbiAgICB9LFxuICAgIGhleGFnb246IHtcbiAgICAgIHdvcmxkVW5pdFNpemU6ICdIZXhhZ29uIFJhZGl1cyAoa20pJ1xuICAgIH0sXG4gICAgaGV4X2lkOiAnaGV4IGlkJ1xuICB9LFxuICBjb2xvcjoge1xuICAgIGN1c3RvbVBhbGV0dGU6ICdDdXN0b20gUGFsZXR0ZScsXG4gICAgc3RlcHM6ICdzdGVwcycsXG4gICAgdHlwZTogJ3R5cGUnLFxuICAgIHJldmVyc2VkOiAncmV2ZXJzZWQnXG4gIH0sXG4gIGN1c3RvbVBhbGV0dGU6IHtcbiAgICBhcHBseTogJ0FwcGx5JyxcbiAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgIGFkZFN0ZXA6ICcrIEFkZCBTdGVwJ1xuICB9LFxuICBzY2FsZToge1xuICAgIGNvbG9yU2NhbGU6ICdDb2xvciBTY2FsZScsXG4gICAgc2l6ZVNjYWxlOiAnU2l6ZSBTY2FsZScsXG4gICAgc3Ryb2tlU2NhbGU6ICdTdHJva2UgU2NhbGUnLFxuICAgIHNjYWxlOiAnU2NhbGUnXG4gIH0sXG4gIGZpbGVVcGxvYWRlcjoge1xuICAgIG1lc3NhZ2U6ICdEcmFnICYgRHJvcCBZb3VyIEZpbGUocykgSGVyZScsXG4gICAgY2hyb21lTWVzc2FnZTpcbiAgICAgICcqQ2hyb21lIHVzZXI6IExpbWl0IGZpbGUgc2l6ZSB0byAyNTBtYiwgaWYgbmVlZCB0byB1cGxvYWQgbGFyZ2VyIGZpbGUsIHRyeSBTYWZhcmknLFxuICAgIGRpc2NsYWltZXI6XG4gICAgICAnKmtlcGxlci5nbCBpcyBhIGNsaWVudC1zaWRlIGFwcGxpY2F0aW9uIHdpdGggbm8gc2VydmVyIGJhY2tlbmQuIERhdGEgbGl2ZXMgb25seSBvbiB5b3VyIG1hY2hpbmUvYnJvd3Nlci4gJyArXG4gICAgICAnTm8gaW5mb3JtYXRpb24gb3IgbWFwIGRhdGEgaXMgc2VudCB0byBhbnkgc2VydmVyLicsXG4gICAgY29uZmlnVXBsb2FkTWVzc2FnZTpcbiAgICAgICdVcGxvYWQge2ZpbGVGb3JtYXROYW1lc30gb3Igc2F2ZWQgbWFwICoqSnNvbioqLiBSZWFkIG1vcmUgYWJvdXQgWyoqc3VwcG9ydGVkIGZpbGUgZm9ybWF0cyoqXScsXG4gICAgYnJvd3NlRmlsZXM6ICdicm93c2UgeW91ciBmaWxlcycsXG4gICAgdXBsb2FkaW5nOiAnVXBsb2FkaW5nJyxcbiAgICBmaWxlTm90U3VwcG9ydGVkOiAnRmlsZSB7ZXJyb3JGaWxlc30gaXMgbm90IHN1cHBvcnRlZC4nLFxuICAgIG9yOiAnb3InXG4gIH0sXG4gIGdlb2NvZGVyOiB7XG4gICAgdGl0bGU6ICdFbnRlciBhbiBhZGRyZXNzIG9yIGNvb3JkaW5hdGVzLCBleCAzNy43OSwtMTIyLjQwJ1xuICB9LFxuICBmaWVsZFNlbGVjdG9yOiB7XG4gICAgY2xlYXJBbGw6ICdDbGVhciBBbGwnLFxuICAgIGZvcm1hdHRpbmc6ICdGb3JtYXR0aW5nJ1xuICB9LFxuICBjb21wYXJlOiB7XG4gICAgbW9kZUxhYmVsOiAnQ29tcGFyaXNvbiBNb2RlJyxcbiAgICB0eXBlTGFiZWw6ICdDb21wYXJpc29uIFR5cGUnLFxuICAgIHR5cGVzOiB7XG4gICAgICBhYnNvbHV0ZTogJ0Fic29sdXRlJyxcbiAgICAgIHJlbGF0aXZlOiAnUmVsYXRpdmUnXG4gICAgfVxuICB9LFxuICBtYXBQb3BvdmVyOiB7XG4gICAgcHJpbWFyeTogJ1ByaW1hcnknXG4gIH0sXG4gIGRlbnNpdHk6ICdkZW5zaXR5JyxcbiAgJ0J1ZyBSZXBvcnQnOiAnQnVnIFJlcG9ydCcsXG4gICdVc2VyIEd1aWRlJzogJ1VzZXIgR3VpZGUnLFxuICBTYXZlOiAnU2F2ZScsXG4gIFNoYXJlOiAnU2hhcmUnXG59O1xuIl19
|
|
473
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vZW4uanMiXSwibmFtZXMiOlsicHJvcGVydHkiLCJ3ZWlnaHQiLCJsYWJlbCIsImZpbGxDb2xvciIsImNvbG9yIiwiY292ZXJhZ2UiLCJzdHJva2VDb2xvciIsInJhZGl1cyIsIm91dGxpbmUiLCJzdHJva2UiLCJkZW5zaXR5IiwiaGVpZ2h0Iiwic3VtIiwicG9pbnRDb3VudCIsInBsYWNlaG9sZGVyIiwic2VhcmNoIiwic2VsZWN0RmllbGQiLCJ5QXhpcyIsInNlbGVjdFR5cGUiLCJzZWxlY3RWYWx1ZSIsImVudGVyVmFsdWUiLCJlbXB0eSIsIm1pc2MiLCJieSIsInZhbHVlc0luIiwidmFsdWVFcXVhbHMiLCJkYXRhU291cmNlIiwiYnJ1c2hSYWRpdXMiLCJtYXBMYXllcnMiLCJ0aXRsZSIsInJvYWQiLCJib3JkZXIiLCJidWlsZGluZyIsIndhdGVyIiwibGFuZCIsInBhbmVsIiwidGV4dCIsImxhYmVsV2l0aElkIiwiZm9udFNpemUiLCJmb250Q29sb3IiLCJ0ZXh0QW5jaG9yIiwiYWxpZ25tZW50IiwiYWRkTW9yZUxhYmVsIiwic2lkZWJhciIsInBhbmVscyIsImxheWVyIiwiZmlsdGVyIiwiaW50ZXJhY3Rpb24iLCJiYXNlbWFwIiwicmVxdWlyZWQiLCJwcm9wZXJ0eUJhc2VkT24iLCJzdHJva2VXaWR0aCIsImJhc2ljIiwidHJhaWxMZW5ndGgiLCJ0cmFpbExlbmd0aERlc2NyaXB0aW9uIiwibmV3TGF5ZXIiLCJlbGV2YXRpb25CeURlc2NyaXB0aW9uIiwiY29sb3JCeURlc2NyaXB0aW9uIiwiYWdncmVnYXRlQnkiLCJ0eXBlIiwicG9pbnQiLCJhcmMiLCJsaW5lIiwiZ3JpZCIsImhleGJpbiIsInBvbHlnb24iLCJnZW9qc29uIiwiY2x1c3RlciIsImljb24iLCJoZWF0bWFwIiwiaGV4YWdvbiIsImhleGFnb25pZCIsInRyaXAiLCJzMiIsImNvbG9yUmFuZ2UiLCJsYXllclZpc0NvbmZpZ3MiLCJhbmdsZSIsInN0cm9rZVdpZHRoUmFuZ2UiLCJmaXhlZFJhZGl1cyIsImZpeGVkUmFkaXVzRGVzY3JpcHRpb24iLCJyYWRpdXNSYW5nZSIsImNsdXN0ZXJSYWRpdXMiLCJyYWRpdXNSYW5nZVBpeGVscyIsIm9wYWNpdHkiLCJzdHJva2VDb2xvclJhbmdlIiwidGFyZ2V0Q29sb3IiLCJjb2xvckFnZ3JlZ2F0aW9uIiwiaGVpZ2h0QWdncmVnYXRpb24iLCJyZXNvbHV0aW9uUmFuZ2UiLCJzaXplU2NhbGUiLCJ3b3JsZFVuaXRTaXplIiwiZWxldmF0aW9uU2NhbGUiLCJlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yIiwiZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvckRlc2NyaXB0aW9uIiwiZW5hYmxlSGVpZ2h0Wm9vbUZhY3RvciIsImhlaWdodFNjYWxlIiwiY292ZXJhZ2VSYW5nZSIsImhpZ2hQcmVjaXNpb25SZW5kZXJpbmciLCJoaWdoUHJlY2lzaW9uUmVuZGVyaW5nRGVzY3JpcHRpb24iLCJoZWlnaHREZXNjcmlwdGlvbiIsImZpbGwiLCJlbmFibGVQb2x5Z29uSGVpZ2h0Iiwic2hvd1dpcmVmcmFtZSIsIndlaWdodEludGVuc2l0eSIsInpvb21TY2FsZSIsImhlaWdodFJhbmdlIiwiaGVpZ2h0TXVsdGlwbGllciIsImxheWVyVmlzaWJpbGl0eSIsImxheWVyTWFuYWdlciIsImFkZERhdGEiLCJhZGRMYXllciIsImxheWVyQmxlbmRpbmciLCJtYXBNYW5hZ2VyIiwibWFwU3R5bGUiLCJhZGRNYXBTdHlsZSIsImxheWVyQ29uZmlndXJhdGlvbiIsImRlZmF1bHREZXNjcmlwdGlvbiIsImhvd1RvIiwiZmlsdGVyTWFuYWdlciIsImFkZEZpbHRlciIsImRhdGFzZXRUaXRsZSIsInNob3dEYXRhVGFibGUiLCJyZW1vdmVEYXRhc2V0IiwiZGF0YXNldEluZm8iLCJyb3dDb3VudCIsInRvb2x0aXAiLCJoaWRlTGF5ZXIiLCJzaG93TGF5ZXIiLCJoaWRlRmVhdHVyZSIsInNob3dGZWF0dXJlIiwiaGlkZSIsInNob3ciLCJyZW1vdmVMYXllciIsImR1cGxpY2F0ZUxheWVyIiwibGF5ZXJTZXR0aW5ncyIsImNsb3NlUGFuZWwiLCJzd2l0Y2hUb0R1YWxWaWV3Iiwic2hvd0xlZ2VuZCIsImRpc2FibGUzRE1hcCIsIkRyYXdPbk1hcCIsInNlbGVjdExvY2FsZSIsImhpZGVMYXllclBhbmVsIiwic2hvd0xheWVyUGFuZWwiLCJtb3ZlVG9Ub3AiLCJzZWxlY3RCYXNlTWFwU3R5bGUiLCJ0aW1lUGxheWJhY2siLCJjbG91ZFN0b3JhZ2UiLCJhbmltYXRpb25CeVdpbmRvdyIsImFuaW1hdGlvbkJ5SW5jcmVtZW50YWwiLCJzcGVlZCIsInBsYXkiLCJwYXVzZSIsInJlc2V0IiwidG9vbGJhciIsImV4cG9ydEltYWdlIiwiZXhwb3J0RGF0YSIsImV4cG9ydE1hcCIsInNoYXJlTWFwVVJMIiwic2F2ZU1hcCIsInNlbGVjdCIsInJlY3RhbmdsZSIsIkxPQ0FMRVMiLCJlZGl0b3IiLCJmaWx0ZXJMYXllciIsImNvcHlHZW9tZXRyeSIsIm1vZGFsIiwiZGVsZXRlRGF0YXNldCIsImFkZERhdGFUb01hcCIsImFkZEN1c3RvbU1hcGJveFN0eWxlIiwic2hhcmVVUkwiLCJidXR0b24iLCJkb3dubG9hZCIsImFkZFN0eWxlIiwic2F2ZSIsImRlZmF1bHRDYW5jZWwiLCJkZWZhdWx0Q29uZmlybSIsInJhdGlvVGl0bGUiLCJyYXRpb0Rlc2NyaXB0aW9uIiwicmF0aW9PcmlnaW5hbFNjcmVlbiIsInJhdGlvQ3VzdG9tIiwicmF0aW80XzMiLCJyYXRpbzE2XzkiLCJyZXNvbHV0aW9uVGl0bGUiLCJyZXNvbHV0aW9uRGVzY3JpcHRpb24iLCJtYXBMZWdlbmRUaXRsZSIsIm1hcExlZ2VuZEFkZCIsImRhdGFzZXRTdWJ0aXRsZSIsImFsbERhdGFzZXRzIiwiZGF0YVR5cGVUaXRsZSIsImRhdGFUeXBlU3VidGl0bGUiLCJmaWx0ZXJEYXRhVGl0bGUiLCJmaWx0ZXJEYXRhU3VidGl0bGUiLCJmaWx0ZXJlZERhdGEiLCJ1bmZpbHRlcmVkRGF0YSIsImZpbGVDb3VudCIsImRlbGV0ZURhdGEiLCJ3YXJuaW5nIiwicHVibGlzaFRpdGxlIiwicHVibGlzaFN1YnRpdGxlMSIsInB1Ymxpc2hTdWJ0aXRsZTIiLCJwdWJsaXNoU3VidGl0bGUzIiwicHVibGlzaFN1YnRpdGxlNCIsInB1Ymxpc2hTdWJ0aXRsZTUiLCJwdWJsaXNoU3VidGl0bGU2IiwicHVibGlzaFN1YnRpdGxlNyIsImV4YW1wbGVUb2tlbiIsInBhc3RlVGl0bGUiLCJwYXN0ZVN1YnRpdGxlMCIsInBhc3RlU3VidGl0bGUxIiwicGFzdGVTdWJ0aXRsZTIiLCJwYXN0ZVN1YnRpdGxlMyIsInBhc3RlU3VidGl0bGU0IiwibmFtaW5nVGl0bGUiLCJzaGFyZU1hcCIsInNoYXJlVXJpVGl0bGUiLCJzaGFyZVVyaVN1YnRpdGxlIiwiY2xvdWRUaXRsZSIsImNsb3VkU3VidGl0bGUiLCJzaGFyZURpc2NsYWltZXIiLCJnb3RvUGFnZSIsInN0YXR1c1BhbmVsIiwibWFwVXBsb2FkaW5nIiwiZXJyb3IiLCJzdWJ0aXRsZSIsImZvcm1hdFRpdGxlIiwiZm9ybWF0U3VidGl0bGUiLCJodG1sIiwic2VsZWN0aW9uIiwidG9rZW5UaXRsZSIsInRva2VuU3VidGl0bGUiLCJ0b2tlblBsYWNlaG9sZGVyIiwidG9rZW5NaXN1c2VXYXJuaW5nIiwidG9rZW5EaXNjbGFpbWVyIiwidG9rZW5VcGRhdGUiLCJtb2RlVGl0bGUiLCJtb2RlU3VidGl0bGUxIiwibW9kZVN1YnRpdGxlMiIsIm1vZGVEZXNjcmlwdGlvbiIsInJlYWQiLCJlZGl0IiwianNvbiIsImNvbmZpZ1RpdGxlIiwiY29uZmlnRGlzY2xhaW1lciIsImRpc2NsYWltZXIiLCJsb2FkaW5nRGlhbG9nIiwibG9hZGluZyIsImxvYWREYXRhIiwidXBsb2FkIiwic3RvcmFnZSIsInRyaXBJbmZvIiwiZGVzY3JpcHRpb24xIiwiY29kZSIsImRlc2NyaXB0aW9uMiIsImV4YW1wbGUiLCJpY29uSW5mbyIsImljb25zIiwic3RvcmFnZU1hcFZpZXdlciIsImxhc3RNb2RpZmllZCIsImJhY2siLCJvdmVyd3JpdGVNYXAiLCJhbHJlYWR5RXhpc3RzIiwibG9hZFN0b3JhZ2VNYXAiLCJnb1RvUGFnZSIsInN0b3JhZ2VNYXBzIiwibm9TYXZlZE1hcHMiLCJoZWFkZXIiLCJ2aXNpYmxlTGF5ZXJzIiwibGF5ZXJMZWdlbmQiLCJpbnRlcmFjdGlvbnMiLCJicnVzaCIsImNvb3JkaW5hdGUiLCJnZW9jb2RlciIsImFkZGl0aXZlIiwibm9ybWFsIiwic3VidHJhY3RpdmUiLCJjb2x1bW5zIiwibGF0IiwibG5nIiwiYWx0aXR1ZGUiLCJ0b2tlbiIsImxhdDAiLCJsbmcwIiwibGF0MSIsImxuZzEiLCJhbHQwIiwiYWx0MSIsImhleF9pZCIsImN1c3RvbVBhbGV0dGUiLCJzdGVwcyIsInJldmVyc2VkIiwiYXBwbHkiLCJjYW5jZWwiLCJhZGRTdGVwIiwic2NhbGUiLCJjb2xvclNjYWxlIiwic3Ryb2tlU2NhbGUiLCJmaWxlVXBsb2FkZXIiLCJtZXNzYWdlIiwiY2hyb21lTWVzc2FnZSIsImNvbmZpZ1VwbG9hZE1lc3NhZ2UiLCJicm93c2VGaWxlcyIsInVwbG9hZGluZyIsImZpbGVOb3RTdXBwb3J0ZWQiLCJvciIsImZpZWxkU2VsZWN0b3IiLCJjbGVhckFsbCIsImZvcm1hdHRpbmciLCJjb21wYXJlIiwibW9kZUxhYmVsIiwidHlwZUxhYmVsIiwidHlwZXMiLCJhYnNvbHV0ZSIsInJlbGF0aXZlIiwibWFwUG9wb3ZlciIsInByaW1hcnkiLCJTYXZlIiwiU2hhcmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBb0JBOzs7Ozs7ZUFFZTtBQUNiQSxFQUFBQSxRQUFRLEVBQUU7QUFDUkMsSUFBQUEsTUFBTSxFQUFFLFFBREE7QUFFUkMsSUFBQUEsS0FBSyxFQUFFLE9BRkM7QUFHUkMsSUFBQUEsU0FBUyxFQUFFLFlBSEg7QUFJUkMsSUFBQUEsS0FBSyxFQUFFLE9BSkM7QUFLUkMsSUFBQUEsUUFBUSxFQUFFLFVBTEY7QUFNUkMsSUFBQUEsV0FBVyxFQUFFLGNBTkw7QUFPUkMsSUFBQUEsTUFB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YkMsRUFBQUEsS0FBSyxFQUFFO0FBdGRNLEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge0xPQ0FMRVN9IGZyb20gJy4vbG9jYWxlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcGVydHk6IHtcbiAgICB3ZWlnaHQ6ICd3ZWlnaHQnLFxuICAgIGxhYmVsOiAnbGFiZWwnLFxuICAgIGZpbGxDb2xvcjogJ2ZpbGwgY29sb3InLFxuICAgIGNvbG9yOiAnY29sb3InLFxuICAgIGNvdmVyYWdlOiAnY292ZXJhZ2UnLFxuICAgIHN0cm9rZUNvbG9yOiAnc3Ryb2tlIGNvbG9yJyxcbiAgICByYWRpdXM6ICdyYWRpdXMnLFxuICAgIG91dGxpbmU6ICdvdXRsaW5lJyxcbiAgICBzdHJva2U6ICdzdHJva2UnLFxuICAgIGRlbnNpdHk6ICdkZW5zaXR5JyxcbiAgICBoZWlnaHQ6ICdoZWlnaHQnLFxuICAgIHN1bTogJ3N1bScsXG4gICAgcG9pbnRDb3VudDogJ1BvaW50IENvdW50J1xuICB9LFxuICBwbGFjZWhvbGRlcjoge1xuICAgIHNlYXJjaDogJ1NlYXJjaCcsXG4gICAgc2VsZWN0RmllbGQ6ICdTZWxlY3QgYSBmaWVsZCcsXG4gICAgeUF4aXM6ICdZIEF4aXMnLFxuICAgIHNlbGVjdFR5cGU6ICdTZWxlY3QgQSBUeXBlJyxcbiAgICBzZWxlY3RWYWx1ZTogJ1NlbGVjdCBBIFZhbHVlJyxcbiAgICBlbnRlclZhbHVlOiAnRW50ZXIgYSB2YWx1ZScsXG4gICAgZW1wdHk6ICdlbXB0eSdcbiAgfSxcbiAgbWlzYzoge1xuICAgIGJ5OiAnJyxcbiAgICB2YWx1ZXNJbjogJ1ZhbHVlcyBpbicsXG4gICAgdmFsdWVFcXVhbHM6ICdWYWx1ZSBlcXVhbHMnLFxuICAgIGRhdGFTb3VyY2U6ICdEYXRhIFNvdXJjZScsXG4gICAgYnJ1c2hSYWRpdXM6ICdCcnVzaCBSYWRpdXMgKGttKScsXG4gICAgZW1wdHk6ICcgJ1xuICB9LFxuICBtYXBMYXllcnM6IHtcbiAgICB0aXRsZTogJ01hcCBMYXllcnMnLFxuICAgIGxhYmVsOiAnTGFiZWwnLFxuICAgIHJvYWQ6ICdSb2FkJyxcbiAgICBib3JkZXI6ICdCb3JkZXInLFxuICAgIGJ1aWxkaW5nOiAnQnVpbGRpbmcnLFxuICAgIHdhdGVyOiAnV2F0ZXInLFxuICAgIGxhbmQ6ICdMYW5kJyxcbiAgICAnM2RCdWlsZGluZyc6ICczZCBCdWlsZGluZydcbiAgfSxcbiAgcGFuZWw6IHtcbiAgICB0ZXh0OiB7XG4gICAgICBsYWJlbDogJ2xhYmVsJyxcbiAgICAgIGxhYmVsV2l0aElkOiAnTGFiZWwge2xhYmVsSWR9JyxcbiAgICAgIGZvbnRTaXplOiAnRm9udCBzaXplJyxcbiAgICAgIGZvbnRDb2xvcjogJ0ZvbnQgY29sb3InLFxuICAgICAgdGV4dEFuY2hvcjogJ1RleHQgYW5jaG9yJyxcbiAgICAgIGFsaWdubWVudDogJ0FsaWdubWVudCcsXG4gICAgICBhZGRNb3JlTGFiZWw6ICdBZGQgTW9yZSBMYWJlbCdcbiAgICB9XG4gIH0sXG4gIHNpZGViYXI6IHtcbiAgICBwYW5lbHM6IHtcbiAgICAgIGxheWVyOiAnTGF5ZXJzJyxcbiAgICAgIGZpbHRlcjogJ0ZpbHRlcnMnLFxuICAgICAgaW50ZXJhY3Rpb246ICdJbnRlcmFjdGlvbnMnLFxuICAgICAgYmFzZW1hcDogJ0Jhc2UgbWFwJ1xuICAgIH1cbiAgfSxcbiAgbGF5ZXI6IHtcbiAgICByZXF1aXJlZDogJ1JlcXVpcmVkKicsXG4gICAgcmFkaXVzOiAnUmFkaXVzJyxcbiAgICBjb2xvcjogJ0NvbG9yJyxcbiAgICBmaWxsQ29sb3I6ICdGaWxsIENvbG9yJyxcbiAgICBvdXRsaW5lOiAnT3V0bGluZScsXG4gICAgd2VpZ2h0OiAnV2VpZ2h0JyxcbiAgICBwcm9wZXJ0eUJhc2VkT246ICd7cHJvcGVydHl9IGJhc2VkIG9uJyxcbiAgICBjb3ZlcmFnZTogJ0NvdmVyYWdlJyxcbiAgICBzdHJva2U6ICdTdHJva2UnLFxuICAgIHN0cm9rZVdpZHRoOiAnU3Ryb2tlIFdpZHRoJyxcbiAgICBzdHJva2VDb2xvcjogJ1N0cm9rZSBDb2xvcicsXG4gICAgYmFzaWM6ICdCYXNpYycsXG4gICAgdHJhaWxMZW5ndGg6ICdUcmFpbCBMZW5ndGgnLFxuICAgIHRyYWlsTGVuZ3RoRGVzY3JpcHRpb246ICdOdW1iZXIgb2Ygc2Vjb25kcyBmb3IgYSBwYXRoIHRvIGNvbXBsZXRlbHkgZmFkZSBvdXQnLFxuICAgIG5ld0xheWVyOiAnbmV3IGxheWVyJyxcbiAgICBlbGV2YXRpb25CeURlc2NyaXB0aW9uOiAnV2hlbiBvZmYsIGhlaWdodCBpcyBiYXNlZCBvbiBjb3VudCBvZiBwb2ludHMnLFxuICAgIGNvbG9yQnlEZXNjcmlwdGlvbjogJ1doZW4gb2ZmLCBjb2xvciBpcyBiYXNlZCBvbiBjb3VudCBvZiBwb2ludHMnLFxuICAgIGFnZ3JlZ2F0ZUJ5OiAnQWdncmVnYXRlIHtmaWVsZH0gYnknLFxuICAgICczRE1vZGVsJzogJzNEIE1vZGVsJyxcbiAgICAnM0RNb2RlbE9wdGlvbnMnOiAnM0QgTW9kZWwgT3B0aW9ucycsXG4gICAgdHlwZToge1xuICAgICAgcG9pbnQ6ICdwb2ludCcsXG4gICAgICBhcmM6ICdhcmMnLFxuICAgICAgbGluZTogJ2xpbmUnLFxuICAgICAgZ3JpZDogJ2dyaWQnLFxuICAgICAgaGV4YmluOiAnaGV4YmluJyxcbiAgICAgIHBvbHlnb246ICdwb2x5Z29uJyxcbiAgICAgIGdlb2pzb246ICdnZW9qc29uJyxcbiAgICAgIGNsdXN0ZXI6ICdjbHVzdGVyJyxcbiAgICAgIGljb246ICdpY29uJyxcbiAgICAgIGhlYXRtYXA6ICdoZWF0bWFwJyxcbiAgICAgIGhleGFnb246ICdoZXhhZ29uJyxcbiAgICAgIGhleGFnb25pZDogJ0gzJyxcbiAgICAgIHRyaXA6ICd0cmlwJyxcbiAgICAgIHMyOiAnUzInLFxuICAgICAgJzNkJzogJzNEJ1xuICAgIH0sXG4gICAgY29sb3JSYW5nZTogJ1BhbGV0dGUnXG4gIH0sXG4gIGxheWVyVmlzQ29uZmlnczoge1xuICAgIGFuZ2xlOiAnQW5nbGUnLFxuICAgIHN0cm9rZVdpZHRoOiAnU3Ryb2tlIFdpZHRoIChQaXhlbHMpJyxcbiAgICBzdHJva2VXaWR0aFJhbmdlOiAnU3Ryb2tlIFdpZHRoIFJhbmdlJyxcbiAgICByYWRpdXM6ICdSYWRpdXMnLFxuICAgIGZpeGVkUmFkaXVzOiAnRml4ZWQgUmFkaXVzIHRvIG1ldGVyJyxcbiAgICBmaXhlZFJhZGl1c0Rlc2NyaXB0aW9uOiAnTWFwIHJhZGl1cyB0byBhYnNvbHV0ZSByYWRpdXMgaW4gbWV0ZXJzLCBlLmcuIDUgdG8gNSBtZXRlcnMnLFxuICAgIHJhZGl1c1JhbmdlOiAnUmFkaXVzIFJhbmdlJyxcbiAgICBjbHVzdGVyUmFkaXVzOiAnQ2x1c3RlciBSYWRpdXMgaW4gUGl4ZWxzJyxcbiAgICByYWRpdXNSYW5nZVBpeGVsczogJ1JhZGl1cyBSYW5nZSBpbiBwaXhlbHMnLFxuICAgIG9wYWNpdHk6ICdPcGFjaXR5JyxcbiAgICBjb3ZlcmFnZTogJ0NvdmVyYWdlJyxcbiAgICBvdXRsaW5lOiAnT3V0bGluZScsXG4gICAgY29sb3JSYW5nZTogJ0NvbG9yIHJhbmdlJyxcbiAgICBzdHJva2U6ICdTdHJva2UnLFxuICAgIHN0cm9rZUNvbG9yOiAnU3Ryb2tlIENvbG9yJyxcbiAgICBzdHJva2VDb2xvclJhbmdlOiAnU3Ryb2tlIENvbG9yIHJhbmdlJyxcbiAgICB0YXJnZXRDb2xvcjogJ1RhcmdldCBDb2xvcicsXG4gICAgY29sb3JBZ2dyZWdhdGlvbjogJ0NvbG9yIEFnZ3JlZ2F0aW9uJyxcbiAgICBoZWlnaHRBZ2dyZWdhdGlvbjogJ0hlaWdodCBBZ2dyZWdhdGlvbicsXG4gICAgcmVzb2x1dGlvblJhbmdlOiAnUmVzb2x1dGlvbiByYW5nZScsXG4gICAgc2l6ZVNjYWxlOiAnU2l6ZSBTY2FsZScsXG4gICAgd29ybGRVbml0U2l6ZTogJ1dvcmxkIFVuaXQgU2l6ZScsXG4gICAgZWxldmF0aW9uU2NhbGU6ICdFbGV2YXRpb24gU2NhbGUnLFxuICAgIGVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3I6ICdVc2UgZWxldmF0aW9uIHpvb20gZmFjdG9yJyxcbiAgICBlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yRGVzY3JpcHRpb246ICdBZGp1c3QgaGVpZ2h0L2VsZXZhdGlvbiBiYXNlZCBvbiBjdXJyZW50IHpvb20gZmFjdG9yJyxcbiAgICBlbmFibGVIZWlnaHRab29tRmFjdG9yOiAnVXNlIGhlaWdodCB6b29tIGZhY3RvcicsXG4gICAgaGVpZ2h0U2NhbGU6ICdIZWlnaHQgU2NhbGUnLFxuICAgIGNvdmVyYWdlUmFuZ2U6ICdDb3ZlcmFnZSBSYW5nZScsXG4gICAgaGlnaFByZWNpc2lvblJlbmRlcmluZzogJ0hpZ2ggUHJlY2lzaW9uIFJlbmRlcmluZycsXG4gICAgaGlnaFByZWNpc2lvblJlbmRlcmluZ0Rlc2NyaXB0aW9uOiAnSGlnaCBwcmVjaXNpb24gd2lsbCByZXN1bHQgaW4gc2xvd2VyIHBlcmZvcm1hbmNlJyxcbiAgICBoZWlnaHQ6ICdIZWlnaHQnLFxuICAgIGhlaWdodERlc2NyaXB0aW9uOiAnQ2xpY2sgYnV0dG9uIGF0IHRvcCByaWdodCBvZiB0aGUgbWFwIHRvIHN3aXRjaCB0byAzZCB2aWV3JyxcbiAgICBmaWxsOiAnRmlsbCcsXG4gICAgZW5hYmxlUG9seWdvbkhlaWdodDogJ0VuYWJsZSBQb2x5Z29uIEhlaWdodCcsXG4gICAgc2hvd1dpcmVmcmFtZTogJ1Nob3cgV2lyZWZyYW1lJyxcbiAgICB3ZWlnaHRJbnRlbnNpdHk6ICdXZWlnaHQgSW50ZW5zaXR5JyxcbiAgICB6b29tU2NhbGU6ICdab29tIFNjYWxlJyxcbiAgICBoZWlnaHRSYW5nZTogJ0hlaWdodCBSYW5nZScsXG4gICAgaGVpZ2h0TXVsdGlwbGllcjogJ0hlaWdodCBNdWx0aXBsaWVyJ1xuICB9LFxuICBsYXllclZpc2liaWxpdHk6IHtcbiAgICB0aXRsZTogJ1Zpc2liaWxpdHkgYnkgem9vbSBsZXZlbCdcbiAgfSxcbiAgbGF5ZXJNYW5hZ2VyOiB7XG4gICAgYWRkRGF0YTogJ0FkZCBEYXRhJyxcbiAgICBhZGRMYXllcjogJ0FkZCBMYXllcicsXG4gICAgbGF5ZXJCbGVuZGluZzogJ0xheWVyIEJsZW5kaW5nJ1xuICB9LFxuICBtYXBNYW5hZ2VyOiB7XG4gICAgbWFwU3R5bGU6ICdNYXAgc3R5bGUnLFxuICAgIGFkZE1hcFN0eWxlOiAnQWRkIE1hcCBTdHlsZScsXG4gICAgJzNkQnVpbGRpbmdDb2xvcic6ICczRCBCdWlsZGluZyBDb2xvcidcbiAgfSxcbiAgbGF5ZXJDb25maWd1cmF0aW9uOiB7XG4gICAgZGVmYXVsdERlc2NyaXB0aW9uOiAnQ2FsY3VsYXRlIHtwcm9wZXJ0eX0gYmFzZWQgb24gc2VsZWN0ZWQgZmllbGQnLFxuICAgIGhvd1RvOiAnSG93IHRvJ1xuICB9LFxuICBmaWx0ZXJNYW5hZ2VyOiB7XG4gICAgYWRkRmlsdGVyOiAnQWRkIEZpbHRlcidcbiAgfSxcbiAgZGF0YXNldFRpdGxlOiB7XG4gICAgc2hvd0RhdGFUYWJsZTogJ1Nob3cgZGF0YSB0YWJsZScsXG4gICAgcmVtb3ZlRGF0YXNldDogJ1JlbW92ZSBkYXRhc2V0J1xuICB9LFxuICBkYXRhc2V0SW5mbzoge1xuICAgIHJvd0NvdW50OiAne3Jvd0NvdW50fSByb3dzJ1xuICB9LFxuICB0b29sdGlwOiB7XG4gICAgaGlkZUxheWVyOiAnaGlkZSBsYXllcicsXG4gICAgc2hvd0xheWVyOiAnc2hvdyBsYXllcicsXG4gICAgaGlkZUZlYXR1cmU6ICdIaWRlIEZlYXR1cmUnLFxuICAgIHNob3dGZWF0dXJlOiAnU2hvdyBmZWF0dXJlJyxcbiAgICBoaWRlOiAnaGlkZScsXG4gICAgc2hvdzogJ3Nob3cnLFxuICAgIHJlbW92ZUxheWVyOiAnUmVtb3ZlIGxheWVyJyxcbiAgICBkdXBsaWNhdGVMYXllcjogJ0R1cGxpY2F0ZSBsYXllcicsXG4gICAgbGF5ZXJTZXR0aW5nczogJ0xheWVyIHNldHRpbmdzJyxcbiAgICBjbG9zZVBhbmVsOiAnQ2xvc2UgY3VycmVudCBwYW5lbCcsXG4gICAgc3dpdGNoVG9EdWFsVmlldzogJ1N3aXRjaCB0byBkdWFsIG1hcCB2aWV3JyxcbiAgICBzaG93TGVnZW5kOiAnc2hvdyBsZWdlbmQnLFxuICAgIGRpc2FibGUzRE1hcDogJ0Rpc2FibGUgM0QgTWFwJyxcbiAgICBEcmF3T25NYXA6ICdEcmF3IG9uIG1hcCcsXG4gICAgc2VsZWN0TG9jYWxlOiAnU2VsZWN0IGxvY2FsZScsXG4gICAgaGlkZUxheWVyUGFuZWw6ICdIaWRlIGxheWVyIHBhbmVsJyxcbiAgICBzaG93TGF5ZXJQYW5lbDogJ1Nob3cgbGF5ZXIgcGFuZWwnLFxuICAgIG1vdmVUb1RvcDogJ01vdmUgdG8gdG9wIG9mIGRhdGEgbGF5ZXJzJyxcbiAgICBzZWxlY3RCYXNlTWFwU3R5bGU6ICdTZWxlY3QgQmFzZSBNYXAgU3R5bGUnLFxuICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgdGltZVBsYXliYWNrOiAnVGltZSBQbGF5YmFjaycsXG4gICAgY2xvdWRTdG9yYWdlOiAnQ2xvdWQgU3RvcmFnZScsXG4gICAgJzNETWFwJzogJzNEIE1hcCcsXG4gICAgYW5pbWF0aW9uQnlXaW5kb3c6ICdNb3ZpbmcgVGltZSBXaW5kb3cnLFxuICAgIGFuaW1hdGlvbkJ5SW5jcmVtZW50YWw6ICdJbmNyZW1lbnRhbCBUaW1lIFdpbmRvdycsXG4gICAgc3BlZWQ6ICdzcGVlZCcsXG4gICAgcGxheTogJ3BsYXknLFxuICAgIHBhdXNlOiAncGF1c2UnLFxuICAgIHJlc2V0OiAncmVzZXQnXG4gIH0sXG4gIHRvb2xiYXI6IHtcbiAgICBleHBvcnRJbWFnZTogJ0V4cG9ydCBJbWFnZScsXG4gICAgZXhwb3J0RGF0YTogJ0V4cG9ydCBEYXRhJyxcbiAgICBleHBvcnRNYXA6ICdFeHBvcnQgTWFwJyxcbiAgICBzaGFyZU1hcFVSTDogJ1NoYXJlIE1hcCBVUkwnLFxuICAgIHNhdmVNYXA6ICdTYXZlIE1hcCcsXG4gICAgc2VsZWN0OiAnU2VsZWN0JyxcbiAgICBwb2x5Z29uOiAnUG9seWdvbicsXG4gICAgcmVjdGFuZ2xlOiAnUmVjdGFuZ2xlJyxcbiAgICBoaWRlOiAnSGlkZScsXG4gICAgc2hvdzogJ1Nob3cnLFxuICAgIC4uLkxPQ0FMRVNcbiAgfSxcbiAgZWRpdG9yOiB7XG4gICAgZmlsdGVyTGF5ZXI6ICdGaWx0ZXIgTGF5ZXJzJyxcbiAgICBjb3B5R2VvbWV0cnk6ICdDb3B5IEdlb21ldHJ5J1xuICB9LFxuXG4gIG1vZGFsOiB7XG4gICAgdGl0bGU6IHtcbiAgICAgIGRlbGV0ZURhdGFzZXQ6ICdEZWxldGUgRGF0YXNldCcsXG4gICAgICBhZGREYXRhVG9NYXA6ICdBZGQgRGF0YSBUbyBNYXAnLFxuICAgICAgZXhwb3J0SW1hZ2U6ICdFeHBvcnQgSW1hZ2UnLFxuICAgICAgZXhwb3J0RGF0YTogJ0V4cG9ydCBEYXRhJyxcbiAgICAgIGV4cG9ydE1hcDogJ0V4cG9ydCBNYXAnLFxuICAgICAgYWRkQ3VzdG9tTWFwYm94U3R5bGU6ICdBZGQgQ3VzdG9tIE1hcCBTdHlsZScsXG4gICAgICBzYXZlTWFwOiAnU2F2ZSBNYXAnLFxuICAgICAgc2hhcmVVUkw6ICdTaGFyZSBVUkwnXG4gICAgfSxcbiAgICBidXR0b246IHtcbiAgICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgICBkb3dubG9hZDogJ0Rvd25sb2FkJyxcbiAgICAgIGV4cG9ydDogJ0V4cG9ydCcsXG4gICAgICBhZGRTdHlsZTogJ0FkZCBTdHlsZScsXG4gICAgICBzYXZlOiAnU2F2ZScsXG4gICAgICBkZWZhdWx0Q2FuY2VsOiAnQ2FuY2VsJyxcbiAgICAgIGRlZmF1bHRDb25maXJtOiAnQ29uZmlybSdcbiAgICB9LFxuICAgIGV4cG9ydEltYWdlOiB7XG4gICAgICByYXRpb1RpdGxlOiAnUmF0aW8nLFxuICAgICAgcmF0aW9EZXNjcmlwdGlvbjogJ0Nob29zZSB0aGUgcmF0aW8gZm9yIHZhcmlvdXMgdXNhZ2VzLicsXG4gICAgICByYXRpb09yaWdpbmFsU2NyZWVuOiAnT3JpZ2luYWwgU2NyZWVuJyxcbiAgICAgIHJhdGlvQ3VzdG9tOiAnQ3VzdG9tJyxcbiAgICAgIHJhdGlvNF8zOiAnNDozJyxcbiAgICAgIHJhdGlvMTZfOTogJzE2OjknLFxuICAgICAgcmVzb2x1dGlvblRpdGxlOiAnUmVzb2x1dGlvbicsXG4gICAgICByZXNvbHV0aW9uRGVzY3JpcHRpb246ICdIaWdoIHJlc29sdXRpb24gaXMgYmV0dGVyIGZvciBwcmludHMuJyxcbiAgICAgIG1hcExlZ2VuZFRpdGxlOiAnTWFwIExlZ2VuZCcsXG4gICAgICBtYXBMZWdlbmRBZGQ6ICdBZGQgbGVnZW5kIG9uIG1hcCdcbiAgICB9LFxuICAgIGV4cG9ydERhdGE6IHtcbiAgICAgIGRhdGFzZXRUaXRsZTogJ0RhdGFzZXQnLFxuICAgICAgZGF0YXNldFN1YnRpdGxlOiAnQ2hvb3NlIHRoZSBkYXRhc2V0cyB5b3Ugd2FudCB0byBleHBvcnQnLFxuICAgICAgYWxsRGF0YXNldHM6ICdBbGwnLFxuICAgICAgZGF0YVR5cGVUaXRsZTogJ0RhdGEgVHlwZScsXG4gICAgICBkYXRhVHlwZVN1YnRpdGxlOiAnQ2hvb3NlIHRoZSB0eXBlIG9mIGRhdGEgeW91IHdhbnQgdG8gZXhwb3J0JyxcbiAgICAgIGZpbHRlckRhdGFUaXRsZTogJ0ZpbHRlciBEYXRhJyxcbiAgICAgIGZpbHRlckRhdGFTdWJ0aXRsZTogJ1lvdSBjYW4gY2hvb3NlIGV4cG9ydGluZyBvcmlnaW5hbCBkYXRhIG9yIGZpbHRlcmVkIGRhdGEnLFxuICAgICAgZmlsdGVyZWREYXRhOiAnRmlsdGVyZWQgZGF0YScsXG4gICAgICB1bmZpbHRlcmVkRGF0YTogJ1VuZmlsdGVyZWQgRGF0YScsXG4gICAgICBmaWxlQ291bnQ6ICd7ZmlsZUNvdW50fSBGaWxlcycsXG4gICAgICByb3dDb3VudDogJ3tyb3dDb3VudH0gUm93cydcbiAgICB9LFxuICAgIGRlbGV0ZURhdGE6IHtcbiAgICAgIHdhcm5pbmc6ICd5b3UgYXJlIGdvaW5nIHRvIGRlbGV0ZSB0aGlzIGRhdGFzZXQuIEl0IHdpbGwgYWZmZWN0IHtsZW5ndGh9IGxheWVycydcbiAgICB9LFxuICAgIGFkZFN0eWxlOiB7XG4gICAgICBwdWJsaXNoVGl0bGU6XG4gICAgICAgICcyLiBJZiBlbnRlcmVkIG1hcGJveCBzdHVsZSB1cmwgaW4gc3RlcC4xLCBwdWJsaXNoIHlvdXIgc3R5bGUgYXQgbWFwYm94IG9yIHByb3ZpZGUgYWNjZXNzIHRva2VuLiAoT3B0aW9uYWwpJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTE6ICdZb3UgY2FuIGNyZWF0ZSB5b3VyIG93biBtYXAgc3R5bGUgYXQnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlMjogJ2FuZCcsXG4gICAgICBwdWJsaXNoU3VidGl0bGUzOiAncHVibGlzaCcsXG4gICAgICBwdWJsaXNoU3VidGl0bGU0OiAnaXQuJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTU6ICdUbyB1c2UgcHJpdmF0ZSBzdHlsZSwgcGFzdGUgeW91cicsXG4gICAgICBwdWJsaXNoU3VidGl0bGU2OiAnYWNjZXNzIHRva2VuJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTc6XG4gICAgICAgICdoZXJlLiAqa2VwbGVyLmdsIGlzIGEgY2xpZW50LXNpZGUgYXBwbGljYXRpb24sIGRhdGEgc3RheXMgaW4geW91ciBicm93c2VyLi4nLFxuICAgICAgZXhhbXBsZVRva2VuOiAnZS5nLiBway5hYmNkZWZnLnh4eHh4eCcsXG4gICAgICBwYXN0ZVRpdGxlOiAnMS4gUGFzdGUgc3R5bGUgdXJsJyxcbiAgICAgIHBhc3RlU3VidGl0bGUwOiAnU3R5bGUgdXJsIGNhbiBiZSBhIG1hcGJveCcsXG4gICAgICBwYXN0ZVN1YnRpdGxlMTogJ1doYXQgaXMgYScsXG4gICAgICBwYXN0ZVN1YnRpdGxlMjogJ3N0eWxlIFVSTCcsXG4gICAgICBwYXN0ZVN1YnRpdGxlMzogJ29yIGEgc3R5bGUuanNvbiB1c2luZyB0aGUnLFxuICAgICAgcGFzdGVTdWJ0aXRsZTQ6ICdNYXBib3ggR0wgU3R5bGUgU3BlYycsXG4gICAgICBuYW1pbmdUaXRsZTogJzMuIE5hbWUgeW91ciBzdHlsZSdcbiAgICB9LFxuICAgIHNoYXJlTWFwOiB7XG4gICAgICBzaGFyZVVyaVRpdGxlOiAnU2hhcmUgTWFwIFVybCcsXG4gICAgICBzaGFyZVVyaVN1YnRpdGxlOiAnR2VuZXJhdGUgYSBtYXAgdXJsIHRvIHNoYXJlIHdpdGggb3RoZXJzJyxcbiAgICAgIGNsb3VkVGl0bGU6ICdDbG91ZCBzdG9yYWdlJyxcbiAgICAgIGNsb3VkU3VidGl0bGU6ICdMb2dpbiBhbmQgdXBsb2FkIG1hcCBkYXRhIHRvIHlvdXIgcGVyc29uYWwgY2xvdWQgc3RvcmFnZScsXG4gICAgICBzaGFyZURpc2NsYWltZXI6XG4gICAgICAgICdrZXBsZXIuZ2wgd2lsbCBzYXZlIHlvdXIgbWFwIGRhdGEgdG8geW91ciBwZXJzb25hbCBjbG91ZCBzdG9yYWdlLCBvbmx5IHBlb3BsZSB3aXRoIHRoZSBVUkwgY2FuIGFjY2VzcyB5b3VyIG1hcCBhbmQgZGF0YS4gJyArXG4gICAgICAgICdZb3UgY2FuIGVkaXQvZGVsZXRlIHRoZSBkYXRhIGZpbGUgaW4geW91ciBjbG91ZCBhY2NvdW50IGFueXRpbWUuJyxcbiAgICAgIGdvdG9QYWdlOiAnR28gdG8geW91ciBLZXBsZXIuZ2wge2N1cnJlbnRQcm92aWRlcn0gcGFnZSdcbiAgICB9LFxuICAgIHN0YXR1c1BhbmVsOiB7XG4gICAgICBtYXBVcGxvYWRpbmc6ICdNYXAgVXBsb2FkaW5nJyxcbiAgICAgIGVycm9yOiAnRXJyb3InXG4gICAgfSxcbiAgICBzYXZlTWFwOiB7XG4gICAgICB0aXRsZTogJ0Nsb3VkIHN0b3JhZ2UnLFxuICAgICAgc3VidGl0bGU6ICdMb2dpbiB0byBzYXZlIG1hcCB0byB5b3VyIHBlcnNvbmFsIGNsb3VkIHN0b3JhZ2UnXG4gICAgfSxcbiAgICBleHBvcnRNYXA6IHtcbiAgICAgIGZvcm1hdFRpdGxlOiAnTWFwIGZvcm1hdCcsXG4gICAgICBmb3JtYXRTdWJ0aXRsZTogJ0Nob29zZSB0aGUgZm9ybWF0IHRvIGV4cG9ydCB5b3VyIG1hcCB0bycsXG4gICAgICBodG1sOiB7XG4gICAgICAgIHNlbGVjdGlvbjogJ0V4cG9ydCB5b3VyIG1hcCBpbnRvIGFuIGludGVyYWN0aXZlIGh0bWwgZmlsZS4nLFxuICAgICAgICB0b2tlblRpdGxlOiAnTWFwYm94IGFjY2VzcyB0b2tlbicsXG4gICAgICAgIHRva2VuU3VidGl0bGU6ICdVc2UgeW91ciBvd24gTWFwYm94IGFjY2VzcyB0b2tlbiBpbiB0aGUgaHRtbCAob3B0aW9uYWwpJyxcbiAgICAgICAgdG9rZW5QbGFjZWhvbGRlcjogJ1Bhc3RlIHlvdXIgTWFwYm94IGFjY2VzcyB0b2tlbicsXG4gICAgICAgIHRva2VuTWlzdXNlV2FybmluZzpcbiAgICAgICAgICAnKiBJZiB5b3UgZG8gbm90IHByb3ZpZGUgeW91ciBvd24gdG9rZW4sIHRoZSBtYXAgbWF5IGZhaWwgdG8gZGlzcGxheSBhdCBhbnkgdGltZSB3aGVuIHdlIHJlcGxhY2Ugb3VycyB0byBhdm9pZCBtaXN1c2UuICcsXG4gICAgICAgIHRva2VuRGlzY2xhaW1lcjogJ1lvdSBjYW4gY2hhbmdlIHRoZSBNYXBib3ggdG9rZW4gbGF0ZXIgdXNpbmcgdGhlIGZvbGxvd2luZyBpbnN0cnVjdGlvbnM6ICcsXG4gICAgICAgIHRva2VuVXBkYXRlOiAnSG93IHRvIHVwZGF0ZSBhbiBleGlzdGluZyBtYXAgdG9rZW4uJyxcbiAgICAgICAgbW9kZVRpdGxlOiAnTWFwIE1vZGUnLFxuICAgICAgICBtb2RlU3VidGl0bGUxOiAnU2VsZWN0IHRoZSBhcHAgbW9kZS4gTW9yZSAnLFxuICAgICAgICBtb2RlU3VidGl0bGUyOiAnaW5mbycsXG4gICAgICAgIG1vZGVEZXNjcmlwdGlvbjogJ0FsbG93IHVzZXJzIHRvIHttb2RlfSB0aGUgbWFwJyxcbiAgICAgICAgcmVhZDogJ3JlYWQnLFxuICAgICAgICBlZGl0OiAnZWRpdCdcbiAgICAgIH0sXG4gICAgICBqc29uOiB7XG4gICAgICAgIGNvbmZpZ1RpdGxlOiAnTWFwIENvbmZpZycsXG4gICAgICAgIGNvbmZpZ0Rpc2NsYWltZXI6XG4gICAgICAgICAgJ01hcCBjb25maWcgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgSnNvbiBmaWxlLiBJZiB5b3UgYXJlIHVzaW5nIGtlcGxlci5nbCBpbiB5b3VyIG93biBhcHAuIFlvdSBjYW4gY29weSB0aGlzIGNvbmZpZyBhbmQgcGFzcyBpdCB0byAnLFxuICAgICAgICBzZWxlY3Rpb246XG4gICAgICAgICAgJ0V4cG9ydCBjdXJyZW50IG1hcCBkYXRhIGFuZCBjb25maWcgaW50byBhIHNpbmdsZSBKc29uIGZpbGUuIFlvdSBjYW4gbGF0ZXIgb3BlbiB0aGUgc2FtZSBtYXAgYnkgdXBsb2FkaW5nIHRoaXMgZmlsZSB0byBrZXBsZXIuZ2wuJyxcbiAgICAgICAgZGlzY2xhaW1lcjpcbiAgICAgICAgICAnKiBNYXAgY29uZmlnIGlzIGNvdXBsZWQgd2l0aCBsb2FkZWQgZGF0YXNldHMuIOKAmGRhdGFJZOKAmSBpcyB1c2VkIHRvIGJpbmQgbGF5ZXJzLCBmaWx0ZXJzLCBhbmQgdG9vbHRpcHMgdG8gYSBzcGVjaWZpYyBkYXRhc2V0LiAnICtcbiAgICAgICAgICAnV2hlbiBwYXNzaW5nIHRoaXMgY29uZmlnIHRvIGFkZERhdGFUb01hcCwgbWFrZSBzdXJlIHRoZSBkYXRhc2V0IGlkIG1hdGNoZXMgdGhlIGRhdGFJZC9zIGluIHRoaXMgY29uZmlnLidcbiAgICAgIH1cbiAgICB9LFxuICAgIGxvYWRpbmdEaWFsb2c6IHtcbiAgICAgIGxvYWRpbmc6ICdMb2FkaW5nLi4uJ1xuICAgIH0sXG4gICAgbG9hZERhdGE6IHtcbiAgICAgIHVwbG9hZDogJ0xvYWQgRmlsZXMnLFxuICAgICAgc3RvcmFnZTogJ0xvYWQgZnJvbSBTdG9yYWdlJ1xuICAgIH0sXG4gICAgdHJpcEluZm86IHtcbiAgICAgIHRpdGxlOiAnSG93IHRvIGVuYWJsZSB0cmlwIGFuaW1hdGlvbicsXG4gICAgICBkZXNjcmlwdGlvbjE6XG4gICAgICAgICdJbiBvcmRlciB0byBhbmltYXRlIHRoZSBwYXRoLCB0aGUgZ2VvSlNPTiBkYXRhIG5lZWRzIHRvIGNvbnRhaW4gYExpbmVTdHJpbmdgIGluIGl0cyBmZWF0dXJlIGdlb21ldHJ5LCBhbmQgdGhlIGNvb3JkaW5hdGVzIGluIHRoZSBMaW5lU3RyaW5nIG5lZWQgdG8gaGF2ZSA0IGVsZW1lbnRzIGluIHRoZSBmb3JtYXRzIG9mJyxcbiAgICAgIGNvZGU6ICcgW2xvbmdpdHVkZSwgbGF0aXR1ZGUsIGFsdGl0dWRlLCB0aW1lc3RhbXBdICcsXG4gICAgICBkZXNjcmlwdGlvbjI6XG4gICAgICAgICd3aXRoIHRoZSBsYXN0IGVsZW1lbnQgYmVpbmcgYSB0aW1lc3RhbXAuIFZhbGlkIHRpbWVzdGFtcCBmb3JtYXRzIGluY2x1ZGUgdW5peCBpbiBzZWNvbmRzIHN1Y2ggYXMgYDE1NjQxODQzNjNgIG9yIGluIG1pbGxpc2Vjb25kcyBzdWNoIGFzIGAxNTY0MTg0MzYzMDAwYC4nLFxuICAgICAgZXhhbXBsZTogJ0V4YW1wbGU6J1xuICAgIH0sXG4gICAgaWNvbkluZm86IHtcbiAgICAgIHRpdGxlOiAnSG93IHRvIGRyYXcgaWNvbnMnLFxuICAgICAgZGVzY3JpcHRpb24xOlxuICAgICAgICAnSW4geW91ciBjc3YsIGNyZWF0ZSBhIGNvbHVtbiwgcHV0IHRoZSBuYW1lIG9mIHRoZSBpY29uIHlvdSB3YW50IHRvIGRyYXcgaW4gaXQuIFlvdSBjYW4gbGVhdmUgdGhlIGNlbGwgZW1wdHkgaWYgeW91IGRvIG5vdCB3YW50IHRoZSBpY29uIHRvIHNob3cgZm9yIHNvbWUgcG9pbnRzLiBXaGVuIHRoZSBjb2x1bW4gaXMgbmFtZWQnLFxuICAgICAgY29kZTogJ2ljb24nLFxuICAgICAgZGVzY3JpcHRpb24yOiAnIGtlcGxlci5nbCB3aWxsIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgaWNvbiBsYXllciBmb3IgeW91LicsXG4gICAgICBleGFtcGxlOiAnRXhhbXBsZTonLFxuICAgICAgaWNvbnM6ICdJY29ucydcbiAgICB9LFxuICAgIHN0b3JhZ2VNYXBWaWV3ZXI6IHtcbiAgICAgIGxhc3RNb2RpZmllZDogJ0xhc3QgbW9kaWZpZWQge2xhc3RVcGRhdGVkfSBhZ28nLFxuICAgICAgYmFjazogJ0JhY2snXG4gICAgfSxcbiAgICBvdmVyd3JpdGVNYXA6IHtcbiAgICAgIHRpdGxlOiAnU2F2aW5nIG1hcC4uLicsXG4gICAgICBhbHJlYWR5RXhpc3RzOiAnYWxyZWFkeSBleGlzdHMgaW4geW91ciB7bWFwU2F2ZWR9LiBXb3VsZCB5b3UgbGlrZSB0byBvdmVyd3JpdGUgaXQ/J1xuICAgIH0sXG4gICAgbG9hZFN0b3JhZ2VNYXA6IHtcbiAgICAgIGJhY2s6ICdCYWNrJyxcbiAgICAgIGdvVG9QYWdlOiAnR28gdG8geW91ciBLZXBsZXIuZ2wge2Rpc3BsYXlOYW1lfSBwYWdlJyxcbiAgICAgIHN0b3JhZ2VNYXBzOiAnU3RvcmFnZSAvIE1hcHMnLFxuICAgICAgbm9TYXZlZE1hcHM6ICdObyBzYXZlZCBtYXBzIHlldCdcbiAgICB9XG4gIH0sXG4gIGhlYWRlcjoge1xuICAgIHZpc2libGVMYXllcnM6ICdWaXNpYmxlIGxheWVycycsXG4gICAgbGF5ZXJMZWdlbmQ6ICdMZWdlbmQnXG4gIH0sXG4gIGludGVyYWN0aW9uczoge1xuICAgIHRvb2x0aXA6ICdUb29sdGlwJyxcbiAgICBicnVzaDogJ0JydXNoJyxcbiAgICBjb29yZGluYXRlOiAnQ29vcmRpbmF0ZXMnLFxuICAgIGdlb2NvZGVyOiAnR2VvY29kZXInXG4gIH0sXG4gIGxheWVyQmxlbmRpbmc6IHtcbiAgICB0aXRsZTogJ0xheWVyIEJsZW5kaW5nJyxcbiAgICBhZGRpdGl2ZTogJ2FkZGl0aXZlJyxcbiAgICBub3JtYWw6ICdub3JtYWwnLFxuICAgIHN1YnRyYWN0aXZlOiAnc3VidHJhY3RpdmUnXG4gIH0sXG4gIGNvbHVtbnM6IHtcbiAgICB0aXRsZTogJ0NvbHVtbnMnLFxuICAgIGxhdDogJ2xhdCcsXG4gICAgbG5nOiAnbG9uJyxcbiAgICBhbHRpdHVkZTogJ2FsdGl0dWRlJyxcbiAgICBpY29uOiAnaWNvbicsXG4gICAgZ2VvanNvbjogJ2dlb2pzb24nLFxuICAgIHRva2VuOiAndG9rZW4nLFxuICAgIGFyYzoge1xuICAgICAgbGF0MDogJ3NvdXJjZSBsYXQnLFxuICAgICAgbG5nMDogJ3NvdXJjZSBsbmcnLFxuICAgICAgbGF0MTogJ3RhcmdldCBsYXQnLFxuICAgICAgbG5nMTogJ3RhcmdldCBsbmcnXG4gICAgfSxcbiAgICBsaW5lOiB7XG4gICAgICBhbHQwOiAnc291cmNlIGFsdGl0dWRlJyxcbiAgICAgIGFsdDE6ICd0YXJnZXQgYWx0aXR1ZGUnXG4gICAgfSxcbiAgICBncmlkOiB7XG4gICAgICB3b3JsZFVuaXRTaXplOiAnR3JpZCBTaXplIChrbSknXG4gICAgfSxcbiAgICBoZXhhZ29uOiB7XG4gICAgICB3b3JsZFVuaXRTaXplOiAnSGV4YWdvbiBSYWRpdXMgKGttKSdcbiAgICB9LFxuICAgIGhleF9pZDogJ2hleCBpZCdcbiAgfSxcbiAgY29sb3I6IHtcbiAgICBjdXN0b21QYWxldHRlOiAnQ3VzdG9tIFBhbGV0dGUnLFxuICAgIHN0ZXBzOiAnc3RlcHMnLFxuICAgIHR5cGU6ICd0eXBlJyxcbiAgICByZXZlcnNlZDogJ3JldmVyc2VkJ1xuICB9LFxuICBjdXN0b21QYWxldHRlOiB7XG4gICAgYXBwbHk6ICdBcHBseScsXG4gICAgY2FuY2VsOiAnQ2FuY2VsJyxcbiAgICBhZGRTdGVwOiAnKyBBZGQgU3RlcCdcbiAgfSxcbiAgc2NhbGU6IHtcbiAgICBjb2xvclNjYWxlOiAnQ29sb3IgU2NhbGUnLFxuICAgIHNpemVTY2FsZTogJ1NpemUgU2NhbGUnLFxuICAgIHN0cm9rZVNjYWxlOiAnU3Ryb2tlIFNjYWxlJyxcbiAgICBzY2FsZTogJ1NjYWxlJ1xuICB9LFxuICBmaWxlVXBsb2FkZXI6IHtcbiAgICBtZXNzYWdlOiAnRHJhZyAmIERyb3AgWW91ciBGaWxlKHMpIEhlcmUnLFxuICAgIGNocm9tZU1lc3NhZ2U6XG4gICAgICAnKkNocm9tZSB1c2VyOiBMaW1pdCBmaWxlIHNpemUgdG8gMjUwbWIsIGlmIG5lZWQgdG8gdXBsb2FkIGxhcmdlciBmaWxlLCB0cnkgU2FmYXJpJyxcbiAgICBkaXNjbGFpbWVyOlxuICAgICAgJyprZXBsZXIuZ2wgaXMgYSBjbGllbnQtc2lkZSBhcHBsaWNhdGlvbiB3aXRoIG5vIHNlcnZlciBiYWNrZW5kLiBEYXRhIGxpdmVzIG9ubHkgb24geW91ciBtYWNoaW5lL2Jyb3dzZXIuICcgK1xuICAgICAgJ05vIGluZm9ybWF0aW9uIG9yIG1hcCBkYXRhIGlzIHNlbnQgdG8gYW55IHNlcnZlci4nLFxuICAgIGNvbmZpZ1VwbG9hZE1lc3NhZ2U6XG4gICAgICAnVXBsb2FkIHtmaWxlRm9ybWF0TmFtZXN9IG9yIHNhdmVkIG1hcCAqKkpzb24qKi4gUmVhZCBtb3JlIGFib3V0IFsqKnN1cHBvcnRlZCBmaWxlIGZvcm1hdHMqKl0nLFxuICAgIGJyb3dzZUZpbGVzOiAnYnJvd3NlIHlvdXIgZmlsZXMnLFxuICAgIHVwbG9hZGluZzogJ1VwbG9hZGluZycsXG4gICAgZmlsZU5vdFN1cHBvcnRlZDogJ0ZpbGUge2Vycm9yRmlsZXN9IGlzIG5vdCBzdXBwb3J0ZWQuJyxcbiAgICBvcjogJ29yJ1xuICB9LFxuICBnZW9jb2Rlcjoge1xuICAgIHRpdGxlOiAnRW50ZXIgYW4gYWRkcmVzcyBvciBjb29yZGluYXRlcywgZXggMzcuNzksLTEyMi40MCdcbiAgfSxcbiAgZmllbGRTZWxlY3Rvcjoge1xuICAgIGNsZWFyQWxsOiAnQ2xlYXIgQWxsJyxcbiAgICBmb3JtYXR0aW5nOiAnRm9ybWF0dGluZydcbiAgfSxcbiAgY29tcGFyZToge1xuICAgIG1vZGVMYWJlbDogJ0NvbXBhcmlzb24gTW9kZScsXG4gICAgdHlwZUxhYmVsOiAnQ29tcGFyaXNvbiBUeXBlJyxcbiAgICB0eXBlczoge1xuICAgICAgYWJzb2x1dGU6ICdBYnNvbHV0ZScsXG4gICAgICByZWxhdGl2ZTogJ1JlbGF0aXZlJ1xuICAgIH1cbiAgfSxcbiAgbWFwUG9wb3Zlcjoge1xuICAgIHByaW1hcnk6ICdQcmltYXJ5J1xuICB9LFxuICBkZW5zaXR5OiAnZGVuc2l0eScsXG4gICdCdWcgUmVwb3J0JzogJ0J1ZyBSZXBvcnQnLFxuICAnVXNlciBHdWlkZSc6ICdVc2VyIEd1aWRlJyxcbiAgU2F2ZTogJ1NhdmUnLFxuICBTaGFyZTogJ1NoYXJlJ1xufTtcbiJdfQ==
|
|
@@ -133,8 +133,7 @@ function renderDeckGlLayer(props, layerCallbacks, idx) {
|
|
|
133
133
|
interactionConfig = props.interactionConfig,
|
|
134
134
|
animationConfig = props.animationConfig,
|
|
135
135
|
mapLayers = props.mapLayers,
|
|
136
|
-
maskPolygon = props.maskPolygon
|
|
137
|
-
customMarkersStatus = props.customMarkersStatus;
|
|
136
|
+
maskPolygon = props.maskPolygon;
|
|
138
137
|
var layer = layers[idx];
|
|
139
138
|
var data = layerData[idx];
|
|
140
139
|
|
|
@@ -154,8 +153,7 @@ function renderDeckGlLayer(props, layerCallbacks, idx) {
|
|
|
154
153
|
animationConfig: animationConfig,
|
|
155
154
|
objectHovered: objectHovered,
|
|
156
155
|
visible: visible,
|
|
157
|
-
maskPolygon: maskPolygon
|
|
158
|
-
customMarkersStatus: customMarkersStatus
|
|
156
|
+
maskPolygon: maskPolygon
|
|
159
157
|
});
|
|
160
158
|
}
|
|
161
159
|
|
|
@@ -194,4 +192,4 @@ function getMaskExtensionProps(maskPolygon) {
|
|
|
194
192
|
extensions: [maskExtension]
|
|
195
193
|
};
|
|
196
194
|
}
|
|
197
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9sYXllci11dGlscy5qcyJdLCJuYW1lcyI6WyJmaW5kRGVmYXVsdExheWVyIiwiZGF0YXNldCIsImxheWVyQ2xhc3NlcyIsImxheWVyUHJvcHMiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwicHJldmlvdXMiLCJsYyIsInJlc3VsdCIsImZpbmREZWZhdWx0TGF5ZXJQcm9wcyIsInByb3BzIiwiQXJyYXkiLCJpc0FycmF5IiwiZm91bmRMYXllcnMiLCJjb25jYXQiLCJtYXAiLCJwIiwidHlwZSIsImRhdGFJZCIsImlkIiwibGF5ZXIiLCJzZXRJbml0aWFsTGF5ZXJDb25maWciLCJkYXRhQ29udGFpbmVyIiwiY2FsY3VsYXRlTGF5ZXJEYXRhIiwic3RhdGUiLCJvbGRMYXllckRhdGEiLCJoYXNBbGxDb2x1bW5zIiwiY29uZmlnIiwibGF5ZXJEYXRhIiwiZm9ybWF0TGF5ZXJEYXRhIiwiZGF0YXNldHMiLCJnZXRMYXllckhvdmVyUHJvcCIsImludGVyYWN0aW9uQ29uZmlnIiwiaG92ZXJJbmZvIiwibGF5ZXJzIiwibGF5ZXJzVG9SZW5kZXIiLCJ0b29sdGlwIiwiZW5hYmxlZCIsInBpY2tlZCIsIm9iamVjdCIsIm92ZXJsYXkiLCJpZHgiLCJnZXRIb3ZlckRhdGEiLCJmaWVsZHMiLCJkYXRhIiwiZmllbGRzVG9TaG93IiwicmVuZGVyRGVja0dsTGF5ZXIiLCJsYXllckNhbGxiYWNrcyIsImNsaWNrZWQiLCJtYXBTdGF0ZSIsImFuaW1hdGlvbkNvbmZpZyIsIm1hcExheWVycyIsIm1hc2tQb2x5Z29uIiwiY3VzdG9tTWFya2Vyc1N0YXR1cyIsImdwdUZpbHRlciIsIm9iamVjdEhvdmVyZWQiLCJ2aXNpYmxlIiwicmVuZGVyTGF5ZXIiLCJpc0xheWVyUmVuZGVyYWJsZSIsIkdFT0NPREVSX0xBWUVSX0lEIiwic2hvdWxkUmVuZGVyTGF5ZXIiLCJpc0xheWVyVmlzaWJsZSIsImlzVmlzaWJsZSIsInByZXBhcmVMYXllcnNGb3JEZWNrIiwiYWNjdSIsIm92ZXJsYXlUeXBlIiwiT1ZFUkxBWV9UWVBFIiwiZGVja2dsIiwicHJlcGFyZUxheWVyc1RvUmVuZGVyIiwibWFza0V4dGVuc2lvbiIsIk1hc2tFeHRlbnNpb24iLCJnZXRNYXNrRXh0ZW5zaW9uUHJvcHMiLCJtYXNrSWQiLCJCb29sZWFuIiwibGVuZ3RoIiwiTUFTS19MQVlFUl9JRCIsImV4dGVuc2lvbnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sU0FBU0EsZ0JBQVQsQ0FBMEJDLE9BQTFCLEVBQW1DQyxZQUFuQyxFQUFpRDtBQUN0RCxNQUFJLENBQUNELE9BQUwsRUFBYztBQUNaLFdBQU8sRUFBUDtBQUNEOztBQUNELE1BQU1FLFVBQVUsR0FBR0MsTUFBTSxDQUFDQyxJQUFQLENBQVlILFlBQVosRUFBMEJJLE1BQTFCLENBQWlDLFVBQUNDLFFBQUQsRUFBV0MsRUFBWCxFQUFrQjtBQUNwRSxRQUFNQyxNQUFNLEdBQ1YsT0FBT1AsWUFBWSxDQUFDTSxFQUFELENBQVosQ0FBaUJFLHFCQUF4QixLQUFrRCxVQUFsRCxHQUNJUixZQUFZLENBQUNNLEVBQUQsQ0FBWixDQUFpQkUscUJBQWpCLENBQXVDVCxPQUF2QyxFQUFnRE0sUUFBaEQsQ0FESixHQUVJO0FBQUNJLE1BQUFBLEtBQUssRUFBRTtBQUFSLEtBSE47QUFLQSxRQUFNQSxLQUFLLEdBQUdDLEtBQUssQ0FBQ0MsT0FBTixDQUFjSixNQUFkLElBQXdCQSxNQUF4QixHQUFpQ0EsTUFBTSxDQUFDRSxLQUFQLElBQWdCLEVBQS9EO0FBQ0EsUUFBTUcsV0FBVyxHQUFHTCxNQUFNLENBQUNLLFdBQVAsSUFBc0JQLFFBQTFDO0FBRUEsV0FBT08sV0FBVyxDQUFDQyxNQUFaLENBQ0xKLEtBQUssQ0FBQ0ssR0FBTixDQUFVLFVBQUFDLENBQUM7QUFBQSw2Q0FDTkEsQ0FETTtBQUVUQyxRQUFBQSxJQUFJLEVBQUVWLEVBRkc7QUFHVFcsUUFBQUEsTUFBTSxFQUFFbEIsT0FBTyxDQUFDbUI7QUFIUDtBQUFBLEtBQVgsQ0FESyxDQUFQO0FBT0QsR0FoQmtCLEVBZ0JoQixFQWhCZ0IsQ0FBbkIsQ0FKc0QsQ0FzQnREOztBQUNBLFNBQU9qQixVQUFVLENBQUNhLEdBQVgsQ0FBZSxVQUFBTCxLQUFLLEVBQUk7QUFDN0IsUUFBTVUsS0FBSyxHQUFHLElBQUluQixZQUFZLENBQUNTLEtBQUssQ0FBQ08sSUFBUCxDQUFoQixDQUE2QlAsS0FBN0IsQ0FBZDtBQUNBLFdBQU8sT0FBT1UsS0FBSyxDQUFDQyxxQkFBYixLQUF1QyxVQUF2QyxJQUFxRHJCLE9BQU8sQ0FBQ3NCLGFBQTdELEdBQ0hGLEtBQUssQ0FBQ0MscUJBQU4sQ0FBNEJyQixPQUE1QixDQURHLEdBRUhvQixLQUZKO0FBR0QsR0FMTSxDQUFQO0FBTUQ7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxTQUFTRyxrQkFBVCxDQUE0QkgsS0FBNUIsRUFBbUNJLEtBQW5DLEVBQTBDQyxZQUExQyxFQUF3RDtBQUFBLE1BQ3REUixJQURzRCxHQUM5Q0csS0FEOEMsQ0FDdERILElBRHNEOztBQUc3RCxNQUFJLENBQUNBLElBQUQsSUFBUyxDQUFDRyxLQUFLLENBQUNNLGFBQU4sRUFBVixJQUFtQyxDQUFDTixLQUFLLENBQUNPLE1BQU4sQ0FBYVQsTUFBckQsRUFBNkQ7QUFDM0QsV0FBTztBQUFDRSxNQUFBQSxLQUFLLEVBQUxBLEtBQUQ7QUFBUVEsTUFBQUEsU0FBUyxFQUFFO0FBQW5CLEtBQVA7QUFDRDs7QUFFRCxNQUFNQSxTQUFTLEdBQUdSLEtBQUssQ0FBQ1MsZUFBTixDQUFzQkwsS0FBSyxDQUFDTSxRQUE1QixFQUFzQ0wsWUFBdEMsQ0FBbEI7QUFDQSxTQUFPO0FBQUNHLElBQUFBLFNBQVMsRUFBVEEsU0FBRDtBQUFZUixJQUFBQSxLQUFLLEVBQUxBO0FBQVosR0FBUDtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFNBQVNXLGlCQUFULE9BTUo7QUFBQSxNQUxEQyxpQkFLQyxRQUxEQSxpQkFLQztBQUFBLE1BSkRDLFNBSUMsUUFKREEsU0FJQztBQUFBLE1BSERDLE1BR0MsUUFIREEsTUFHQztBQUFBLE1BRkRDLGNBRUMsUUFGREEsY0FFQztBQUFBLE1BRERMLFFBQ0MsUUFEREEsUUFDQzs7QUFDRCxNQUFJRSxpQkFBaUIsQ0FBQ0ksT0FBbEIsQ0FBMEJDLE9BQTFCLElBQXFDSixTQUFyQyxJQUFrREEsU0FBUyxDQUFDSyxNQUFoRSxFQUF3RTtBQUN0RTtBQURzRSxRQUUvREMsTUFGK0QsR0FFckNOLFNBRnFDLENBRS9ETSxNQUYrRDtBQUFBLFFBRWhEQyxPQUZnRCxHQUVyQ1AsU0FGcUMsQ0FFdkRiLEtBRnVELEVBSXRFOztBQUNBLFFBQU1BLEtBQUssR0FBR2MsTUFBTSxDQUFDTSxPQUFPLENBQUM5QixLQUFSLENBQWMrQixHQUFmLENBQXBCOztBQUVBLFFBQUlGLE1BQU0sSUFBSW5CLEtBQVYsSUFBbUJBLEtBQUssQ0FBQ3NCLFlBQXpCLElBQXlDUCxjQUFjLENBQUNmLEtBQUssQ0FBQ0QsRUFBUCxDQUEzRCxFQUF1RTtBQUNyRTtBQURxRSxVQUcxREQsTUFIMEQsR0FJakVFLEtBSmlFLENBR25FTyxNQUhtRSxDQUcxRFQsTUFIMEQ7O0FBS3JFLFVBQUksQ0FBQ0EsTUFBTCxFQUFhO0FBQ1gsZUFBTyxJQUFQO0FBQ0Q7O0FBUG9FLDZCQVFyQ1ksUUFBUSxDQUFDWixNQUFELENBUjZCO0FBQUEsVUFROURJLGFBUjhELG9CQVE5REEsYUFSOEQ7QUFBQSxVQVEvQ3FCLE1BUitDLG9CQVEvQ0EsTUFSK0M7QUFTckUsVUFBTUMsSUFBSSxHQUFHeEIsS0FBSyxDQUFDc0IsWUFBTixDQUFtQkgsTUFBbkIsRUFBMkJqQixhQUEzQixFQUEwQ3FCLE1BQTFDLENBQWI7QUFDQSxVQUFNRSxZQUFZLEdBQUdiLGlCQUFpQixDQUFDSSxPQUFsQixDQUEwQlQsTUFBMUIsQ0FBaUNrQixZQUFqQyxDQUE4QzNCLE1BQTlDLENBQXJCO0FBRUEsYUFBTztBQUNMMEIsUUFBQUEsSUFBSSxFQUFKQSxJQURLO0FBRUxELFFBQUFBLE1BQU0sRUFBTkEsTUFGSztBQUdMRSxRQUFBQSxZQUFZLEVBQVpBLFlBSEs7QUFJTHpCLFFBQUFBLEtBQUssRUFBTEE7QUFKSyxPQUFQO0FBTUQ7QUFDRjs7QUFFRCxTQUFPLElBQVA7QUFDRDs7QUFFTSxTQUFTMEIsaUJBQVQsQ0FBMkJwQyxLQUEzQixFQUFrQ3FDLGNBQWxDLEVBQWtETixHQUFsRCxFQUF1RDtBQUFBLE1BRTFEWCxRQUYwRCxHQWF4RHBCLEtBYndELENBRTFEb0IsUUFGMEQ7QUFBQSxNQUcxREksTUFIMEQsR0FheER4QixLQWJ3RCxDQUcxRHdCLE1BSDBEO0FBQUEsTUFJMUROLFNBSjBELEdBYXhEbEIsS0Fid0QsQ0FJMURrQixTQUowRDtBQUFBLE1BSzFESyxTQUwwRCxHQWF4RHZCLEtBYndELENBSzFEdUIsU0FMMEQ7QUFBQSxNQU0xRGUsT0FOMEQsR0FheER0QyxLQWJ3RCxDQU0xRHNDLE9BTjBEO0FBQUEsTUFPMURDLFFBUDBELEdBYXhEdkMsS0Fid0QsQ0FPMUR1QyxRQVAwRDtBQUFBLE1BUTFEakIsaUJBUjBELEdBYXhEdEIsS0Fid0QsQ0FRMURzQixpQkFSMEQ7QUFBQSxNQVMxRGtCLGVBVDBELEdBYXhEeEMsS0Fid0QsQ0FTMUR3QyxlQVQwRDtBQUFBLE1BVTFEQyxTQVYwRCxHQWF4RHpDLEtBYndELENBVTFEeUMsU0FWMEQ7QUFBQSxNQVcxREMsV0FYMEQsR0FheEQxQyxLQWJ3RCxDQVcxRDBDLFdBWDBEO0FBQUEsTUFZMURDLG1CQVowRCxHQWF4RDNDLEtBYndELENBWTFEMkMsbUJBWjBEO0FBYzVELE1BQU1qQyxLQUFLLEdBQUdjLE1BQU0sQ0FBQ08sR0FBRCxDQUFwQjtBQUNBLE1BQU1HLElBQUksR0FBR2hCLFNBQVMsQ0FBQ2EsR0FBRCxDQUF0Qjs7QUFmNEQsY0FnQnhDWCxRQUFRLENBQUNWLEtBQUssQ0FBQ08sTUFBTixDQUFhVCxNQUFkLENBQVIsSUFBaUMsRUFoQk87QUFBQSxNQWdCckRvQyxTQWhCcUQsU0FnQnJEQSxTQWhCcUQ7O0FBaUI1RCxNQUFNQyxhQUFhLEdBQUdQLE9BQU8sSUFBSWYsU0FBakM7QUFDQSxNQUFNdUIsT0FBTyxHQUFHLENBQUNMLFNBQUQsSUFBZUEsU0FBUyxJQUFJQSxTQUFTLENBQUMvQixLQUFLLENBQUNELEVBQVAsQ0FBckQsQ0FsQjRELENBbUI1RDs7QUFDQSxTQUFPQyxLQUFLLENBQUNxQyxXQUFOLENBQWtCO0FBQ3ZCYixJQUFBQSxJQUFJLEVBQUpBLElBRHVCO0FBRXZCVSxJQUFBQSxTQUFTLEVBQVRBLFNBRnVCO0FBR3ZCYixJQUFBQSxHQUFHLEVBQUhBLEdBSHVCO0FBSXZCVCxJQUFBQSxpQkFBaUIsRUFBakJBLGlCQUp1QjtBQUt2QmUsSUFBQUEsY0FBYyxFQUFkQSxjQUx1QjtBQU12QkUsSUFBQUEsUUFBUSxFQUFSQSxRQU51QjtBQU92QkMsSUFBQUEsZUFBZSxFQUFmQSxlQVB1QjtBQVF2QkssSUFBQUEsYUFBYSxFQUFiQSxhQVJ1QjtBQVN2QkMsSUFBQUEsT0FBTyxFQUFQQSxPQVR1QjtBQVV2QkosSUFBQUEsV0FBVyxFQUFYQSxXQVZ1QjtBQVd2QkMsSUFBQUEsbUJBQW1CLEVBQW5CQTtBQVh1QixHQUFsQixDQUFQO0FBYUQ7O0FBRU0sU0FBU0ssaUJBQVQsQ0FBMkJ0QyxLQUEzQixFQUFrQ1EsU0FBbEMsRUFBNkM7QUFDbEQsU0FBT1IsS0FBSyxDQUFDRCxFQUFOLEtBQWF3QyxrQ0FBYixJQUFrQ3ZDLEtBQUssQ0FBQ3dDLGlCQUFOLENBQXdCaEMsU0FBeEIsQ0FBekM7QUFDRDs7QUFFTSxTQUFTaUMsY0FBVCxDQUF3QnpDLEtBQXhCLEVBQStCK0IsU0FBL0IsRUFBMEM7QUFDL0MsU0FDRS9CLEtBQUssQ0FBQ08sTUFBTixDQUFhbUMsU0FBYixNQUNBO0FBQ0MsR0FBQ1gsU0FBRCxJQUFlQSxTQUFTLElBQUlBLFNBQVMsQ0FBQy9CLEtBQUssQ0FBQ0QsRUFBUCxDQUZ0QyxDQURGO0FBS0QsQyxDQUVEO0FBQ0E7QUFDQTs7O0FBQ08sU0FBUzRDLG9CQUFULENBQThCN0IsTUFBOUIsRUFBc0NOLFNBQXRDLEVBQWlEO0FBQ3RELFNBQU9NLE1BQU0sQ0FBQzdCLE1BQVAsQ0FDTCxVQUFDMkQsSUFBRCxFQUFPNUMsS0FBUCxFQUFjcUIsR0FBZDtBQUFBLDJDQUNLdUIsSUFETCw0Q0FFRzVDLEtBQUssQ0FBQ0QsRUFGVCxFQUdJdUMsaUJBQWlCLENBQUN0QyxLQUFELEVBQVFRLFNBQVMsQ0FBQ2EsR0FBRCxDQUFqQixDQUFqQixJQUE0Q3JCLEtBQUssQ0FBQzZDLFdBQU4sS0FBc0JDLHdCQUFhQyxNQUhuRjtBQUFBLEdBREssRUFNTCxFQU5LLENBQVA7QUFRRCxDLENBRUQ7QUFDQTtBQUNBOzs7QUFDTyxTQUFTQyxxQkFBVCxDQUErQmxDLE1BQS9CLEVBQXVDTixTQUF2QyxFQUFrRHVCLFNBQWxELEVBQTZEO0FBQ2xFLFNBQU9qQixNQUFNLENBQUM3QixNQUFQLENBQ0wsVUFBQzJELElBQUQsRUFBTzVDLEtBQVAsRUFBY3FCLEdBQWQ7QUFBQSwyQ0FDS3VCLElBREwsNENBRUc1QyxLQUFLLENBQUNELEVBRlQsRUFFY3VDLGlCQUFpQixDQUFDdEMsS0FBRCxFQUFRUSxTQUFTLENBQUNhLEdBQUQsQ0FBakIsQ0FBakIsSUFBNENvQixjQUFjLENBQUN6QyxLQUFELEVBQVErQixTQUFSLENBRnhFO0FBQUEsR0FESyxFQUtMLEVBTEssQ0FBUDtBQU9EOztBQUVELElBQU1rQixhQUFhLEdBQUcsSUFBSUMseUJBQUosRUFBdEI7O0FBRU8sU0FBU0MscUJBQVQsQ0FBK0JuQixXQUEvQixFQUE0QztBQUNqRCxTQUFPO0FBQ0xvQixJQUFBQSxNQUFNLEVBQUVDLE9BQU8sQ0FBQ3JCLFdBQVcsSUFBSUEsV0FBVyxDQUFDc0IsTUFBNUIsQ0FBUCxJQUE4Q0MsOEJBRGpEO0FBRUxDLElBQUFBLFVBQVUsRUFBRSxDQUFDUCxhQUFEO0FBRlAsR0FBUDtBQUlEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtPVkVSTEFZX1RZUEV9IGZyb20gJ2xheWVycy9iYXNlLWxheWVyJztcbmltcG9ydCB7R0VPQ09ERVJfTEFZRVJfSUQsIE1BU0tfTEFZRVJfSUR9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCB7TWFza0V4dGVuc2lvbn0gZnJvbSAnQGRlY2suZ2wvZXh0ZW5zaW9ucyc7XG5cbi8qKlxuICogRmluZCBkZWZhdWx0IGxheWVycyBmcm9tIGZpZWxkc1xuICogQHR5cGUge3R5cGVvZiBpbXBvcnQoJy4vbGF5ZXItdXRpbHMnKS5maW5kRGVmYXVsdExheWVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZERlZmF1bHRMYXllcihkYXRhc2V0LCBsYXllckNsYXNzZXMpIHtcbiAgaWYgKCFkYXRhc2V0KSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IGxheWVyUHJvcHMgPSBPYmplY3Qua2V5cyhsYXllckNsYXNzZXMpLnJlZHVjZSgocHJldmlvdXMsIGxjKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID1cbiAgICAgIHR5cGVvZiBsYXllckNsYXNzZXNbbGNdLmZpbmREZWZhdWx0TGF5ZXJQcm9wcyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IGxheWVyQ2xhc3Nlc1tsY10uZmluZERlZmF1bHRMYXllclByb3BzKGRhdGFzZXQsIHByZXZpb3VzKVxuICAgICAgICA6IHtwcm9wczogW119O1xuXG4gICAgY29uc3QgcHJvcHMgPSBBcnJheS5pc0FycmF5KHJlc3VsdCkgPyByZXN1bHQgOiByZXN1bHQucHJvcHMgfHwgW107XG4gICAgY29uc3QgZm91bmRMYXllcnMgPSByZXN1bHQuZm91bmRMYXllcnMgfHwgcHJldmlvdXM7XG5cbiAgICByZXR1cm4gZm91bmRMYXllcnMuY29uY2F0KFxuICAgICAgcHJvcHMubWFwKHAgPT4gKHtcbiAgICAgICAgLi4ucCxcbiAgICAgICAgdHlwZTogbGMsXG4gICAgICAgIGRhdGFJZDogZGF0YXNldC5pZFxuICAgICAgfSkpXG4gICAgKTtcbiAgfSwgW10pO1xuXG4gIC8vIGdvIHRocm91Z2ggYWxsIGxheWVyUHJvcHMgdG8gY3JlYXRlIGxheWVyXG4gIHJldHVybiBsYXllclByb3BzLm1hcChwcm9wcyA9PiB7XG4gICAgY29uc3QgbGF5ZXIgPSBuZXcgbGF5ZXJDbGFzc2VzW3Byb3BzLnR5cGVdKHByb3BzKTtcbiAgICByZXR1cm4gdHlwZW9mIGxheWVyLnNldEluaXRpYWxMYXllckNvbmZpZyA9PT0gJ2Z1bmN0aW9uJyAmJiBkYXRhc2V0LmRhdGFDb250YWluZXJcbiAgICAgID8gbGF5ZXIuc2V0SW5pdGlhbExheWVyQ29uZmlnKGRhdGFzZXQpXG4gICAgICA6IGxheWVyO1xuICB9KTtcbn1cblxuLyoqXG4gKiBjYWxjdWxhdGUgbGF5ZXIgZGF0YSBiYXNlZCBvbiBsYXllciB0eXBlLCBjb2wgQ29uZmlnLFxuICogcmV0dXJuIHVwZGF0ZWQgbGF5ZXIgaWYgY29sb3JEb21haW4sIGRhdGFNYXAgaGFzIGNoYW5nZWRcbiAqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KCcuL2xheWVyLXV0aWxzJykuY2FsY3VsYXRlTGF5ZXJEYXRhfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlTGF5ZXJEYXRhKGxheWVyLCBzdGF0ZSwgb2xkTGF5ZXJEYXRhKSB7XG4gIGNvbnN0IHt0eXBlfSA9IGxheWVyO1xuXG4gIGlmICghdHlwZSB8fCAhbGF5ZXIuaGFzQWxsQ29sdW1ucygpIHx8ICFsYXllci5jb25maWcuZGF0YUlkKSB7XG4gICAgcmV0dXJuIHtsYXllciwgbGF5ZXJEYXRhOiB7fX07XG4gIH1cblxuICBjb25zdCBsYXllckRhdGEgPSBsYXllci5mb3JtYXRMYXllckRhdGEoc3RhdGUuZGF0YXNldHMsIG9sZExheWVyRGF0YSk7XG4gIHJldHVybiB7bGF5ZXJEYXRhLCBsYXllcn07XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlIHByb3BzIHBhc3NlZCB0byBMYXllckhvdmVySW5mb1xuICogQHR5cGUge3R5cGVvZiBpbXBvcnQoJy4vbGF5ZXItdXRpbHMnKS5nZXRMYXllckhvdmVyUHJvcH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldExheWVySG92ZXJQcm9wKHtcbiAgaW50ZXJhY3Rpb25Db25maWcsXG4gIGhvdmVySW5mbyxcbiAgbGF5ZXJzLFxuICBsYXllcnNUb1JlbmRlcixcbiAgZGF0YXNldHNcbn0pIHtcbiAgaWYgKGludGVyYWN0aW9uQ29uZmlnLnRvb2x0aXAuZW5hYmxlZCAmJiBob3ZlckluZm8gJiYgaG92ZXJJbmZvLnBpY2tlZCkge1xuICAgIC8vIGlmIGFueXRoaW5nIGhvdmVyZWRcbiAgICBjb25zdCB7b2JqZWN0LCBsYXllcjogb3ZlcmxheX0gPSBob3ZlckluZm87XG5cbiAgICAvLyBkZWNrZ2wgbGF5ZXIgdG8ga2VwbGVyLWdsIGxheWVyXG4gICAgY29uc3QgbGF5ZXIgPSBsYXllcnNbb3ZlcmxheS5wcm9wcy5pZHhdO1xuXG4gICAgaWYgKG9iamVjdCAmJiBsYXllciAmJiBsYXllci5nZXRIb3ZlckRhdGEgJiYgbGF5ZXJzVG9SZW5kZXJbbGF5ZXIuaWRdKSB7XG4gICAgICAvLyBpZiBsYXllciBpcyB2aXNpYmxlIGFuZCBoYXZlIGhvdmVyZWQgZGF0YVxuICAgICAgY29uc3Qge1xuICAgICAgICBjb25maWc6IHtkYXRhSWR9XG4gICAgICB9ID0gbGF5ZXI7XG4gICAgICBpZiAoIWRhdGFJZCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHtkYXRhQ29udGFpbmVyLCBmaWVsZHN9ID0gZGF0YXNldHNbZGF0YUlkXTtcbiAgICAgIGNvbnN0IGRhdGEgPSBsYXllci5nZXRIb3ZlckRhdGEob2JqZWN0LCBkYXRhQ29udGFpbmVyLCBmaWVsZHMpO1xuICAgICAgY29uc3QgZmllbGRzVG9TaG93ID0gaW50ZXJhY3Rpb25Db25maWcudG9vbHRpcC5jb25maWcuZmllbGRzVG9TaG93W2RhdGFJZF07XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGEsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgZmllbGRzVG9TaG93LFxuICAgICAgICBsYXllclxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckRlY2tHbExheWVyKHByb3BzLCBsYXllckNhbGxiYWNrcywgaWR4KSB7XG4gIGNvbnN0IHtcbiAgICBkYXRhc2V0cyxcbiAgICBsYXllcnMsXG4gICAgbGF5ZXJEYXRhLFxuICAgIGhvdmVySW5mbyxcbiAgICBjbGlja2VkLFxuICAgIG1hcFN0YXRlLFxuICAgIGludGVyYWN0aW9uQ29uZmlnLFxuICAgIGFuaW1hdGlvbkNvbmZpZyxcbiAgICBtYXBMYXllcnMsXG4gICAgbWFza1BvbHlnb24sXG4gICAgY3VzdG9tTWFya2Vyc1N0YXR1c1xuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGxheWVyID0gbGF5ZXJzW2lkeF07XG4gIGNvbnN0IGRhdGEgPSBsYXllckRhdGFbaWR4XTtcbiAgY29uc3Qge2dwdUZpbHRlcn0gPSBkYXRhc2V0c1tsYXllci5jb25maWcuZGF0YUlkXSB8fCB7fTtcbiAgY29uc3Qgb2JqZWN0SG92ZXJlZCA9IGNsaWNrZWQgfHwgaG92ZXJJbmZvO1xuICBjb25zdCB2aXNpYmxlID0gIW1hcExheWVycyB8fCAobWFwTGF5ZXJzICYmIG1hcExheWVyc1tsYXllci5pZF0pO1xuICAvLyBMYXllciBpcyBMYXllciBjbGFzc1xuICByZXR1cm4gbGF5ZXIucmVuZGVyTGF5ZXIoe1xuICAgIGRhdGEsXG4gICAgZ3B1RmlsdGVyLFxuICAgIGlkeCxcbiAgICBpbnRlcmFjdGlvbkNvbmZpZyxcbiAgICBsYXllckNhbGxiYWNrcyxcbiAgICBtYXBTdGF0ZSxcbiAgICBhbmltYXRpb25Db25maWcsXG4gICAgb2JqZWN0SG92ZXJlZCxcbiAgICB2aXNpYmxlLFxuICAgIG1hc2tQb2x5Z29uLFxuICAgIGN1c3RvbU1hcmtlcnNTdGF0dXNcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xheWVyUmVuZGVyYWJsZShsYXllciwgbGF5ZXJEYXRhKSB7XG4gIHJldHVybiBsYXllci5pZCAhPT0gR0VPQ09ERVJfTEFZRVJfSUQgJiYgbGF5ZXIuc2hvdWxkUmVuZGVyTGF5ZXIobGF5ZXJEYXRhKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTGF5ZXJWaXNpYmxlKGxheWVyLCBtYXBMYXllcnMpIHtcbiAgcmV0dXJuIChcbiAgICBsYXllci5jb25maWcuaXNWaXNpYmxlICYmXG4gICAgLy8gaWYgbGF5ZXIuaWQgaXMgbm90IGluIG1hcExheWVycywgZG9uJ3QgcmVuZGVyIGl0XG4gICAgKCFtYXBMYXllcnMgfHwgKG1hcExheWVycyAmJiBtYXBMYXllcnNbbGF5ZXIuaWRdKSlcbiAgKTtcbn1cblxuLy8gUHJlcGFyZSBhIGRpY3Qgb2YgbGF5ZXJzIHJlbmRlcmVkIGJ5IHRoZSBkZWNrLmdsXG4vLyBOb3RlLCBpc1Zpc2libGU6IGZhbHNlIGxheWVyIGlzIHBhc3NlZCB0byBkZWNrLmdsIGhlcmVcbi8vIHJldHVybiB7W2lkXTogdHJ1ZSBcXCBmYWxzZX1cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlTGF5ZXJzRm9yRGVjayhsYXllcnMsIGxheWVyRGF0YSkge1xuICByZXR1cm4gbGF5ZXJzLnJlZHVjZShcbiAgICAoYWNjdSwgbGF5ZXIsIGlkeCkgPT4gKHtcbiAgICAgIC4uLmFjY3UsXG4gICAgICBbbGF5ZXIuaWRdOlxuICAgICAgICBpc0xheWVyUmVuZGVyYWJsZShsYXllciwgbGF5ZXJEYXRhW2lkeF0pICYmIGxheWVyLm92ZXJsYXlUeXBlID09PSBPVkVSTEFZX1RZUEUuZGVja2dsXG4gICAgfSksXG4gICAge31cbiAgKTtcbn1cblxuLy8gUHJlcGFyZSBhIGRpY3Qgb2YgcmVuZGVyZWQgbGF5ZXJzIHJlbmRlcmVkIGluIHRoZSBtYXBcbi8vIFRoaXMgaW5jbHVkZXMgb25seSB0aGUgdmlzaWJpbGUgbGF5ZXJzIGZvciBzaW5nbGUgbWFwIHZpZXcgYW5kIHNwbGl0IG1hcCB2aWV3XG4vLyByZXR1cm4ge1tpZF06IHRydWUgXFwgZmFsc2V9XG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZUxheWVyc1RvUmVuZGVyKGxheWVycywgbGF5ZXJEYXRhLCBtYXBMYXllcnMpIHtcbiAgcmV0dXJuIGxheWVycy5yZWR1Y2UoXG4gICAgKGFjY3UsIGxheWVyLCBpZHgpID0+ICh7XG4gICAgICAuLi5hY2N1LFxuICAgICAgW2xheWVyLmlkXTogaXNMYXllclJlbmRlcmFibGUobGF5ZXIsIGxheWVyRGF0YVtpZHhdKSAmJiBpc0xheWVyVmlzaWJsZShsYXllciwgbWFwTGF5ZXJzKVxuICAgIH0pLFxuICAgIHt9XG4gICk7XG59XG5cbmNvbnN0IG1hc2tFeHRlbnNpb24gPSBuZXcgTWFza0V4dGVuc2lvbigpO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWFza0V4dGVuc2lvblByb3BzKG1hc2tQb2x5Z29uKSB7XG4gIHJldHVybiB7XG4gICAgbWFza0lkOiBCb29sZWFuKG1hc2tQb2x5Z29uICYmIG1hc2tQb2x5Z29uLmxlbmd0aCkgJiYgTUFTS19MQVlFUl9JRCxcbiAgICBleHRlbnNpb25zOiBbbWFza0V4dGVuc2lvbl1cbiAgfTtcbn1cbiJdfQ==
|
|
195
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9sYXllci11dGlscy5qcyJdLCJuYW1lcyI6WyJmaW5kRGVmYXVsdExheWVyIiwiZGF0YXNldCIsImxheWVyQ2xhc3NlcyIsImxheWVyUHJvcHMiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwicHJldmlvdXMiLCJsYyIsInJlc3VsdCIsImZpbmREZWZhdWx0TGF5ZXJQcm9wcyIsInByb3BzIiwiQXJyYXkiLCJpc0FycmF5IiwiZm91bmRMYXllcnMiLCJjb25jYXQiLCJtYXAiLCJwIiwidHlwZSIsImRhdGFJZCIsImlkIiwibGF5ZXIiLCJzZXRJbml0aWFsTGF5ZXJDb25maWciLCJkYXRhQ29udGFpbmVyIiwiY2FsY3VsYXRlTGF5ZXJEYXRhIiwic3RhdGUiLCJvbGRMYXllckRhdGEiLCJoYXNBbGxDb2x1bW5zIiwiY29uZmlnIiwibGF5ZXJEYXRhIiwiZm9ybWF0TGF5ZXJEYXRhIiwiZGF0YXNldHMiLCJnZXRMYXllckhvdmVyUHJvcCIsImludGVyYWN0aW9uQ29uZmlnIiwiaG92ZXJJbmZvIiwibGF5ZXJzIiwibGF5ZXJzVG9SZW5kZXIiLCJ0b29sdGlwIiwiZW5hYmxlZCIsInBpY2tlZCIsIm9iamVjdCIsIm92ZXJsYXkiLCJpZHgiLCJnZXRIb3ZlckRhdGEiLCJmaWVsZHMiLCJkYXRhIiwiZmllbGRzVG9TaG93IiwicmVuZGVyRGVja0dsTGF5ZXIiLCJsYXllckNhbGxiYWNrcyIsImNsaWNrZWQiLCJtYXBTdGF0ZSIsImFuaW1hdGlvbkNvbmZpZyIsIm1hcExheWVycyIsIm1hc2tQb2x5Z29uIiwiZ3B1RmlsdGVyIiwib2JqZWN0SG92ZXJlZCIsInZpc2libGUiLCJyZW5kZXJMYXllciIsImlzTGF5ZXJSZW5kZXJhYmxlIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJzaG91bGRSZW5kZXJMYXllciIsImlzTGF5ZXJWaXNpYmxlIiwiaXNWaXNpYmxlIiwicHJlcGFyZUxheWVyc0ZvckRlY2siLCJhY2N1Iiwib3ZlcmxheVR5cGUiLCJPVkVSTEFZX1RZUEUiLCJkZWNrZ2wiLCJwcmVwYXJlTGF5ZXJzVG9SZW5kZXIiLCJtYXNrRXh0ZW5zaW9uIiwiTWFza0V4dGVuc2lvbiIsImdldE1hc2tFeHRlbnNpb25Qcm9wcyIsIm1hc2tJZCIsIkJvb2xlYW4iLCJsZW5ndGgiLCJNQVNLX0xBWUVSX0lEIiwiZXh0ZW5zaW9ucyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQSxnQkFBVCxDQUEwQkMsT0FBMUIsRUFBbUNDLFlBQW5DLEVBQWlEO0FBQ3RELE1BQUksQ0FBQ0QsT0FBTCxFQUFjO0FBQ1osV0FBTyxFQUFQO0FBQ0Q7O0FBQ0QsTUFBTUUsVUFBVSxHQUFHQyxNQUFNLENBQUNDLElBQVAsQ0FBWUgsWUFBWixFQUEwQkksTUFBMUIsQ0FBaUMsVUFBQ0MsUUFBRCxFQUFXQyxFQUFYLEVBQWtCO0FBQ3BFLFFBQU1DLE1BQU0sR0FDVixPQUFPUCxZQUFZLENBQUNNLEVBQUQsQ0FBWixDQUFpQkUscUJBQXhCLEtBQWtELFVBQWxELEdBQ0lSLFlBQVksQ0FBQ00sRUFBRCxDQUFaLENBQWlCRSxxQkFBakIsQ0FBdUNULE9BQXZDLEVBQWdETSxRQUFoRCxDQURKLEdBRUk7QUFBQ0ksTUFBQUEsS0FBSyxFQUFFO0FBQVIsS0FITjtBQUtBLFFBQU1BLEtBQUssR0FBR0MsS0FBSyxDQUFDQyxPQUFOLENBQWNKLE1BQWQsSUFBd0JBLE1BQXhCLEdBQWlDQSxNQUFNLENBQUNFLEtBQVAsSUFBZ0IsRUFBL0Q7QUFDQSxRQUFNRyxXQUFXLEdBQUdMLE1BQU0sQ0FBQ0ssV0FBUCxJQUFzQlAsUUFBMUM7QUFFQSxXQUFPTyxXQUFXLENBQUNDLE1BQVosQ0FDTEosS0FBSyxDQUFDSyxHQUFOLENBQVUsVUFBQUMsQ0FBQztBQUFBLDZDQUNOQSxDQURNO0FBRVRDLFFBQUFBLElBQUksRUFBRVYsRUFGRztBQUdUVyxRQUFBQSxNQUFNLEVBQUVsQixPQUFP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LDRDQUVHM0MsS0FBSyxDQUFDRCxFQUZULEVBR0lzQyxpQkFBaUIsQ0FBQ3JDLEtBQUQsRUFBUVEsU0FBUyxDQUFDYSxHQUFELENBQWpCLENBQWpCLElBQTRDckIsS0FBSyxDQUFDNEMsV0FBTixLQUFzQkMsd0JBQWFDLE1BSG5GO0FBQUEsR0FESyxFQU1MLEVBTkssQ0FBUDtBQVFELEMsQ0FFRDtBQUNBO0FBQ0E7OztBQUNPLFNBQVNDLHFCQUFULENBQStCakMsTUFBL0IsRUFBdUNOLFNBQXZDLEVBQWtEdUIsU0FBbEQsRUFBNkQ7QUFDbEUsU0FBT2pCLE1BQU0sQ0FBQzdCLE1BQVAsQ0FDTCxVQUFDMEQsSUFBRCxFQUFPM0MsS0FBUCxFQUFjcUIsR0FBZDtBQUFBLDJDQUNLc0IsSUFETCw0Q0FFRzNDLEtBQUssQ0FBQ0QsRUFGVCxFQUVjc0MsaUJBQWlCLENBQUNyQyxLQUFELEVBQVFRLFNBQVMsQ0FBQ2EsR0FBRCxDQUFqQixDQUFqQixJQUE0Q21CLGNBQWMsQ0FBQ3hDLEtBQUQsRUFBUStCLFNBQVIsQ0FGeEU7QUFBQSxHQURLLEVBS0wsRUFMSyxDQUFQO0FBT0Q7O0FBRUQsSUFBTWlCLGFBQWEsR0FBRyxJQUFJQyx5QkFBSixFQUF0Qjs7QUFFTyxTQUFTQyxxQkFBVCxDQUErQmxCLFdBQS9CLEVBQTRDO0FBQ2pELFNBQU87QUFDTG1CLElBQUFBLE1BQU0sRUFBRUMsT0FBTyxDQUFDcEIsV0FBVyxJQUFJQSxXQUFXLENBQUNxQixNQUE1QixDQUFQLElBQThDQyw4QkFEakQ7QUFFTEMsSUFBQUEsVUFBVSxFQUFFLENBQUNQLGFBQUQ7QUFGUCxHQUFQO0FBSUQiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge09WRVJMQVlfVFlQRX0gZnJvbSAnbGF5ZXJzL2Jhc2UtbGF5ZXInO1xuaW1wb3J0IHtHRU9DT0RFUl9MQVlFUl9JRCwgTUFTS19MQVlFUl9JRH0gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuaW1wb3J0IHtNYXNrRXh0ZW5zaW9ufSBmcm9tICdAZGVjay5nbC9leHRlbnNpb25zJztcblxuLyoqXG4gKiBGaW5kIGRlZmF1bHQgbGF5ZXJzIGZyb20gZmllbGRzXG4gKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9sYXllci11dGlscycpLmZpbmREZWZhdWx0TGF5ZXJ9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kRGVmYXVsdExheWVyKGRhdGFzZXQsIGxheWVyQ2xhc3Nlcykge1xuICBpZiAoIWRhdGFzZXQpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgY29uc3QgbGF5ZXJQcm9wcyA9IE9iamVjdC5rZXlzKGxheWVyQ2xhc3NlcykucmVkdWNlKChwcmV2aW91cywgbGMpID0+IHtcbiAgICBjb25zdCByZXN1bHQgPVxuICAgICAgdHlwZW9mIGxheWVyQ2xhc3Nlc1tsY10uZmluZERlZmF1bHRMYXllclByb3BzID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gbGF5ZXJDbGFzc2VzW2xjXS5maW5kRGVmYXVsdExheWVyUHJvcHMoZGF0YXNldCwgcHJldmlvdXMpXG4gICAgICAgIDoge3Byb3BzOiBbXX07XG5cbiAgICBjb25zdCBwcm9wcyA9IEFycmF5LmlzQXJyYXkocmVzdWx0KSA/IHJlc3VsdCA6IHJlc3VsdC5wcm9wcyB8fCBbXTtcbiAgICBjb25zdCBmb3VuZExheWVycyA9IHJlc3VsdC5mb3VuZExheWVycyB8fCBwcmV2aW91cztcblxuICAgIHJldHVybiBmb3VuZExheWVycy5jb25jYXQoXG4gICAgICBwcm9wcy5tYXAocCA9PiAoe1xuICAgICAgICAuLi5wLFxuICAgICAgICB0eXBlOiBsYyxcbiAgICAgICAgZGF0YUlkOiBkYXRhc2V0LmlkXG4gICAgICB9KSlcbiAgICApO1xuICB9LCBbXSk7XG5cbiAgLy8gZ28gdGhyb3VnaCBhbGwgbGF5ZXJQcm9wcyB0byBjcmVhdGUgbGF5ZXJcbiAgcmV0dXJuIGxheWVyUHJvcHMubWFwKHByb3BzID0+IHtcbiAgICBjb25zdCBsYXllciA9IG5ldyBsYXllckNsYXNzZXNbcHJvcHMudHlwZV0ocHJvcHMpO1xuICAgIHJldHVybiB0eXBlb2YgbGF5ZXIuc2V0SW5pdGlhbExheWVyQ29uZmlnID09PSAnZnVuY3Rpb24nICYmIGRhdGFzZXQuZGF0YUNvbnRhaW5lclxuICAgICAgPyBsYXllci5zZXRJbml0aWFsTGF5ZXJDb25maWcoZGF0YXNldClcbiAgICAgIDogbGF5ZXI7XG4gIH0pO1xufVxuXG4vKipcbiAqIGNhbGN1bGF0ZSBsYXllciBkYXRhIGJhc2VkIG9uIGxheWVyIHR5cGUsIGNvbCBDb25maWcsXG4gKiByZXR1cm4gdXBkYXRlZCBsYXllciBpZiBjb2xvckRvbWFpbiwgZGF0YU1hcCBoYXMgY2hhbmdlZFxuICogQHR5cGUge3R5cGVvZiBpbXBvcnQoJy4vbGF5ZXItdXRpbHMnKS5jYWxjdWxhdGVMYXllckRhdGF9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVMYXllckRhdGEobGF5ZXIsIHN0YXRlLCBvbGRMYXllckRhdGEpIHtcbiAgY29uc3Qge3R5cGV9ID0gbGF5ZXI7XG5cbiAgaWYgKCF0eXBlIHx8ICFsYXllci5oYXNBbGxDb2x1bW5zKCkgfHwgIWxheWVyLmNvbmZpZy5kYXRhSWQpIHtcbiAgICByZXR1cm4ge2xheWVyLCBsYXllckRhdGE6IHt9fTtcbiAgfVxuXG4gIGNvbnN0IGxheWVyRGF0YSA9IGxheWVyLmZvcm1hdExheWVyRGF0YShzdGF0ZS5kYXRhc2V0cywgb2xkTGF5ZXJEYXRhKTtcbiAgcmV0dXJuIHtsYXllckRhdGEsIGxheWVyfTtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGUgcHJvcHMgcGFzc2VkIHRvIExheWVySG92ZXJJbmZvXG4gKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9sYXllci11dGlscycpLmdldExheWVySG92ZXJQcm9wfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGF5ZXJIb3ZlclByb3Aoe1xuICBpbnRlcmFjdGlvbkNvbmZpZyxcbiAgaG92ZXJJbmZvLFxuICBsYXllcnMsXG4gIGxheWVyc1RvUmVuZGVyLFxuICBkYXRhc2V0c1xufSkge1xuICBpZiAoaW50ZXJhY3Rpb25Db25maWcudG9vbHRpcC5lbmFibGVkICYmIGhvdmVySW5mbyAmJiBob3ZlckluZm8ucGlja2VkKSB7XG4gICAgLy8gaWYgYW55dGhpbmcgaG92ZXJlZFxuICAgIGNvbnN0IHtvYmplY3QsIGxheWVyOiBvdmVybGF5fSA9IGhvdmVySW5mbztcblxuICAgIC8vIGRlY2tnbCBsYXllciB0byBrZXBsZXItZ2wgbGF5ZXJcbiAgICBjb25zdCBsYXllciA9IGxheWVyc1tvdmVybGF5LnByb3BzLmlkeF07XG5cbiAgICBpZiAob2JqZWN0ICYmIGxheWVyICYmIGxheWVyLmdldEhvdmVyRGF0YSAmJiBsYXllcnNUb1JlbmRlcltsYXllci5pZF0pIHtcbiAgICAgIC8vIGlmIGxheWVyIGlzIHZpc2libGUgYW5kIGhhdmUgaG92ZXJlZCBkYXRhXG4gICAgICBjb25zdCB7XG4gICAgICAgIGNvbmZpZzoge2RhdGFJZH1cbiAgICAgIH0gPSBsYXllcjtcbiAgICAgIGlmICghZGF0YUlkKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3Qge2RhdGFDb250YWluZXIsIGZpZWxkc30gPSBkYXRhc2V0c1tkYXRhSWRdO1xuICAgICAgY29uc3QgZGF0YSA9IGxheWVyLmdldEhvdmVyRGF0YShvYmplY3QsIGRhdGFDb250YWluZXIsIGZpZWxkcyk7XG4gICAgICBjb25zdCBmaWVsZHNUb1Nob3cgPSBpbnRlcmFjdGlvbkNvbmZpZy50b29sdGlwLmNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICBmaWVsZHNUb1Nob3csXG4gICAgICAgIGxheWVyXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyRGVja0dsTGF5ZXIocHJvcHMsIGxheWVyQ2FsbGJhY2tzLCBpZHgpIHtcbiAgY29uc3Qge1xuICAgIGRhdGFzZXRzLFxuICAgIGxheWVycyxcbiAgICBsYXllckRhdGEsXG4gICAgaG92ZXJJbmZvLFxuICAgIGNsaWNrZWQsXG4gICAgbWFwU3RhdGUsXG4gICAgaW50ZXJhY3Rpb25Db25maWcsXG4gICAgYW5pbWF0aW9uQ29uZmlnLFxuICAgIG1hcExheWVycyxcbiAgICBtYXNrUG9seWdvblxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGxheWVyID0gbGF5ZXJzW2lkeF07XG4gIGNvbnN0IGRhdGEgPSBsYXllckRhdGFbaWR4XTtcbiAgY29uc3Qge2dwdUZpbHRlcn0gPSBkYXRhc2V0c1tsYXllci5jb25maWcuZGF0YUlkXSB8fCB7fTtcbiAgY29uc3Qgb2JqZWN0SG92ZXJlZCA9IGNsaWNrZWQgfHwgaG92ZXJJbmZvO1xuICBjb25zdCB2aXNpYmxlID0gIW1hcExheWVycyB8fCAobWFwTGF5ZXJzICYmIG1hcExheWVyc1tsYXllci5pZF0pO1xuICAvLyBMYXllciBpcyBMYXllciBjbGFzc1xuICByZXR1cm4gbGF5ZXIucmVuZGVyTGF5ZXIoe1xuICAgIGRhdGEsXG4gICAgZ3B1RmlsdGVyLFxuICAgIGlkeCxcbiAgICBpbnRlcmFjdGlvbkNvbmZpZyxcbiAgICBsYXllckNhbGxiYWNrcyxcbiAgICBtYXBTdGF0ZSxcbiAgICBhbmltYXRpb25Db25maWcsXG4gICAgb2JqZWN0SG92ZXJlZCxcbiAgICB2aXNpYmxlLFxuICAgIG1hc2tQb2x5Z29uXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMYXllclJlbmRlcmFibGUobGF5ZXIsIGxheWVyRGF0YSkge1xuICByZXR1cm4gbGF5ZXIuaWQgIT09IEdFT0NPREVSX0xBWUVSX0lEICYmIGxheWVyLnNob3VsZFJlbmRlckxheWVyKGxheWVyRGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xheWVyVmlzaWJsZShsYXllciwgbWFwTGF5ZXJzKSB7XG4gIHJldHVybiAoXG4gICAgbGF5ZXIuY29uZmlnLmlzVmlzaWJsZSAmJlxuICAgIC8vIGlmIGxheWVyLmlkIGlzIG5vdCBpbiBtYXBMYXllcnMsIGRvbid0IHJlbmRlciBpdFxuICAgICghbWFwTGF5ZXJzIHx8IChtYXBMYXllcnMgJiYgbWFwTGF5ZXJzW2xheWVyLmlkXSkpXG4gICk7XG59XG5cbi8vIFByZXBhcmUgYSBkaWN0IG9mIGxheWVycyByZW5kZXJlZCBieSB0aGUgZGVjay5nbFxuLy8gTm90ZSwgaXNWaXNpYmxlOiBmYWxzZSBsYXllciBpcyBwYXNzZWQgdG8gZGVjay5nbCBoZXJlXG4vLyByZXR1cm4ge1tpZF06IHRydWUgXFwgZmFsc2V9XG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZUxheWVyc0ZvckRlY2sobGF5ZXJzLCBsYXllckRhdGEpIHtcbiAgcmV0dXJuIGxheWVycy5yZWR1Y2UoXG4gICAgKGFjY3UsIGxheWVyLCBpZHgpID0+ICh7XG4gICAgICAuLi5hY2N1LFxuICAgICAgW2xheWVyLmlkXTpcbiAgICAgICAgaXNMYXllclJlbmRlcmFibGUobGF5ZXIsIGxheWVyRGF0YVtpZHhdKSAmJiBsYXllci5vdmVybGF5VHlwZSA9PT0gT1ZFUkxBWV9UWVBFLmRlY2tnbFxuICAgIH0pLFxuICAgIHt9XG4gICk7XG59XG5cbi8vIFByZXBhcmUgYSBkaWN0IG9mIHJlbmRlcmVkIGxheWVycyByZW5kZXJlZCBpbiB0aGUgbWFwXG4vLyBUaGlzIGluY2x1ZGVzIG9ubHkgdGhlIHZpc2liaWxlIGxheWVycyBmb3Igc2luZ2xlIG1hcCB2aWV3IGFuZCBzcGxpdCBtYXAgdmlld1xuLy8gcmV0dXJuIHtbaWRdOiB0cnVlIFxcIGZhbHNlfVxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVMYXllcnNUb1JlbmRlcihsYXllcnMsIGxheWVyRGF0YSwgbWFwTGF5ZXJzKSB7XG4gIHJldHVybiBsYXllcnMucmVkdWNlKFxuICAgIChhY2N1LCBsYXllciwgaWR4KSA9PiAoe1xuICAgICAgLi4uYWNjdSxcbiAgICAgIFtsYXllci5pZF06IGlzTGF5ZXJSZW5kZXJhYmxlKGxheWVyLCBsYXllckRhdGFbaWR4XSkgJiYgaXNMYXllclZpc2libGUobGF5ZXIsIG1hcExheWVycylcbiAgICB9KSxcbiAgICB7fVxuICApO1xufVxuXG5jb25zdCBtYXNrRXh0ZW5zaW9uID0gbmV3IE1hc2tFeHRlbnNpb24oKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1hc2tFeHRlbnNpb25Qcm9wcyhtYXNrUG9seWdvbikge1xuICByZXR1cm4ge1xuICAgIG1hc2tJZDogQm9vbGVhbihtYXNrUG9seWdvbiAmJiBtYXNrUG9seWdvbi5sZW5ndGgpICYmIE1BU0tfTEFZRVJfSUQsXG4gICAgZXh0ZW5zaW9uczogW21hc2tFeHRlbnNpb25dXG4gIH07XG59XG4iXX0=
|
|
@@ -427,7 +427,7 @@ function findPointFieldPairs(fields) {
|
|
|
427
427
|
}); // get list of all fields with matching suffixes
|
|
428
428
|
|
|
429
429
|
var acc = [];
|
|
430
|
-
|
|
430
|
+
var result = allNames.reduce(function (carry, fieldName, idx) {
|
|
431
431
|
// This search for pairs will early exit if found.
|
|
432
432
|
var _iterator = _createForOfIteratorHelper(_defaultSettings.TRIP_POINT_FIELDS),
|
|
433
433
|
_step;
|
|
@@ -478,7 +478,14 @@ function findPointFieldPairs(fields) {
|
|
|
478
478
|
}
|
|
479
479
|
|
|
480
480
|
return carry;
|
|
481
|
-
}, acc);
|
|
481
|
+
}, acc); // prioritize the 'latitude'/'longitude' pair
|
|
482
|
+
|
|
483
|
+
result.sort(function (a, b) {
|
|
484
|
+
if (a.defaultName === '' && a.suffix[0] === 'latitude') return -1;
|
|
485
|
+
if (b.defaultName === '' && b.suffix[0] === 'latitude') return 1;
|
|
486
|
+
return 0;
|
|
487
|
+
});
|
|
488
|
+
return result;
|
|
482
489
|
}
|
|
483
490
|
/**
|
|
484
491
|
*
|
|
@@ -534,4 +541,4 @@ function copyTableAndUpdate(original) {
|
|
|
534
541
|
|
|
535
542
|
var _default = KeplerTable;
|
|
536
543
|
exports["default"] = _default;
|
|
537
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy90YWJsZS11dGlscy9rZXBsZXItdGFibGUuanMiXSwibmFtZXMiOlsiRklEX0tFWSIsIktlcGxlclRhYmxlIiwiaW5mbyIsImRhdGEiLCJjb2xvciIsIm1ldGFkYXRhIiwic3VwcG9ydGVkRmlsdGVyVHlwZXMiLCJkYXRhQ29udGFpbmVyIiwicm93cyIsImZpZWxkcyIsImRhdGFzZXRJbmZvIiwiaWQiLCJsYWJlbCIsImRhdGFJZCIsIm1hcCIsImYiLCJpIiwiZmllbGRJZHgiLCJuYW1lIiwiZGlzcGxheU5hbWUiLCJ2YWx1ZUFjY2Vzc29yIiwibWF5YmVUb0RhdGUiLCJiaW5kIiwidHlwZSIsIkFMTF9GSUVMRF9UWVBFUyIsInRpbWVzdGFtcCIsImRhdGUiLCJmb3JtYXQiLCJhbGxJbmRleGVzIiwiZ2V0UGxhaW5JbmRleCIsImZpbHRlcmVkSW5kZXgiLCJmaWx0ZXJlZEluZGV4Rm9yRG9tYWluIiwiZmllbGRQYWlycyIsImZpbmRQb2ludEZpZWxkUGFpcnMiLCJncHVGaWx0ZXIiLCJjb2x1bW5OYW1lIiwiZmllbGQiLCJmaW5kIiwiZmQiLCJfYXNzZXRGaWVsZCIsImZpbmRJbmRleCIsIkJvb2xlYW4iLCJyb3dJZHgiLCJnZXRDb2x1bW5GaWVsZCIsImluZGV4IiwibmV3RmllbGQiLCJPYmplY3QiLCJhc3NpZ24iLCJnZXRDb2x1bW5GaWVsZElkeCIsImhhc093blByb3BlcnR5IiwiZmlsdGVyUHJvcHMiLCJmaWVsZERvbWFpbiIsImdldENvbHVtbkZpbHRlckRvbWFpbiIsInVwZGF0ZUNvbHVtbkZpZWxkIiwiZmlsdGVycyIsImxheWVycyIsIm9wdCIsIm9sZEZpbHRlclJlY29yZCIsImZpbHRlclJlY29yZCIsImxlbmd0aCIsImNoYW5nZWRGaWx0ZXJzIiwic2hvdWxkQ2FsRG9tYWluIiwiZHluYW1pY0RvbWFpbiIsInNob3VsZENhbEluZGV4IiwiY3B1IiwiZmlsdGVyUmVzdWx0IiwiZHluYW1pY0RvbWFpbkZpbHRlcnMiLCJjcHVGaWx0ZXJzIiwiZmlsdGVyRnVuY3MiLCJyZWR1Y2UiLCJhY2MiLCJmaWx0ZXIiLCJmaWVsZEluZGV4IiwiY3B1T25seSIsImlnbm9yZURvbWFpbiIsImZpbHRlcmVkSWR4Q1BVIiwiZmlsdGVyUmVjb3JkQ1BVIiwiZ3B1IiwiY29waWVkIiwiY29weVRhYmxlIiwiZmlsdGVyZWQiLCJmaWx0ZXJUYWJsZSIsImRvbWFpbiIsInJlYWwiLCJpbnRlZ2VyIiwic3RyaW5nIiwic2NhbGVUeXBlIiwiU0NBTEVfVFlQRVMiLCJDb25zb2xlIiwiZXJyb3IiLCJpbmRleFZhbHVlQWNjZXNzb3IiLCJzb3J0RnVuY3Rpb24iLCJvcmRpbmFsIiwicG9pbnQiLCJxdWFudGlsZSIsImxvZyIsInF1YW50aXplIiwibGluZWFyIiwic3FydCIsImZpZWxkTmFtZSIsImNvbmRpdGlvbiIsInJlbW92ZVN1ZmZpeEFuZERlbGltaXRlcnMiLCJsYXllck5hbWUiLCJzdWZmaXgiLCJyZXBsYWNlIiwiUmVnRXhwIiwidHJpbSIsImFsbE5hbWVzIiwidG9Mb3dlckNhc2UiLCJjYXJyeSIsImlkeCIsIlRSSVBfUE9JTlRfRklFTERTIiwic3VmZml4UGFpciIsImVuZHNXaXRoIiwib3RoZXJQYXR0ZXJuIiwicGFydG5lciIsInBhcnRuZXJJZHgiLCJkIiwiZGVmYXVsdE5hbWUiLCJwdXNoIiwicGFpciIsImxhdCIsInZhbHVlIiwibG5nIiwic29ydERhdGFzZXRCeUNvbHVtbiIsImRhdGFzZXQiLCJjb2x1bW4iLCJtb2RlIiwic29ydEJ5IiwiU09SVF9PUkRFUiIsIkFTQ0VORElORyIsIlVOU09SVCIsInNvcnRDb2x1bW4iLCJzb3J0T3JkZXIiLCJhc2NlbmRpbmciLCJkZXNjZW5kaW5nIiwic2xpY2UiLCJzb3J0IiwiYSIsImIiLCJ2YWx1ZUF0Iiwib3JpZ2luYWwiLCJjcmVhdGUiLCJnZXRQcm90b3R5cGVPZiIsImNvcHlUYWJsZUFuZFVwZGF0ZSIsIm9wdGlvbnMiLCJlbnRyaWVzIiwiZW50cnkiXSwibWFwcGluZ3Mi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Q0txRCxPQURMO0FBRUVPLElBQUFBLFVBQVUsdUNBQ1BOLE1BRE8sRUFDRUUsTUFERixDQUZaO0FBS0VLLElBQUFBLFNBQVMsRUFBVEE7QUFMRjtBQU9EOztBQUVNLFNBQVN0RCxTQUFULENBQW1COEQsUUFBbkIsRUFBNkI7QUFDbEMsU0FBTy9GLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjRCxNQUFNLENBQUNnRyxNQUFQLENBQWNoRyxNQUFNLENBQUNpRyxjQUFQLENBQXNCRixRQUF0QixDQUFkLENBQWQsRUFBOERBLFFBQTlELENBQVA7QUFDRDs7QUFFTSxTQUFTRyxrQkFBVCxDQUE0QkgsUUFBNUIsRUFBb0Q7QUFBQSxNQUFkSSxPQUFjLHVFQUFKLEVBQUk7QUFDekQsU0FBT25HLE1BQU0sQ0FBQ29HLE9BQVAsQ0FBZUQsT0FBZixFQUF3QjVFLE1BQXhCLENBQStCLFVBQUNDLEdBQUQsRUFBTTZFLEtBQU4sRUFBZ0I7QUFDcEQ3RSxJQUFBQSxHQUFHLENBQUM2RSxLQUFLLENBQUMsQ0FBRCxDQUFOLENBQUgsR0FBZ0JBLEtBQUssQ0FBQyxDQUFELENBQXJCO0FBQ0EsV0FBTzdFLEdBQVA7QUFDRCxHQUhNLEVBR0pTLFNBQVMsQ0FBQzhELFFBQUQsQ0FITCxDQUFQO0FBSUQ7O2VBRWM1SSxXIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtjb25zb2xlIGFzIENvbnNvbGV9IGZyb20gJ2dsb2JhbC9jb25zb2xlJztcbmltcG9ydCB7VFJJUF9QT0lOVF9GSUVMRFMsIFNPUlRfT1JERVJ9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCB7YXNjZW5kaW5nLCBkZXNjZW5kaW5nfSBmcm9tICdkMy1hcnJheSc7XG5cbi8vIGltcG9ydCB7dmFsaWRhdGVJbnB1dERhdGF9IGZyb20gJ3Byb2Nlc3NvcnMvZGF0YS1wcm9jZXNzb3InO1xuaW1wb3J0IHtnZW5lcmF0ZUhhc2hJZH0gZnJvbSAndXRpbHMvdXRpbHMnO1xuaW1wb3J0IHtnZXRHcHVGaWx0ZXJQcm9wcywgZ2V0RGF0YXNldEZpZWxkSW5kZXhGb3JGaWx0ZXJ9IGZyb20gJ3V0aWxzL2dwdS1maWx0ZXItdXRpbHMnO1xuaW1wb3J0IHtcbiAgZ2V0RmlsdGVyUHJvcHMsXG4gIGdldEZpbHRlclJlY29yZCxcbiAgZGlmZkZpbHRlcnMsXG4gIGdldEZpbHRlckZ1bmN0aW9uLFxuICBmaWx0ZXJEYXRhQnlGaWx0ZXJUeXBlcyxcbiAgZ2V0TnVtZXJpY0ZpZWxkRG9tYWluLFxuICBnZXRUaW1lc3RhbXBGaWVsZERvbWFpblxufSBmcm9tICd1dGlscy9maWx0ZXItdXRpbHMnO1xuaW1wb3J0IHttYXliZVRvRGF0ZSwgZ2V0U29ydGluZ0Z1bmN0aW9ufSBmcm9tICd1dGlscy9kYXRhLXV0aWxzJztcbmltcG9ydCB7XG4gIGdldFF1YW50aWxlRG9tYWluLFxuICBnZXRPcmRpbmFsRG9tYWluLFxuICBnZXRMb2dEb21haW4sXG4gIGdldExpbmVhckRvbWFpblxufSBmcm9tICd1dGlscy9kYXRhLXNjYWxlLXV0aWxzJztcblxuaW1wb3J0IHtBTExfRklFTERfVFlQRVMsIFNDQUxFX1RZUEVTfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5cbmltcG9ydCB7Y3JlYXRlRGF0YUNvbnRhaW5lcn0gZnJvbSAnLi9kYXRhLWNvbnRhaW5lci11dGlscyc7XG5cbi8vIFVuaXF1ZSBpZGVudGlmaWVyIG9mIGVhY2ggZmllbGRcbmNvbnN0IEZJRF9LRVkgPSAnbmFtZSc7XG5cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KCcuL2tlcGxlci10YWJsZScpLktlcGxlclRhYmxlfSBLZXBsZXJUYWJsZUNsYXNzfSAqL1xuXG4vKipcbiAqIEB0eXBlIHtLZXBsZXJUYWJsZUNsYXNzfVxuICovXG5jbGFzcyBLZXBsZXJUYWJsZSB7XG4gIGNvbnN0cnVjdG9yKHtpbmZvID0ge30sIGRhdGEsIGNvbG9yLCBtZXRhZGF0YSwgc3VwcG9ydGVkRmlsdGVyVHlwZXN9KSB7XG4gICAgLy8gVE9ETyAtIHdoYXQgdG8gZG8gaWYgdmFsaWRhdGlvbiBmYWlscz8gQ2FuIGtlcGxlciBoYW5kbGUgZXhjZXB0aW9ucz9cbiAgICAvLyBjb25zdCB2YWxpZGF0ZWREYXRhID0gdmFsaWRhdGVJbnB1dERhdGEoZGF0YSk7XG4gICAgLy8gaWYgKCF2YWxpZGF0ZWREYXRhKSB7XG4gICAgLy8gICByZXR1cm4gdGhpcztcbiAgICAvLyB9XG5cbiAgICBjb25zdCBkYXRhQ29udGFpbmVyID0gY3JlYXRlRGF0YUNvbnRhaW5lcihkYXRhLnJvd3MsIHtmaWVsZHM6IGRhdGEuZmllbGRzfSk7XG5cbiAgICBjb25zdCBkYXRhc2V0SW5mbyA9IHtcbiAgICAgIGlkOiBnZW5lcmF0ZUhhc2hJZCg0KSxcbiAgICAgIGxhYmVsOiAnbmV3IGRhdGFzZXQnLFxuICAgICAgLi4uKGluZm8gfHwge30pXG4gICAgfTtcbiAgICBjb25zdCBkYXRhSWQgPSBkYXRhc2V0SW5mby5pZDtcblxuICAgIGNvbnN0IGZpZWxkcyA9IGRhdGEuZmllbGRzLm1hcCgoZiwgaSkgPT4gKHtcbiAgICAgIC4uLmYsXG4gICAgICBmaWVsZElkeDogaSxcbiAgICAgIGlkOiBmLm5hbWUsXG4gICAgICBkaXNwbGF5TmFtZTogZi5kaXNwbGF5TmFtZSB8fCBmLm5hbWUsXG4gICAgICB2YWx1ZUFjY2Vzc29yOiBtYXliZVRvRGF0ZS5iaW5kKFxuICAgICAgICBudWxsLFxuICAgICAgICAvLyBpcyB0aW1lXG4gICAgICAgIGYudHlwZSA9PT0gQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcCB8fCBmLnR5cGUgPT09IEFMTF9GSUVMRF9UWVBFUy5kYXRlLFxuICAgICAgICBpLFxuICAgICAgICBmLmZvcm1hdCxcbiAgICAgICAgZGF0YUNvbnRhaW5lclxuICAgICAgKVxuICAgIH0pKTtcblxuICAgIGNvbnN0IGFsbEluZGV4ZXMgPSBkYXRhQ29udGFpbmVyLmdldFBsYWluSW5kZXgoKTtcblxuICAgIHRoaXMuaWQgPSBkYXRhc2V0SW5mby5pZDtcbiAgICB0aGlzLmxhYmVsID0gZGF0YXNldEluZm8ubGFiZWw7XG4gICAgdGhpcy5jb2xvciA9IGNvbG9yO1xuICAgIHRoaXMubWV0YWRhdGEgPSB7XG4gICAgICAuLi5tZXRhZGF0YSxcbiAgICAgIGlkOiBkYXRhc2V0SW5mby5pZCxcbiAgICAgIGxhYmVsOiBkYXRhc2V0SW5mby5sYWJlbFxuICAgIH07XG5cbiAgICB0aGlzLmRhdGFDb250YWluZXIgPSBkYXRhQ29udGFpbmVyO1xuICAgIHRoaXMuYWxsSW5kZXhlcyA9IGFsbEluZGV4ZXM7XG4gICAgdGhpcy5maWx0ZXJlZEluZGV4ID0gYWxsSW5kZXhlcztcbiAgICB0aGlzLmZpbHRlcmVkSW5kZXhGb3JEb21haW4gPSBhbGxJbmRleGVzO1xuICAgIHRoaXMuZmllbGRQYWlycyA9IGZpbmRQb2ludEZpZWxkUGFpcnMoZmllbGRzKTtcbiAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB0aGlzLmdwdUZpbHRlciA9IGdldEdwdUZpbHRlclByb3BzKFtdLCBkYXRhSWQsIGZpZWxkcyk7XG4gICAgaWYgKHN1cHBvcnRlZEZpbHRlclR5cGVzKSB7XG4gICAgICB0aGlzLnN1cHBvcnRlZEZpbHRlclR5cGVzID0gc3VwcG9ydGVkRmlsdGVyVHlwZXM7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBmaWVsZFxuICAgKiBAcGFyYW0gY29sdW1uTmFtZVxuICAgKi9cbiAgZ2V0Q29sdW1uRmllbGQoY29sdW1uTmFtZSkge1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZHMuZmluZChmZCA9PiBmZFtGSURfS0VZXSA9PT0gY29sdW1uTmFtZSk7XG4gICAgdGhpcy5fYXNzZXRGaWVsZChjb2x1bW5OYW1lLCBmaWVsZCk7XG4gICAgcmV0dXJuIGZpZWxkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBmaWVsZElkeFxuICAgKiBAcGFyYW0gY29sdW1uTmFtZVxuICAgKi9cbiAgZ2V0Q29sdW1uRmllbGRJZHgoY29sdW1uTmFtZSkge1xuICAgIGNvbnN0IGZpZWxkSWR4ID0gdGhpcy5maWVsZHMuZmluZEluZGV4KGZkID0+IGZkW0ZJRF9LRVldID09PSBjb2x1bW5OYW1lKTtcbiAgICB0aGlzLl9hc3NldEZpZWxkKGNvbHVtbk5hbWUsIEJvb2xlYW4oZmllbGRJZHggPiAtMSkpO1xuICAgIHJldHVybiBmaWVsZElkeDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHZhbHVlIG9mIGEgY2VsbFxuICAgKi9cbiAgZ2V0VmFsdWUoY29sdW1uTmFtZSwgcm93SWR4KSB7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmdldENvbHVtbkZpZWxkKGNvbHVtbk5hbWUpO1xuICAgIHJldHVybiBmaWVsZCA/IGZpZWxkLnZhbHVlQWNjZXNzb3Ioe2luZGV4OiByb3dJZHh9KSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyBleGlzdGluZyBmaWVsZCB3aXRoIGEgbmV3IG9iamVjdFxuICAgKiBAcGFyYW0gZmllbGRJZHhcbiAgICogQHBhcmFtIG5ld0ZpZWxkXG4gICAqL1xuICB1cGRhdGVDb2x1bW5GaWVsZChmaWVsZElkeCwgbmV3RmllbGQpIHtcbiAgICB0aGlzLmZpZWxkcyA9IE9iamVjdC5hc3NpZ24oWy4uLnRoaXMuZmllbGRzXSwge1tmaWVsZElkeF06IG5ld0ZpZWxkfSk7XG4gIH1cblxuICAvKipcbiAgICogU2F2ZSBmaWx0ZXJQcm9wcyB0byBmaWVsZCBhbmQgcmV0cmlldmUgaXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbHVtbk5hbWVcbiAgICovXG4gIGdldENvbHVtbkZpbHRlclByb3BzKGNvbHVtbk5hbWUpIHtcbiAgICBjb25zdCBmaWVsZElkeCA9IHRoaXMuZ2V0Q29sdW1uRmllbGRJZHgoY29sdW1uTmFtZSk7XG4gICAgaWYgKGZpZWxkSWR4IDwgMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZHNbZmllbGRJZHhdO1xuICAgIGlmIChmaWVsZC5oYXNPd25Qcm9wZXJ0eSgnZmlsdGVyUHJvcHMnKSkge1xuICAgICAgcmV0dXJuIGZpZWxkLmZpbHRlclByb3BzO1xuICAgIH1cblxuICAgIGNvbnN0IGZpZWxkRG9tYWluID0gdGhpcy5nZXRDb2x1bW5GaWx0ZXJEb21haW4oZmllbGQpO1xuICAgIGlmICghZmllbGREb21haW4pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbHRlclByb3BzID0gZ2V0RmlsdGVyUHJvcHMoZmllbGQsIGZpZWxkRG9tYWluKTtcbiAgICBjb25zdCBuZXdGaWVsZCA9IHtcbiAgICAgIC4uLmZpZWxkLFxuICAgICAgZmlsdGVyUHJvcHNcbiAgICB9O1xuXG4gICAgdGhpcy51cGRhdGVDb2x1bW5GaWVsZChmaWVsZElkeCwgbmV3RmllbGQpO1xuXG4gICAgcmV0dXJuIGZpbHRlclByb3BzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IGZpbHRlcnMgdG8gZGF0YXNldCwgcmV0dXJuIHRoZSBmaWx0ZXJlZCBkYXRhc2V0IHdpdGggdXBkYXRlZCBgZ3B1RmlsdGVyYCwgYGZpbHRlclJlY29yZGAsIGBmaWx0ZXJlZEluZGV4YCwgYGZpbHRlcmVkSW5kZXhGb3JEb21haW5gXG4gICAqIEBwYXJhbSBmaWx0ZXJzXG4gICAqIEBwYXJhbSBsYXllcnNcbiAgICogQHBhcmFtIG9wdFxuICAgKi9cbiAgZmlsdGVyVGFibGUoZmlsdGVycywgbGF5ZXJzLCBvcHQpIHtcbiAgICBjb25zdCB7ZGF0YUNvbnRhaW5lciwgaWQ6IGRhdGFJZCwgZmlsdGVyUmVjb3JkOiBvbGRGaWx0ZXJSZWNvcmQsIGZpZWxkc30gPSB0aGlzO1xuXG4gICAgLy8gaWYgdGhlcmUgaXMgbm8gZmlsdGVyc1xuICAgIGNvbnN0IGZpbHRlclJlY29yZCA9IGdldEZpbHRlclJlY29yZChkYXRhSWQsIGZpbHRlcnMsIG9wdCB8fCB7fSk7XG5cbiAgICB0aGlzLmZpbHRlclJlY29yZCA9IGZpbHRlclJlY29yZDtcbiAgICB0aGlzLmdwdUZpbHRlciA9IGdldEdwdUZpbHRlclByb3BzKGZpbHRlcnMsIGRhdGFJZCwgZmllbGRzKTtcblxuICAgIC8vIGNvbnN0IG5ld0RhdGFzZXQgPSBzZXQoWydmaWx0ZXJSZWNvcmQnXSwgZmlsdGVyUmVjb3JkLCBkYXRhc2V0KTtcblxuICAgIGlmICghZmlsdGVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRJbmRleCA9IHRoaXMuYWxsSW5kZXhlcztcbiAgICAgIHRoaXMuZmlsdGVyZWRJbmRleEZvckRvbWFpbiA9IHRoaXMuYWxsSW5kZXhlcztcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlZEZpbHRlcnMgPSBkaWZmRmlsdGVycyhmaWx0ZXJSZWNvcmQsIG9sZEZpbHRlclJlY29yZCk7XG5cbiAgICAvLyBnZW5lcmF0ZSAyIHNldHMgb2YgZmlsdGVyIHJlc3VsdFxuICAgIC8vIGZpbHRlcmVkSW5kZXggdXNlZCB0byBjYWxjdWxhdGUgbGF5ZXIgZGF0YVxuICAgIC8vIGZpbHRlcmVkSW5kZXhGb3JEb21haW4gdXNlZCB0byBjYWxjdWxhdGUgbGF5ZXIgRG9tYWluXG4gICAgY29uc3Qgc2hvdWxkQ2FsRG9tYWluID0gQm9vbGVhbih0aGlzLmNoYW5nZWRGaWx0ZXJzLmR5bmFtaWNEb21haW4pO1xuICAgIGNvbnN0IHNob3VsZENhbEluZGV4ID0gQm9vbGVhbih0aGlzLmNoYW5nZWRGaWx0ZXJzLmNwdSk7XG5cbiAgICBsZXQgZmlsdGVyUmVzdWx0ID0ge307XG4gICAgaWYgKHNob3VsZENhbERvbWFpbiB8fCBzaG91bGRDYWxJbmRleCkge1xuICAgICAgY29uc3QgZHluYW1pY0RvbWFpbkZpbHRlcnMgPSBzaG91bGRDYWxEb21haW4gPyBmaWx0ZXJSZWNvcmQuZHluYW1pY0RvbWFpbiA6IG51bGw7XG4gICAgICBjb25zdCBjcHVGaWx0ZXJzID0gc2hvdWxkQ2FsSW5kZXggPyBmaWx0ZXJSZWNvcmQuY3B1IDogbnVsbDtcblxuICAgICAgY29uc3QgZmlsdGVyRnVuY3MgPSBmaWx0ZXJzLnJlZHVjZSgoYWNjLCBmaWx0ZXIpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IGdldERhdGFzZXRGaWVsZEluZGV4Rm9yRmlsdGVyKHRoaXMuaWQsIGZpbHRlcik7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gZmllbGRJbmRleCAhPT0gLTEgPyBmaWVsZHNbZmllbGRJbmRleF0gOiBudWxsO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgIFtmaWx0ZXIuaWRdOiBnZXRGaWx0ZXJGdW5jdGlvbihmaWVsZCwgdGhpcy5pZCwgZmlsdGVyLCBsYXllcnMsIGRhdGFDb250YWluZXIpXG4gICAgICAgIH07XG4gICAgICB9LCB7fSk7XG5cbiAgICAgIGZpbHRlclJlc3VsdCA9IGZpbHRlckRhdGFCeUZpbHRlclR5cGVzKFxuICAgICAgICB7ZHluYW1pY0RvbWFpbkZpbHRlcnMsIGNwdUZpbHRlcnMsIGZpbHRlckZ1bmNzfSxcbiAgICAgICAgZGF0YUNvbnRhaW5lclxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmZpbHRlcmVkSW5kZXggPSBmaWx0ZXJSZXN1bHQuZmlsdGVyZWRJbmRleCB8fCB0aGlzLmZpbHRlcmVkSW5kZXg7XG4gICAgdGhpcy5maWx0ZXJlZEluZGV4Rm9yRG9tYWluID1cbiAgICAgIGZpbHRlclJlc3VsdC5maWx0ZXJlZEluZGV4Rm9yRG9tYWluIHx8IHRoaXMuZmlsdGVyZWRJbmRleEZvckRvbWFpbjtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IGZpbHRlcnMgdG8gYSBkYXRhc2V0IGFsbCBvbiBDUFUsIGFzc2lnbiB0byBgZmlsdGVyZWRJZHhDUFVgLCBgZmlsdGVyUmVjb3JkQ1BVYFxuICAgKiBAcGFyYW0gZmlsdGVyc1xuICAgKiBAcGFyYW0gbGF5ZXJzXG4gICAqL1xuICBmaWx0ZXJUYWJsZUNQVShmaWx0ZXJzLCBsYXllcnMpIHtcbiAgICBjb25zdCBvcHQgPSB7XG4gICAgICBjcHVPbmx5OiB0cnVlLFxuICAgICAgaWdub3JlRG9tYWluOiB0cnVlXG4gICAgfTtcblxuICAgIC8vIG5vIGZpbHRlclxuICAgIGlmICghZmlsdGVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRJZHhDUFUgPSB0aGlzLmFsbEluZGV4ZXM7XG4gICAgICB0aGlzLmZpbHRlclJlY29yZENQVSA9IGdldEZpbHRlclJlY29yZCh0aGlzLmlkLCBmaWx0ZXJzLCBvcHQpO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gbm8gZ3B1IGZpbHRlclxuICAgIGlmICghZmlsdGVycy5maW5kKGYgPT4gZi5ncHUpKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkSWR4Q1BVID0gdGhpcy5maWx0ZXJlZEluZGV4O1xuICAgICAgdGhpcy5maWx0ZXJSZWNvcmRDUFUgPSBnZXRGaWx0ZXJSZWNvcmQodGhpcy5pZCwgZmlsdGVycywgb3B0KTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8vIG1ha2UgYSBjb3B5IGZvciBjcHUgZmlsdGVyaW5nXG4gICAgY29uc3QgY29waWVkID0gY29weVRhYmxlKHRoaXMpO1xuXG4gICAgY29waWVkLmZpbHRlclJlY29yZCA9IHRoaXMuZmlsdGVyUmVjb3JkQ1BVO1xuICAgIGNvcGllZC5maWx0ZXJlZEluZGV4ID0gdGhpcy5maWx0ZXJlZElkeENQVSB8fCBbXTtcblxuICAgIGNvbnN0IGZpbHRlcmVkID0gY29waWVkLmZpbHRlclRhYmxlKGZpbHRlcnMsIGxheWVycywgb3B0KTtcblxuICAgIHRoaXMuZmlsdGVyZWRJZHhDUFUgPSBmaWx0ZXJlZC5maWx0ZXJlZEluZGV4O1xuICAgIHRoaXMuZmlsdGVyUmVjb3JkQ1BVID0gZmlsdGVyZWQuZmlsdGVyUmVjb3JkO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlIGZpZWxkIGRvbWFpbiBiYXNlZCBvbiBmaWVsZCB0eXBlIGFuZCBkYXRhXG4gICAqIGZvciBGaWx0ZXJcbiAgICovXG4gIGdldENvbHVtbkZpbHRlckRvbWFpbihmaWVsZCkge1xuICAgIGNvbnN0IHtkYXRhQ29udGFpbmVyfSA9IHRoaXM7XG4gICAgY29uc3Qge3ZhbHVlQWNjZXNzb3J9ID0gZmllbGQ7XG5cbiAgICBsZXQgZG9tYWluO1xuXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5yZWFsOlxuICAgICAgY2FzZSBBTExfRklFTERfVFlQRVMuaW50ZWdlcjpcbiAgICAgICAgLy8gY2FsY3VsYXRlIGRvbWFpbiBhbmQgc3RlcFxuICAgICAgICByZXR1cm4gZ2V0TnVtZXJpY0ZpZWxkRG9tYWluKGRhdGFDb250YWluZXIsIHZhbHVlQWNjZXNzb3IpO1xuXG4gICAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5ib29sZWFuOlxuICAgICAgICByZXR1cm4ge2RvbWFpbjogW3RydWUsIGZhbHNlXX07XG5cbiAgICAgIGNhc2UgQUxMX0ZJRUxEX1RZUEVTLnN0cmluZzpcbiAgICAgIGNhc2UgQUxMX0ZJRUxEX1RZUEVTLmRhdGU6XG4gICAgICAgIGRvbWFpbiA9IGdldE9yZGluYWxEb21haW4oZGF0YUNvbnRhaW5lciwgdmFsdWVBY2Nlc3Nvcik7XG4gICAgICAgIHJldHVybiB7ZG9tYWlufTtcblxuICAgICAgY2FzZSBBTExfRklFTERfVFlQRVMudGltZXN0YW1wOlxuICAgICAgICByZXR1cm4gZ2V0VGltZXN0YW1wRmllbGREb21haW4oZGF0YUNvbnRhaW5lciwgdmFsdWVBY2Nlc3Nvcik7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB7ZG9tYWluOiBnZXRPcmRpbmFsRG9tYWluKGRhdGFDb250YWluZXIsIHZhbHVlQWNjZXNzb3IpfTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEdldCB0aGUgZG9tYWluIG9mIHRoaXMgY29sdW1uIGJhc2VkIG9uIHNjYWxlIHR5cGVcbiAgICovXG4gIGdldENvbHVtbkxheWVyRG9tYWluKGZpZWxkLCBzY2FsZVR5cGUpIHtcbiAgICBjb25zdCB7ZGF0YUNvbnRhaW5lciwgZmlsdGVyZWRJbmRleEZvckRvbWFpbn0gPSB0aGlzO1xuXG4gICAgaWYgKCFTQ0FMRV9UWVBFU1tzY2FsZVR5cGVdKSB7XG4gICAgICBDb25zb2xlLmVycm9yKGBzY2FsZSB0eXBlICR7c2NhbGVUeXBlfSBub3Qgc3VwcG9ydGVkYCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB7dmFsdWVBY2Nlc3Nvcn0gPSBmaWVsZDtcbiAgICBjb25zdCBpbmRleFZhbHVlQWNjZXNzb3IgPSBpID0+IHZhbHVlQWNjZXNzb3Ioe2luZGV4OiBpfSk7XG4gICAgY29uc3Qgc29ydEZ1bmN0aW9uID0gZ2V0U29ydGluZ0Z1bmN0aW9uKGZpZWxkLnR5cGUpO1xuXG4gICAgc3dpdGNoIChzY2FsZVR5cGUpIHtcbiAgICAgIGNhc2UgU0NBTEVfVFlQRVMub3JkaW5hbDpcbiAgICAgIGNhc2UgU0NBTEVfVFlQRVMucG9pbnQ6XG4gICAgICAgIC8vIGRvIG5vdCByZWNhbGN1bGF0ZSBvcmRpbmFsIGRvbWFpbiBiYXNlZCBvbiBmaWx0ZXJlZCBkYXRhXG4gICAgICAgIC8vIGRvbid0IG5lZWQgdG8gdXBkYXRlIG9yZGluYWwgZG9tYWluIGV2ZXJ5IHRpbWVcbiAgICAgICAgcmV0dXJuIGdldE9yZGluYWxEb21haW4oZGF0YUNvbnRhaW5lciwgdmFsdWVBY2Nlc3Nvcik7XG5cbiAgICAgIGNhc2UgU0NBTEVfVFlQRVMucXVhbnRpbGU6XG4gICAgICAgIHJldHVybiBnZXRRdWFudGlsZURvbWFpbihmaWx0ZXJlZEluZGV4Rm9yRG9tYWluLCBpbmRleFZhbHVlQWNjZXNzb3IsIHNvcnRGdW5jdGlvbik7XG5cbiAgICAgIGNhc2UgU0NBTEVfVFlQRVMubG9nOlxuICAgICAgICByZXR1cm4gZ2V0TG9nRG9tYWluKGZpbHRlcmVkSW5kZXhGb3JEb21haW4sIGluZGV4VmFsdWVBY2Nlc3Nvcik7XG5cbiAgICAgIGNhc2UgU0NBTEVfVFlQRVMucXVhbnRpemU6XG4gICAgICBjYXNlIFNDQUxFX1RZUEVTLmxpbmVhcjpcbiAgICAgIGNhc2UgU0NBTEVfVFlQRVMuc3FydDpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBnZXRMaW5lYXJEb21haW4oZmlsdGVyZWRJbmRleEZvckRvbWFpbiwgaW5kZXhWYWx1ZUFjY2Vzc29yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc2FtcGxlIG9mIHJvd3MgdG8gY2FsY3VsYXRlIGxheWVyIGJvdW5kYXJpZXNcbiAgICovXG4gIC8vIGdldFNhbXBsZURhdGEocm93cylcblxuICAvKipcbiAgICogUGFyc2UgY2VsbCB2YWx1ZSBiYXNlZCBvbiBjb2x1bW4gdHlwZSBhbmQgcmV0dXJuIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uXG4gICAqIFZhbHVlIHRoZSBmaWVsZCB2YWx1ZSwgdHlwZSB0aGUgZmllbGQgdHlwZVxuICAgKi9cbiAgLy8gcGFyc2VGaWVsZFZhbHVlKHZhbHVlLCB0eXBlKVxuXG4gIC8vIHNvcnREYXRhc2V0QnlDb2x1bW4oKVxuXG4gIC8qKlxuICAgKiBBc3NlcnQgd2hldGhlciBmaWVsZCBleGlzdFxuICAgKiBAcGFyYW0gZmllbGROYW1lXG4gICAqIEBwYXJhbSBjb25kaXRpb25cbiAgICovXG4gIF9hc3NldEZpZWxkKGZpZWxkTmFtZSwgY29uZGl0aW9uKSB7XG4gICAgaWYgKCFjb25kaXRpb24pIHtcbiAgICAgIENvbnNvbGUuZXJyb3IoYCR7ZmllbGROYW1lfSBkb2VzbnQgZXhpc3QgaW4gZGF0YXNldCAke3RoaXMuaWR9YCk7XG4gICAgfVxuICB9XG59XG5cbi8vIEhFTFBFUiBGVU5DVElPTlMgKE1BSU5MWSBFWFBPUlRFRCBGT1IgVEVTVC4uLilcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVN1ZmZpeEFuZERlbGltaXRlcnMobGF5ZXJOYW1lLCBzdWZmaXgpIHtcbiAgcmV0dXJuIGxheWVyTmFtZVxuICAgIC5yZXBsYWNlKG5ldyBSZWdFeHAoc3VmZml4LCAnaWcnKSwgJycpXG4gICAgLnJlcGxhY2UoL1tfLC5dKy9nLCAnICcpXG4gICAgLnRyaW0oKTtcbn1cblxuLyoqXG4gKiBGaW5kIHBvaW50IGZpZWxkcyBwYWlycyBmcm9tIGZpZWxkc1xuICpcbiAqIEBwYXJhbSBmaWVsZHNcbiAqIEByZXR1cm5zIGZvdW5kIHBvaW50IGZpZWxkc1xuICogQHR5cGUge3R5cGVvZiBpbXBvcnQoJy4va2VwbGVyLXRhYmxlJykuZmluZFBvaW50RmllbGRQYWlyc31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRQb2ludEZpZWxkUGFpcnMoZmllbGRzKSB7XG4gIGNvbnN0IGFsbE5hbWVzID0gZmllbGRzLm1hcChmID0+IGYubmFtZS50b0xvd2VyQ2FzZSgpKTtcblxuICAvLyBnZXQgbGlzdCBvZiBhbGwgZmllbGRzIHdpdGggbWF0Y2hpbmcgc3VmZml4ZXNcbiAgY29uc3QgYWNjID0gW107XG4gIHJldHVybiBhbGxOYW1lcy5yZWR1Y2UoKGNhcnJ5LCBmaWVsZE5hbWUsIGlkeCkgPT4ge1xuICAgIC8vIFRoaXMgc2VhcmNoIGZvciBwYWlycyB3aWxsIGVhcmx5IGV4aXQgaWYgZm91bmQuXG4gICAgZm9yIChjb25zdCBzdWZmaXhQYWlyIG9mIFRSSVBfUE9JTlRfRklFTERTKSB7XG4gICAgICAvLyBtYXRjaCBmaXJzdCBzdWZmaXhgYGBcbiAgICAgIGlmIChmaWVsZE5hbWUuZW5kc1dpdGgoc3VmZml4UGFpclswXSkpIHtcbiAgICAgICAgLy8gbWF0Y2ggc2Vjb25kIHN1ZmZpeFxuICAgICAgICBjb25zdCBvdGhlclBhdHRlcm4gPSBuZXcgUmVnRXhwKGAke3N1ZmZpeFBhaXJbMF19XFwkYCk7XG4gICAgICAgIGNvbnN0IHBhcnRuZXIgPSBmaWVsZE5hbWUucmVwbGFjZShvdGhlclBhdHRlcm4sIHN1ZmZpeFBhaXJbMV0pO1xuXG4gICAgICAgIGNvbnN0IHBhcnRuZXJJZHggPSBhbGxOYW1lcy5maW5kSW5kZXgoZCA9PiBkID09PSBwYXJ0bmVyKTtcbiAgICAgICAgaWYgKHBhcnRuZXJJZHggPiAtMSkge1xuICAgICAgICAgIGNvbnN0IGRlZmF1bHROYW1lID0gcmVtb3ZlU3VmZml4QW5kRGVsaW1pdGVycyhmaWVsZE5hbWUsIHN1ZmZpeFBhaXJbMF0pO1xuXG4gICAgICAgICAgY2FycnkucHVzaCh7XG4gICAgICAgICAgICBkZWZhdWx0TmFtZSxcbiAgICAgICAgICAgIHBhaXI6IHtcbiAgICAgICAgICAgICAgbGF0OiB7XG4gICAgICAgICAgICAgICAgZmllbGRJZHg6IGlkeCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmllbGRzW2lkeF0ubmFtZVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBsbmc6IHtcbiAgICAgICAgICAgICAgICBmaWVsZElkeDogcGFydG5lcklkeCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmllbGRzW3BhcnRuZXJJZHhdLm5hbWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1ZmZpeDogc3VmZml4UGFpclxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBjYXJyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2Fycnk7XG4gIH0sIGFjYyk7XG59XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBkYXRhc2V0XG4gKiBAcGFyYW0gY29sdW1uXG4gKiBAcGFyYW0gbW9kZVxuICogQHR5cGUge3R5cGVvZiBpbXBvcnQoJy4va2VwbGVyLXRhYmxlJykuc29ydERhdGFzZXRCeUNvbHVtbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNvcnREYXRhc2V0QnlDb2x1bW4oZGF0YXNldCwgY29sdW1uLCBtb2RlKSB7XG4gIGNvbnN0IHthbGxJbmRleGVzLCBmaWVsZHMsIGRhdGFDb250YWluZXJ9ID0gZGF0YXNldDtcbiAgY29uc3QgZmllbGRJbmRleCA9IGZpZWxkcy5maW5kSW5kZXgoZiA9PiBmLm5hbWUgPT09IGNvbHVtbik7XG4gIGlmIChmaWVsZEluZGV4IDwgMCkge1xuICAgIHJldHVybiBkYXRhc2V0O1xuICB9XG5cbiAgY29uc3Qgc29ydEJ5ID0gU09SVF9PUkRFUlttb2RlXSB8fCBTT1JUX09SREVSLkFTQ0VORElORztcblxuICBpZiAoc29ydEJ5ID09PSBTT1JUX09SREVSLlVOU09SVCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5kYXRhc2V0LFxuICAgICAgc29ydENvbHVtbjoge30sXG4gICAgICBzb3J0T3JkZXI6IG51bGxcbiAgICB9O1xuICB9XG5cbiAgY29uc3Qgc29ydEZ1bmN0aW9uID0gc29ydEJ5ID09PSBTT1JUX09SREVSLkFTQ0VORElORyA/IGFzY2VuZGluZyA6IGRlc2NlbmRpbmc7XG4gIGNvbnN0IHNvcnRPcmRlciA9IGFsbEluZGV4ZXNcbiAgICAuc2xpY2UoKVxuICAgIC5zb3J0KChhLCBiKSA9PlxuICAgICAgc29ydEZ1bmN0aW9uKGRhdGFDb250YWluZXIudmFsdWVBdChhLCBmaWVsZEluZGV4KSwgZGF0YUNvbnRhaW5lci52YWx1ZUF0KGIsIGZpZWxkSW5kZXgpKVxuICAgICk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kYXRhc2V0LFxuICAgIHNvcnRDb2x1bW46IHtcbiAgICAgIFtjb2x1bW5dOiBzb3J0QnlcbiAgICB9LFxuICAgIHNvcnRPcmRlclxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29weVRhYmxlKG9yaWdpbmFsKSB7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKG9yaWdpbmFsKSksIG9yaWdpbmFsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvcHlUYWJsZUFuZFVwZGF0ZShvcmlnaW5hbCwgb3B0aW9ucyA9IHt9KSB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhvcHRpb25zKS5yZWR1Y2UoKGFjYywgZW50cnkpID0+IHtcbiAgICBhY2NbZW50cnlbMF1dID0gZW50cnlbMV07XG4gICAgcmV0dXJuIGFjYztcbiAgfSwgY29weVRhYmxlKG9yaWdpbmFsKSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEtlcGxlclRhYmxlO1xuIl19
|
|
544
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy90YWJsZS11dGlscy9rZXBsZXItdGFibGUuanMiXSwibmFtZXMiOlsiRklEX0tFWSIsIktlcGxlclRhYmxlIiwiaW5mbyIsImRhdGEiLCJjb2xvciIsIm1ldGFkYXRhIiwic3VwcG9ydGVkRmlsdGVyVHlwZXMiLCJkYXRhQ29udGFpbmVyIiwicm93cyIsImZpZWxkcyIsImRhdGFzZXRJbmZvIiwiaWQiLCJsYWJlbCIsImRhdGFJZCIsIm1hcCIsImYiLCJpIiwiZmllbGRJZHgiLCJuYW1lIiwiZGlzcGxheU5hbWUiLCJ2YWx1ZUFjY2Vzc29yIiwibWF5YmVUb0RhdGUiLCJiaW5kIiwidHlwZSIsIkFMTF9GSUVMRF9UWVBFUyIsInRpbWVzdGFtcCIsImRhdGUiLCJmb3JtYXQiLCJhbGxJbmRleGVzIiwiZ2V0UGxhaW5JbmRleCIsImZpbHRlcmVkSW5kZXgiLCJmaWx0ZXJlZEluZGV4Rm9yRG9tYWluIiwiZmllbGRQYWlycyIsImZpbmRQb2ludEZpZWxkUGFpcnMiLCJncHVGaWx0ZXIiLCJjb2x1bW5OYW1lIiwiZmllbGQiLCJmaW5kIiwiZmQiLCJfYXNzZXRGaWVsZCIsImZpbmRJbmRleCIsIkJvb2xlYW4iLCJyb3dJZHgiLCJnZXRDb2x1bW5GaWVsZCIsImluZGV4IiwibmV3RmllbGQiLCJPYmplY3QiLCJhc3NpZ24iLCJnZXRDb2x1bW5GaWVsZElkeCIsImhhc093blByb3BlcnR5IiwiZmlsdGVyUHJvcHMiLCJmaWVsZERvbWFpbiIsImdldENvbHVtbkZpbHRlckRvbWFpbiIsInVwZGF0ZUNvbHVtbkZpZWxkIiwiZmlsdGVycyIsImxheWVycyIsIm9wdCIsIm9sZEZpbHRlclJlY29yZCIsImZpbHRlclJlY29yZCIsImxlbmd0aCIsImNoYW5nZWRGaWx0ZXJzIiwic2hvdWxkQ2FsRG9tYWluIiwiZHluYW1pY0RvbWFpbiIsInNob3VsZENhbEluZGV4IiwiY3B1IiwiZmlsdGVyUmVzdWx0IiwiZHluYW1pY0RvbWFpbkZpbHRlcnMiLCJjcHVGaWx0ZXJzIiwiZmlsdGVyRnVuY3MiLCJyZWR1Y2UiLCJhY2MiLCJmaWx0ZXIiLCJmaWVsZEluZGV4IiwiY3B1T25seSIsImlnbm9yZURvbWFpbiIsImZpbHRlcmVkSWR4Q1BVIiwiZmlsdGVyUmVjb3JkQ1BVIiwiZ3B1IiwiY29waWVkIiwiY29weVRhYmxlIiwiZmlsdGVyZWQiLCJmaWx0ZXJUYWJsZSIsImRvbWFpbiIsInJlYWwiLCJpbnRlZ2VyIiwic3RyaW5nIiwic2NhbGVUeXBlIiwiU0NBTEVfVFlQRVMiLCJDb25zb2xlIiwiZXJyb3IiLCJpbmRleFZhbHVlQWNjZXNzb3IiLCJzb3J0RnVuY3Rpb24iLCJvcmRpbmFsIiwicG9pbnQiLCJxdWFudGlsZSIsImxvZyIsInF1YW50aXplIiwibGluZWFyIiwic3FydCIsImZpZWxkTmFtZSIsImNvbmRpdGlvbiIsInJlbW92ZVN1ZmZpeEFuZERlbGltaXRlcnMiLCJsYXllck5hbWUiLCJzdWZmaXgiLCJyZXBsYWNlIiwiUmVnRXhwIiwidHJpbSIsImFsbE5hbWVzIiwidG9Mb3dlckNhc2UiLCJyZXN1bHQiLCJjYXJyeSIsImlkeCIsIlRSSVBfUE9JTlRfRklFTERTIiwic3VmZml4UGFpciIsImVuZHNXaXRoIiwib3RoZXJQYXR0ZXJuIiwicGFydG5lciIsInBhcnRuZXJJZHgiLCJkIiwiZGVmYXVsdE5hbWUiLCJwdXNoIiwicGFpciIsImxhdCIsInZhbHVlIiwibG5nIiwic29ydCIsImEiLCJiIiwic29ydERhdGFzZXRCeUNvbHVtbiIsImRhdGFzZXQiLCJjb2x1bW4iLCJtb2RlIiwic29ydEJ5IiwiU09SVF9PUkRFUiIsIkFTQ0VORElORyIsIlVOU09SVCIsInNvcnRDb2x1bW4iLCJzb3J0T3JkZXIiLCJhc2NlbmRpbmciLCJkZXNjZW5kaW5nIiwic2xpY2UiLCJ2YWx1ZUF0Iiwib3JpZ2luYWwiLCJjcmVhdGUiLCJnZXRQcm90b3R5cGVPZiIsImNvcHlUYWJsZUFuZFVwZGF0ZSIsIm9wdGlvbnMiLCJlbnRyaWVzIiwiZW50cnkiXSwi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LFciLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge2NvbnNvbGUgYXMgQ29uc29sZX0gZnJvbSAnZ2xvYmFsL2NvbnNvbGUnO1xuaW1wb3J0IHtUUklQX1BPSU5UX0ZJRUxEUywgU09SVF9PUkRFUn0gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuaW1wb3J0IHthc2NlbmRpbmcsIGRlc2NlbmRpbmd9IGZyb20gJ2QzLWFycmF5JztcblxuLy8gaW1wb3J0IHt2YWxpZGF0ZUlucHV0RGF0YX0gZnJvbSAncHJvY2Vzc29ycy9kYXRhLXByb2Nlc3Nvcic7XG5pbXBvcnQge2dlbmVyYXRlSGFzaElkfSBmcm9tICd1dGlscy91dGlscyc7XG5pbXBvcnQge2dldEdwdUZpbHRlclByb3BzLCBnZXREYXRhc2V0RmllbGRJbmRleEZvckZpbHRlcn0gZnJvbSAndXRpbHMvZ3B1LWZpbHRlci11dGlscyc7XG5pbXBvcnQge1xuICBnZXRGaWx0ZXJQcm9wcyxcbiAgZ2V0RmlsdGVyUmVjb3JkLFxuICBkaWZmRmlsdGVycyxcbiAgZ2V0RmlsdGVyRnVuY3Rpb24sXG4gIGZpbHRlckRhdGFCeUZpbHRlclR5cGVzLFxuICBnZXROdW1lcmljRmllbGREb21haW4sXG4gIGdldFRpbWVzdGFtcEZpZWxkRG9tYWluXG59IGZyb20gJ3V0aWxzL2ZpbHRlci11dGlscyc7XG5pbXBvcnQge21heWJlVG9EYXRlLCBnZXRTb3J0aW5nRnVuY3Rpb259IGZyb20gJ3V0aWxzL2RhdGEtdXRpbHMnO1xuaW1wb3J0IHtcbiAgZ2V0UXVhbnRpbGVEb21haW4sXG4gIGdldE9yZGluYWxEb21haW4sXG4gIGdldExvZ0RvbWFpbixcbiAgZ2V0TGluZWFyRG9tYWluXG59IGZyb20gJ3V0aWxzL2RhdGEtc2NhbGUtdXRpbHMnO1xuXG5pbXBvcnQge0FMTF9GSUVMRF9UWVBFUywgU0NBTEVfVFlQRVN9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcblxuaW1wb3J0IHtjcmVhdGVEYXRhQ29udGFpbmVyfSBmcm9tICcuL2RhdGEtY29udGFpbmVyLXV0aWxzJztcblxuLy8gVW5pcXVlIGlkZW50aWZpZXIgb2YgZWFjaCBmaWVsZFxuY29uc3QgRklEX0tFWSA9ICduYW1lJztcblxuLyoqIEB0eXBlZGVmIHtpbXBvcnQoJy4va2VwbGVyLXRhYmxlJykuS2VwbGVyVGFibGV9IEtlcGxlclRhYmxlQ2xhc3N9ICovXG5cbi8qKlxuICogQHR5cGUge0tlcGxlclRhYmxlQ2xhc3N9XG4gKi9cbmNsYXNzIEtlcGxlclRhYmxlIHtcbiAgY29uc3RydWN0b3Ioe2luZm8gPSB7fSwgZGF0YSwgY29sb3IsIG1ldGFkYXRhLCBzdXBwb3J0ZWRGaWx0ZXJUeXBlc30pIHtcbiAgICAvLyBUT0RPIC0gd2hhdCB0byBkbyBpZiB2YWxpZGF0aW9uIGZhaWxzPyBDYW4ga2VwbGVyIGhhbmRsZSBleGNlcHRpb25zP1xuICAgIC8vIGNvbnN0IHZhbGlkYXRlZERhdGEgPSB2YWxpZGF0ZUlucHV0RGF0YShkYXRhKTtcbiAgICAvLyBpZiAoIXZhbGlkYXRlZERhdGEpIHtcbiAgICAvLyAgIHJldHVybiB0aGlzO1xuICAgIC8vIH1cblxuICAgIGNvbnN0IGRhdGFDb250YWluZXIgPSBjcmVhdGVEYXRhQ29udGFpbmVyKGRhdGEucm93cywge2ZpZWxkczogZGF0YS5maWVsZHN9KTtcblxuICAgIGNvbnN0IGRhdGFzZXRJbmZvID0ge1xuICAgICAgaWQ6IGdlbmVyYXRlSGFzaElkKDQpLFxuICAgICAgbGFiZWw6ICduZXcgZGF0YXNldCcsXG4gICAgICAuLi4oaW5mbyB8fCB7fSlcbiAgICB9O1xuICAgIGNvbnN0IGRhdGFJZCA9IGRhdGFzZXRJbmZvLmlkO1xuXG4gICAgY29uc3QgZmllbGRzID0gZGF0YS5maWVsZHMubWFwKChmLCBpKSA9PiAoe1xuICAgICAgLi4uZixcbiAgICAgIGZpZWxkSWR4OiBpLFxuICAgICAgaWQ6IGYubmFtZSxcbiAgICAgIGRpc3BsYXlOYW1lOiBmLmRpc3BsYXlOYW1lIHx8IGYubmFtZSxcbiAgICAgIHZhbHVlQWNjZXNzb3I6IG1heWJlVG9EYXRlLmJpbmQoXG4gICAgICAgIG51bGwsXG4gICAgICAgIC8vIGlzIHRpbWVcbiAgICAgICAgZi50eXBlID09PSBBTExfRklFTERfVFlQRVMudGltZXN0YW1wIHx8IGYudHlwZSA9PT0gQUxMX0ZJRUxEX1RZUEVTLmRhdGUsXG4gICAgICAgIGksXG4gICAgICAgIGYuZm9ybWF0LFxuICAgICAgICBkYXRhQ29udGFpbmVyXG4gICAgICApXG4gICAgfSkpO1xuXG4gICAgY29uc3QgYWxsSW5kZXhlcyA9IGRhdGFDb250YWluZXIuZ2V0UGxhaW5JbmRleCgpO1xuXG4gICAgdGhpcy5pZCA9IGRhdGFzZXRJbmZvLmlkO1xuICAgIHRoaXMubGFiZWwgPSBkYXRhc2V0SW5mby5sYWJlbDtcbiAgICB0aGlzLmNvbG9yID0gY29sb3I7XG4gICAgdGhpcy5tZXRhZGF0YSA9IHtcbiAgICAgIC4uLm1ldGFkYXRhLFxuICAgICAgaWQ6IGRhdGFzZXRJbmZvLmlkLFxuICAgICAgbGFiZWw6IGRhdGFzZXRJbmZvLmxhYmVsXG4gICAgfTtcblxuICAgIHRoaXMuZGF0YUNvbnRhaW5lciA9IGRhdGFDb250YWluZXI7XG4gICAgdGhpcy5hbGxJbmRleGVzID0gYWxsSW5kZXhlcztcbiAgICB0aGlzLmZpbHRlcmVkSW5kZXggPSBhbGxJbmRleGVzO1xuICAgIHRoaXMuZmlsdGVyZWRJbmRleEZvckRvbWFpbiA9IGFsbEluZGV4ZXM7XG4gICAgdGhpcy5maWVsZFBhaXJzID0gZmluZFBvaW50RmllbGRQYWlycyhmaWVsZHMpO1xuICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIHRoaXMuZ3B1RmlsdGVyID0gZ2V0R3B1RmlsdGVyUHJvcHMoW10sIGRhdGFJZCwgZmllbGRzKTtcbiAgICBpZiAoc3VwcG9ydGVkRmlsdGVyVHlwZXMpIHtcbiAgICAgIHRoaXMuc3VwcG9ydGVkRmlsdGVyVHlwZXMgPSBzdXBwb3J0ZWRGaWx0ZXJUeXBlcztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGZpZWxkXG4gICAqIEBwYXJhbSBjb2x1bW5OYW1lXG4gICAqL1xuICBnZXRDb2x1bW5GaWVsZChjb2x1bW5OYW1lKSB7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkcy5maW5kKGZkID0+IGZkW0ZJRF9LRVldID09PSBjb2x1bW5OYW1lKTtcbiAgICB0aGlzLl9hc3NldEZpZWxkKGNvbHVtbk5hbWUsIGZpZWxkKTtcbiAgICByZXR1cm4gZmllbGQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGZpZWxkSWR4XG4gICAqIEBwYXJhbSBjb2x1bW5OYW1lXG4gICAqL1xuICBnZXRDb2x1bW5GaWVsZElkeChjb2x1bW5OYW1lKSB7XG4gICAgY29uc3QgZmllbGRJZHggPSB0aGlzLmZpZWxkcy5maW5kSW5kZXgoZmQgPT4gZmRbRklEX0tFWV0gPT09IGNvbHVtbk5hbWUpO1xuICAgIHRoaXMuX2Fzc2V0RmllbGQoY29sdW1uTmFtZSwgQm9vbGVhbihmaWVsZElkeCA+IC0xKSk7XG4gICAgcmV0dXJuIGZpZWxkSWR4O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdmFsdWUgb2YgYSBjZWxsXG4gICAqL1xuICBnZXRWYWx1ZShjb2x1bW5OYW1lLCByb3dJZHgpIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZ2V0Q29sdW1uRmllbGQoY29sdW1uTmFtZSk7XG4gICAgcmV0dXJuIGZpZWxkID8gZmllbGQudmFsdWVBY2Nlc3Nvcih7aW5kZXg6IHJvd0lkeH0pIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIGV4aXN0aW5nIGZpZWxkIHdpdGggYSBuZXcgb2JqZWN0XG4gICAqIEBwYXJhbSBmaWVsZElkeFxuICAgKiBAcGFyYW0gbmV3RmllbGRcbiAgICovXG4gIHVwZGF0ZUNvbHVtbkZpZWxkKGZpZWxkSWR4LCBuZXdGaWVsZCkge1xuICAgIHRoaXMuZmllbGRzID0gT2JqZWN0LmFzc2lnbihbLi4udGhpcy5maWVsZHNdLCB7W2ZpZWxkSWR4XTogbmV3RmllbGR9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIGZpbHRlclByb3BzIHRvIGZpZWxkIGFuZCByZXRyaWV2ZSBpdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29sdW1uTmFtZVxuICAgKi9cbiAgZ2V0Q29sdW1uRmlsdGVyUHJvcHMoY29sdW1uTmFtZSkge1xuICAgIGNvbnN0IGZpZWxkSWR4ID0gdGhpcy5nZXRDb2x1bW5GaWVsZElkeChjb2x1bW5OYW1lKTtcbiAgICBpZiAoZmllbGRJZHggPCAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkc1tmaWVsZElkeF07XG4gICAgaWYgKGZpZWxkLmhhc093blByb3BlcnR5KCdmaWx0ZXJQcm9wcycpKSB7XG4gICAgICByZXR1cm4gZmllbGQuZmlsdGVyUHJvcHM7XG4gICAgfVxuXG4gICAgY29uc3QgZmllbGREb21haW4gPSB0aGlzLmdldENvbHVtbkZpbHRlckRvbWFpbihmaWVsZCk7XG4gICAgaWYgKCFmaWVsZERvbWFpbikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyUHJvcHMgPSBnZXRGaWx0ZXJQcm9wcyhmaWVsZCwgZmllbGREb21haW4pO1xuICAgIGNvbnN0IG5ld0ZpZWxkID0ge1xuICAgICAgLi4uZmllbGQsXG4gICAgICBmaWx0ZXJQcm9wc1xuICAgIH07XG5cbiAgICB0aGlzLnVwZGF0ZUNvbHVtbkZpZWxkKGZpZWxkSWR4LCBuZXdGaWVsZCk7XG5cbiAgICByZXR1cm4gZmlsdGVyUHJvcHM7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgZmlsdGVycyB0byBkYXRhc2V0LCByZXR1cm4gdGhlIGZpbHRlcmVkIGRhdGFzZXQgd2l0aCB1cGRhdGVkIGBncHVGaWx0ZXJgLCBgZmlsdGVyUmVjb3JkYCwgYGZpbHRlcmVkSW5kZXhgLCBgZmlsdGVyZWRJbmRleEZvckRvbWFpbmBcbiAgICogQHBhcmFtIGZpbHRlcnNcbiAgICogQHBhcmFtIGxheWVyc1xuICAgKiBAcGFyYW0gb3B0XG4gICAqL1xuICBmaWx0ZXJUYWJsZShmaWx0ZXJzLCBsYXllcnMsIG9wdCkge1xuICAgIGNvbnN0IHtkYXRhQ29udGFpbmVyLCBpZDogZGF0YUlkLCBmaWx0ZXJSZWNvcmQ6IG9sZEZpbHRlclJlY29yZCwgZmllbGRzfSA9IHRoaXM7XG5cbiAgICAvLyBpZiB0aGVyZSBpcyBubyBmaWx0ZXJzXG4gICAgY29uc3QgZmlsdGVyUmVjb3JkID0gZ2V0RmlsdGVyUmVjb3JkKGRhdGFJZCwgZmlsdGVycywgb3B0IHx8IHt9KTtcblxuICAgIHRoaXMuZmlsdGVyUmVjb3JkID0gZmlsdGVyUmVjb3JkO1xuICAgIHRoaXMuZ3B1RmlsdGVyID0gZ2V0R3B1RmlsdGVyUHJvcHMoZmlsdGVycywgZGF0YUlkLCBmaWVsZHMpO1xuXG4gICAgLy8gY29uc3QgbmV3RGF0YXNldCA9IHNldChbJ2ZpbHRlclJlY29yZCddLCBmaWx0ZXJSZWNvcmQsIGRhdGFzZXQpO1xuXG4gICAgaWYgKCFmaWx0ZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5maWx0ZXJlZEluZGV4ID0gdGhpcy5hbGxJbmRleGVzO1xuICAgICAgdGhpcy5maWx0ZXJlZEluZGV4Rm9yRG9tYWluID0gdGhpcy5hbGxJbmRleGVzO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgdGhpcy5jaGFuZ2VkRmlsdGVycyA9IGRpZmZGaWx0ZXJzKGZpbHRlclJlY29yZCwgb2xkRmlsdGVyUmVjb3JkKTtcblxuICAgIC8vIGdlbmVyYXRlIDIgc2V0cyBvZiBmaWx0ZXIgcmVzdWx0XG4gICAgLy8gZmlsdGVyZWRJbmRleCB1c2VkIHRvIGNhbGN1bGF0ZSBsYXllciBkYXRhXG4gICAgLy8gZmlsdGVyZWRJbmRleEZvckRvbWFpbiB1c2VkIHRvIGNhbGN1bGF0ZSBsYXllciBEb21haW5cbiAgICBjb25zdCBzaG91bGRDYWxEb21haW4gPSBCb29sZWFuKHRoaXMuY2hhbmdlZEZpbHRlcnMuZHluYW1pY0RvbWFpbik7XG4gICAgY29uc3Qgc2hvdWxkQ2FsSW5kZXggPSBCb29sZWFuKHRoaXMuY2hhbmdlZEZpbHRlcnMuY3B1KTtcblxuICAgIGxldCBmaWx0ZXJSZXN1bHQgPSB7fTtcbiAgICBpZiAoc2hvdWxkQ2FsRG9tYWluIHx8IHNob3VsZENhbEluZGV4KSB7XG4gICAgICBjb25zdCBkeW5hbWljRG9tYWluRmlsdGVycyA9IHNob3VsZENhbERvbWFpbiA/IGZpbHRlclJlY29yZC5keW5hbWljRG9tYWluIDogbnVsbDtcbiAgICAgIGNvbnN0IGNwdUZpbHRlcnMgPSBzaG91bGRDYWxJbmRleCA/IGZpbHRlclJlY29yZC5jcHUgOiBudWxsO1xuXG4gICAgICBjb25zdCBmaWx0ZXJGdW5jcyA9IGZpbHRlcnMucmVkdWNlKChhY2MsIGZpbHRlcikgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZEluZGV4ID0gZ2V0RGF0YXNldEZpZWxkSW5kZXhGb3JGaWx0ZXIodGhpcy5pZCwgZmlsdGVyKTtcbiAgICAgICAgY29uc3QgZmllbGQgPSBmaWVsZEluZGV4ICE9PSAtMSA/IGZpZWxkc1tmaWVsZEluZGV4XSA6IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgW2ZpbHRlci5pZF06IGdldEZpbHRlckZ1bmN0aW9uKGZpZWxkLCB0aGlzLmlkLCBmaWx0ZXIsIGxheWVycywgZGF0YUNvbnRhaW5lcilcbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcblxuICAgICAgZmlsdGVyUmVzdWx0ID0gZmlsdGVyRGF0YUJ5RmlsdGVyVHlwZXMoXG4gICAgICAgIHtkeW5hbWljRG9tYWluRmlsdGVycywgY3B1RmlsdGVycywgZmlsdGVyRnVuY3N9LFxuICAgICAgICBkYXRhQ29udGFpbmVyXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuZmlsdGVyZWRJbmRleCA9IGZpbHRlclJlc3VsdC5maWx0ZXJlZEluZGV4IHx8IHRoaXMuZmlsdGVyZWRJbmRleDtcbiAgICB0aGlzLmZpbHRlcmVkSW5kZXhGb3JEb21haW4gPVxuICAgICAgZmlsdGVyUmVzdWx0LmZpbHRlcmVkSW5kZXhGb3JEb21haW4gfHwgdGhpcy5maWx0ZXJlZEluZGV4Rm9yRG9tYWluO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgZmlsdGVycyB0byBhIGRhdGFzZXQgYWxsIG9uIENQVSwgYXNzaWduIHRvIGBmaWx0ZXJlZElkeENQVWAsIGBmaWx0ZXJSZWNvcmRDUFVgXG4gICAqIEBwYXJhbSBmaWx0ZXJzXG4gICAqIEBwYXJhbSBsYXllcnNcbiAgICovXG4gIGZpbHRlclRhYmxlQ1BVKGZpbHRlcnMsIGxheWVycykge1xuICAgIGNvbnN0IG9wdCA9IHtcbiAgICAgIGNwdU9ubHk6IHRydWUsXG4gICAgICBpZ25vcmVEb21haW46IHRydWVcbiAgICB9O1xuXG4gICAgLy8gbm8gZmlsdGVyXG4gICAgaWYgKCFmaWx0ZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5maWx0ZXJlZElkeENQVSA9IHRoaXMuYWxsSW5kZXhlcztcbiAgICAgIHRoaXMuZmlsdGVyUmVjb3JkQ1BVID0gZ2V0RmlsdGVyUmVjb3JkKHRoaXMuaWQsIGZpbHRlcnMsIG9wdCk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvLyBubyBncHUgZmlsdGVyXG4gICAgaWYgKCFmaWx0ZXJzLmZpbmQoZiA9PiBmLmdwdSkpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRJZHhDUFUgPSB0aGlzLmZpbHRlcmVkSW5kZXg7XG4gICAgICB0aGlzLmZpbHRlclJlY29yZENQVSA9IGdldEZpbHRlclJlY29yZCh0aGlzLmlkLCBmaWx0ZXJzLCBvcHQpO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gbWFrZSBhIGNvcHkgZm9yIGNwdSBmaWx0ZXJpbmdcbiAgICBjb25zdCBjb3BpZWQgPSBjb3B5VGFibGUodGhpcyk7XG5cbiAgICBjb3BpZWQuZmlsdGVyUmVjb3JkID0gdGhpcy5maWx0ZXJSZWNvcmRDUFU7XG4gICAgY29waWVkLmZpbHRlcmVkSW5kZXggPSB0aGlzLmZpbHRlcmVkSWR4Q1BVIHx8IFtdO1xuXG4gICAgY29uc3QgZmlsdGVyZWQgPSBjb3BpZWQuZmlsdGVyVGFibGUoZmlsdGVycywgbGF5ZXJzLCBvcHQpO1xuXG4gICAgdGhpcy5maWx0ZXJlZElkeENQVSA9IGZpbHRlcmVkLmZpbHRlcmVkSW5kZXg7XG4gICAgdGhpcy5maWx0ZXJSZWNvcmRDUFUgPSBmaWx0ZXJlZC5maWx0ZXJSZWNvcmQ7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgZmllbGQgZG9tYWluIGJhc2VkIG9uIGZpZWxkIHR5cGUgYW5kIGRhdGFcbiAgICogZm9yIEZpbHRlclxuICAgKi9cbiAgZ2V0Q29sdW1uRmlsdGVyRG9tYWluKGZpZWxkKSB7XG4gICAgY29uc3Qge2RhdGFDb250YWluZXJ9ID0gdGhpcztcbiAgICBjb25zdCB7dmFsdWVBY2Nlc3Nvcn0gPSBmaWVsZDtcblxuICAgIGxldCBkb21haW47XG5cbiAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgIGNhc2UgQUxMX0ZJRUxEX1RZUEVTLnJlYWw6XG4gICAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyOlxuICAgICAgICAvLyBjYWxjdWxhdGUgZG9tYWluIGFuZCBzdGVwXG4gICAgICAgIHJldHVybiBnZXROdW1lcmljRmllbGREb21haW4oZGF0YUNvbnRhaW5lciwgdmFsdWVBY2Nlc3Nvcik7XG5cbiAgICAgIGNhc2UgQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW46XG4gICAgICAgIHJldHVybiB7ZG9tYWluOiBbdHJ1ZSwgZmFsc2VdfTtcblxuICAgICAgY2FzZSBBTExfRklFTERfVFlQRVMuc3RyaW5nOlxuICAgICAgY2FzZSBBTExfRklFTERfVFlQRVMuZGF0ZTpcbiAgICAgICAgZG9tYWluID0gZ2V0T3JkaW5hbERvbWFpbihkYXRhQ29udGFpbmVyLCB2YWx1ZUFjY2Vzc29yKTtcbiAgICAgICAgcmV0dXJuIHtkb21haW59O1xuXG4gICAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy50aW1lc3RhbXA6XG4gICAgICAgIHJldHVybiBnZXRUaW1lc3RhbXBGaWVsZERvbWFpbihkYXRhQ29udGFpbmVyLCB2YWx1ZUFjY2Vzc29yKTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHtkb21haW46IGdldE9yZGluYWxEb21haW4oZGF0YUNvbnRhaW5lciwgdmFsdWVBY2Nlc3Nvcil9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgR2V0IHRoZSBkb21haW4gb2YgdGhpcyBjb2x1bW4gYmFzZWQgb24gc2NhbGUgdHlwZVxuICAgKi9cbiAgZ2V0Q29sdW1uTGF5ZXJEb21haW4oZmllbGQsIHNjYWxlVHlwZSkge1xuICAgIGNvbnN0IHtkYXRhQ29udGFpbmVyLCBmaWx0ZXJlZEluZGV4Rm9yRG9tYWlufSA9IHRoaXM7XG5cbiAgICBpZiAoIVNDQUxFX1RZUEVTW3NjYWxlVHlwZV0pIHtcbiAgICAgIENvbnNvbGUuZXJyb3IoYHNjYWxlIHR5cGUgJHtzY2FsZVR5cGV9IG5vdCBzdXBwb3J0ZWRgKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHt2YWx1ZUFjY2Vzc29yfSA9IGZpZWxkO1xuICAgIGNvbnN0IGluZGV4VmFsdWVBY2Nlc3NvciA9IGkgPT4gdmFsdWVBY2Nlc3Nvcih7aW5kZXg6IGl9KTtcbiAgICBjb25zdCBzb3J0RnVuY3Rpb24gPSBnZXRTb3J0aW5nRnVuY3Rpb24oZmllbGQudHlwZSk7XG5cbiAgICBzd2l0Y2ggKHNjYWxlVHlwZSkge1xuICAgICAgY2FzZSBTQ0FMRV9UWVBFUy5vcmRpbmFsOlxuICAgICAgY2FzZSBTQ0FMRV9UWVBFUy5wb2ludDpcbiAgICAgICAgLy8gZG8gbm90IHJlY2FsY3VsYXRlIG9yZGluYWwgZG9tYWluIGJhc2VkIG9uIGZpbHRlcmVkIGRhdGFcbiAgICAgICAgLy8gZG9uJ3QgbmVlZCB0byB1cGRhdGUgb3JkaW5hbCBkb21haW4gZXZlcnkgdGltZVxuICAgICAgICByZXR1cm4gZ2V0T3JkaW5hbERvbWFpbihkYXRhQ29udGFpbmVyLCB2YWx1ZUFjY2Vzc29yKTtcblxuICAgICAgY2FzZSBTQ0FMRV9UWVBFUy5xdWFudGlsZTpcbiAgICAgICAgcmV0dXJuIGdldFF1YW50aWxlRG9tYWluKGZpbHRlcmVkSW5kZXhGb3JEb21haW4sIGluZGV4VmFsdWVBY2Nlc3Nvciwgc29ydEZ1bmN0aW9uKTtcblxuICAgICAgY2FzZSBTQ0FMRV9UWVBFUy5sb2c6XG4gICAgICAgIHJldHVybiBnZXRMb2dEb21haW4oZmlsdGVyZWRJbmRleEZvckRvbWFpbiwgaW5kZXhWYWx1ZUFjY2Vzc29yKTtcblxuICAgICAgY2FzZSBTQ0FMRV9UWVBFUy5xdWFudGl6ZTpcbiAgICAgIGNhc2UgU0NBTEVfVFlQRVMubGluZWFyOlxuICAgICAgY2FzZSBTQ0FMRV9UWVBFUy5zcXJ0OlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGdldExpbmVhckRvbWFpbihmaWx0ZXJlZEluZGV4Rm9yRG9tYWluLCBpbmRleFZhbHVlQWNjZXNzb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzYW1wbGUgb2Ygcm93cyB0byBjYWxjdWxhdGUgbGF5ZXIgYm91bmRhcmllc1xuICAgKi9cbiAgLy8gZ2V0U2FtcGxlRGF0YShyb3dzKVxuXG4gIC8qKlxuICAgKiBQYXJzZSBjZWxsIHZhbHVlIGJhc2VkIG9uIGNvbHVtbiB0eXBlIGFuZCByZXR1cm4gYSBzdHJpbmcgcmVwcmVzZW50YXRpb25cbiAgICogVmFsdWUgdGhlIGZpZWxkIHZhbHVlLCB0eXBlIHRoZSBmaWVsZCB0eXBlXG4gICAqL1xuICAvLyBwYXJzZUZpZWxkVmFsdWUodmFsdWUsIHR5cGUpXG5cbiAgLy8gc29ydERhdGFzZXRCeUNvbHVtbigpXG5cbiAgLyoqXG4gICAqIEFzc2VydCB3aGV0aGVyIGZpZWxkIGV4aXN0XG4gICAqIEBwYXJhbSBmaWVsZE5hbWVcbiAgICogQHBhcmFtIGNvbmRpdGlvblxuICAgKi9cbiAgX2Fzc2V0RmllbGQoZmllbGROYW1lLCBjb25kaXRpb24pIHtcbiAgICBpZiAoIWNvbmRpdGlvbikge1xuICAgICAgQ29uc29sZS5lcnJvcihgJHtmaWVsZE5hbWV9IGRvZXNudCBleGlzdCBpbiBkYXRhc2V0ICR7dGhpcy5pZH1gKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSEVMUEVSIEZVTkNUSU9OUyAoTUFJTkxZIEVYUE9SVEVEIEZPUiBURVNULi4uKVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlU3VmZml4QW5kRGVsaW1pdGVycyhsYXllck5hbWUsIHN1ZmZpeCkge1xuICByZXR1cm4gbGF5ZXJOYW1lXG4gICAgLnJlcGxhY2UobmV3IFJlZ0V4cChzdWZmaXgsICdpZycpLCAnJylcbiAgICAucmVwbGFjZSgvW18sLl0rL2csICcgJylcbiAgICAudHJpbSgpO1xufVxuXG4vKipcbiAqIEZpbmQgcG9pbnQgZmllbGRzIHBhaXJzIGZyb20gZmllbGRzXG4gKlxuICogQHBhcmFtIGZpZWxkc1xuICogQHJldHVybnMgZm91bmQgcG9pbnQgZmllbGRzXG4gKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9rZXBsZXItdGFibGUnKS5maW5kUG9pbnRGaWVsZFBhaXJzfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFBvaW50RmllbGRQYWlycyhmaWVsZHMpIHtcbiAgY29uc3QgYWxsTmFtZXMgPSBmaWVsZHMubWFwKGYgPT4gZi5uYW1lLnRvTG93ZXJDYXNlKCkpO1xuXG4gIC8vIGdldCBsaXN0IG9mIGFsbCBmaWVsZHMgd2l0aCBtYXRjaGluZyBzdWZmaXhlc1xuICBjb25zdCBhY2MgPSBbXTtcbiAgY29uc3QgcmVzdWx0ID0gYWxsTmFtZXMucmVkdWNlKChjYXJyeSwgZmllbGROYW1lLCBpZHgpID0+IHtcbiAgICAvLyBUaGlzIHNlYXJjaCBmb3IgcGFpcnMgd2lsbCBlYXJseSBleGl0IGlmIGZvdW5kLlxuICAgIGZvciAoY29uc3Qgc3VmZml4UGFpciBvZiBUUklQX1BPSU5UX0ZJRUxEUykge1xuICAgICAgLy8gbWF0Y2ggZmlyc3Qgc3VmZml4YGBgXG4gICAgICBpZiAoZmllbGROYW1lLmVuZHNXaXRoKHN1ZmZpeFBhaXJbMF0pKSB7XG4gICAgICAgIC8vIG1hdGNoIHNlY29uZCBzdWZmaXhcbiAgICAgICAgY29uc3Qgb3RoZXJQYXR0ZXJuID0gbmV3IFJlZ0V4cChgJHtzdWZmaXhQYWlyWzBdfVxcJGApO1xuICAgICAgICBjb25zdCBwYXJ0bmVyID0gZmllbGROYW1lLnJlcGxhY2Uob3RoZXJQYXR0ZXJuLCBzdWZmaXhQYWlyWzFdKTtcblxuICAgICAgICBjb25zdCBwYXJ0bmVySWR4ID0gYWxsTmFtZXMuZmluZEluZGV4KGQgPT4gZCA9PT0gcGFydG5lcik7XG4gICAgICAgIGlmIChwYXJ0bmVySWR4ID4gLTEpIHtcbiAgICAgICAgICBjb25zdCBkZWZhdWx0TmFtZSA9IHJlbW92ZVN1ZmZpeEFuZERlbGltaXRlcnMoZmllbGROYW1lLCBzdWZmaXhQYWlyWzBdKTtcblxuICAgICAgICAgIGNhcnJ5LnB1c2goe1xuICAgICAgICAgICAgZGVmYXVsdE5hbWUsXG4gICAgICAgICAgICBwYWlyOiB7XG4gICAgICAgICAgICAgIGxhdDoge1xuICAgICAgICAgICAgICAgIGZpZWxkSWR4OiBpZHgsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZpZWxkc1tpZHhdLm5hbWVcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbG5nOiB7XG4gICAgICAgICAgICAgICAgZmllbGRJZHg6IHBhcnRuZXJJZHgsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZpZWxkc1twYXJ0bmVySWR4XS5uYW1lXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWZmaXg6IHN1ZmZpeFBhaXJcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gY2Fycnk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNhcnJ5O1xuICB9LCBhY2MpO1xuXG4gIC8vIHByaW9yaXRpemUgdGhlICdsYXRpdHVkZScvJ2xvbmdpdHVkZScgcGFpclxuICByZXN1bHQuc29ydCgoYSwgYikgPT4ge1xuICAgIGlmIChhLmRlZmF1bHROYW1lID09PSAnJyAmJiBhLnN1ZmZpeFswXSA9PT0gJ2xhdGl0dWRlJykgcmV0dXJuIC0xO1xuICAgIGlmIChiLmRlZmF1bHROYW1lID09PSAnJyAmJiBiLnN1ZmZpeFswXSA9PT0gJ2xhdGl0dWRlJykgcmV0dXJuIDE7XG4gICAgcmV0dXJuIDA7XG4gIH0pO1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBkYXRhc2V0XG4gKiBAcGFyYW0gY29sdW1uXG4gKiBAcGFyYW0gbW9kZVxuICogQHR5cGUge3R5cGVvZiBpbXBvcnQoJy4va2VwbGVyLXRhYmxlJykuc29ydERhdGFzZXRCeUNvbHVtbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNvcnREYXRhc2V0QnlDb2x1bW4oZGF0YXNldCwgY29sdW1uLCBtb2RlKSB7XG4gIGNvbnN0IHthbGxJbmRleGVzLCBmaWVsZHMsIGRhdGFDb250YWluZXJ9ID0gZGF0YXNldDtcbiAgY29uc3QgZmllbGRJbmRleCA9IGZpZWxkcy5maW5kSW5kZXgoZiA9PiBmLm5hbWUgPT09IGNvbHVtbik7XG4gIGlmIChmaWVsZEluZGV4IDwgMCkge1xuICAgIHJldHVybiBkYXRhc2V0O1xuICB9XG5cbiAgY29uc3Qgc29ydEJ5ID0gU09SVF9PUkRFUlttb2RlXSB8fCBTT1JUX09SREVSLkFTQ0VORElORztcblxuICBpZiAoc29ydEJ5ID09PSBTT1JUX09SREVSLlVOU09SVCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5kYXRhc2V0LFxuICAgICAgc29ydENvbHVtbjoge30sXG4gICAgICBzb3J0T3JkZXI6IG51bGxcbiAgICB9O1xuICB9XG5cbiAgY29uc3Qgc29ydEZ1bmN0aW9uID0gc29ydEJ5ID09PSBTT1JUX09SREVSLkFTQ0VORElORyA/IGFzY2VuZGluZyA6IGRlc2NlbmRpbmc7XG4gIGNvbnN0IHNvcnRPcmRlciA9IGFsbEluZGV4ZXNcbiAgICAuc2xpY2UoKVxuICAgIC5zb3J0KChhLCBiKSA9PlxuICAgICAgc29ydEZ1bmN0aW9uKGRhdGFDb250YWluZXIudmFsdWVBdChhLCBmaWVsZEluZGV4KSwgZGF0YUNvbnRhaW5lci52YWx1ZUF0KGIsIGZpZWxkSW5kZXgpKVxuICAgICk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kYXRhc2V0LFxuICAgIHNvcnRDb2x1bW46IHtcbiAgICAgIFtjb2x1bW5dOiBzb3J0QnlcbiAgICB9LFxuICAgIHNvcnRPcmRlclxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29weVRhYmxlKG9yaWdpbmFsKSB7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKG9yaWdpbmFsKSksIG9yaWdpbmFsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvcHlUYWJsZUFuZFVwZGF0ZShvcmlnaW5hbCwgb3B0aW9ucyA9IHt9KSB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhvcHRpb25zKS5yZWR1Y2UoKGFjYywgZW50cnkpID0+IHtcbiAgICBhY2NbZW50cnlbMF1dID0gZW50cnlbMV07XG4gICAgcmV0dXJuIGFjYztcbiAgfSwgY29weVRhYmxlKG9yaWdpbmFsKSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEtlcGxlclRhYmxlO1xuIl19
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carto/kepler.gl",
|
|
3
|
-
"author": "
|
|
4
|
-
"
|
|
3
|
+
"author": "CARTO",
|
|
4
|
+
"homepage": "https://github.com/CartoDB/carto-kepler#readme",
|
|
5
|
+
"version": "0.0.47",
|
|
5
6
|
"description": "kepler.gl is a webgl based application to visualize large scale location data in the browser",
|
|
6
7
|
"license": "MIT",
|
|
7
8
|
"main": "dist/index.js",
|
|
@@ -15,7 +16,7 @@
|
|
|
15
16
|
],
|
|
16
17
|
"repository": {
|
|
17
18
|
"type": "git",
|
|
18
|
-
"url": "https://github.com/
|
|
19
|
+
"url": "https://github.com/CartoDB/carto-kepler.git"
|
|
19
20
|
},
|
|
20
21
|
"scripts": {
|
|
21
22
|
"install:example": "cd examples/demo-app && yarn",
|
|
@@ -74,8 +75,7 @@
|
|
|
74
75
|
"schemas.js",
|
|
75
76
|
"styles.js",
|
|
76
77
|
"cloud-providers.js",
|
|
77
|
-
"localization.js"
|
|
78
|
-
"umd"
|
|
78
|
+
"localization.js"
|
|
79
79
|
],
|
|
80
80
|
"dependencies": {
|
|
81
81
|
"@mapbox/geo-viewport": "^0.4.1",
|
|
@@ -273,10 +273,6 @@
|
|
|
273
273
|
"engines": {
|
|
274
274
|
"node": ">=12.0.0"
|
|
275
275
|
},
|
|
276
|
-
"maintainers": [
|
|
277
|
-
"Shan He <heshan0131@gmail.com>",
|
|
278
|
-
"Giuseppe Macri <gmacri@uber.com>"
|
|
279
|
-
],
|
|
280
276
|
"volta": {
|
|
281
277
|
"node": "12.19.0"
|
|
282
278
|
}
|
package/src/components/index.js
CHANGED
|
@@ -73,7 +73,6 @@ export {
|
|
|
73
73
|
export {default as LayerPanelFactory} from './side-panel/layer-panel/layer-panel';
|
|
74
74
|
export {default as LayerPanelHeaderFactory} from './side-panel/layer-panel/layer-panel-header';
|
|
75
75
|
export {default as LayerConfiguratorFactory} from './side-panel/layer-panel/layer-configurator';
|
|
76
|
-
export {default as CustomMarkersConfigGroupFactory} from './side-panel/layer-panel/custom-markers-config-group';
|
|
77
76
|
export {default as TextLabelPanelFactory} from './side-panel/layer-panel/text-label-panel';
|
|
78
77
|
export {LayerConfigGroupLabelFactory} from './side-panel/layer-panel/layer-config-group';
|
|
79
78
|
export {default as LayerVisibilityByZoomFactory} from './side-panel/layer-panel/layer-visibility-by-zoom';
|
|
@@ -130,7 +130,6 @@ export const mapFieldsSelector = props => ({
|
|
|
130
130
|
clicked: props.visState.clicked,
|
|
131
131
|
mousePos: props.visState.mousePos,
|
|
132
132
|
animationConfig: props.visState.animationConfig,
|
|
133
|
-
customMarkersStatus: props.visState.customMarkersStatus,
|
|
134
133
|
|
|
135
134
|
// uiState
|
|
136
135
|
activeSidePanel: props.uiState.activeSidePanel,
|