@carto/kepler.gl 0.0.65-alpha.labels → 0.0.65-alpha.labels.2
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/map-container.js +2 -1
- package/dist/constants/default-settings.js +2 -2
- package/dist/deckgl-layers/point-label-layer/point-label-layer.js +234 -0
- package/dist/index.js +12 -2
- package/dist/layers/base-layer.js +117 -188
- package/dist/layers/layer-factory.js +2 -2
- package/dist/layers/layer-text-label.js +9 -32
- package/dist/layers/point-layer/point-layer.js +4 -7
- package/package.json +1 -1
- package/src/components/map-container.js +1 -0
- package/src/deckgl-layers/point-label-layer/point-label-layer.js +174 -0
- package/src/index.js +3 -0
- package/src/layers/base-layer.js +75 -113
- package/src/layers/layer-factory.js +1 -1
- package/src/layers/layer-text-label.js +11 -48
- package/src/layers/point-layer/point-layer.js +5 -14
- package/CHANGELOG.md +0 -899
|
@@ -62,7 +62,7 @@ exports.DEFAULT_LAYER_LABEL = DEFAULT_LAYER_LABEL;
|
|
|
62
62
|
var DEFAULT_TEXT_LABEL = {
|
|
63
63
|
field: null,
|
|
64
64
|
color: [44, 48, 50],
|
|
65
|
-
outlineColor: [
|
|
65
|
+
outlineColor: [255, 255, 255],
|
|
66
66
|
size: 12,
|
|
67
67
|
offset: [0, 0],
|
|
68
68
|
anchor: 'start',
|
|
@@ -515,4 +515,4 @@ var LAYER_TEXT_CONFIGS = {
|
|
|
515
515
|
}
|
|
516
516
|
};
|
|
517
517
|
exports.LAYER_TEXT_CONFIGS = LAYER_TEXT_CONFIGS;
|
|
518
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvbGF5ZXItZmFjdG9yeS5qcyJdLCJuYW1lcyI6WyJQUk9QRVJUWV9HUk9VUFMiLCJjb2xvciIsInN0cm9rZSIsImN1c3RvbU1hcmtlcnMiLCJsYWJlbHMiLCJyYWRpdXMiLCJoZWlnaHQiLCJhbmdsZSIsImNlbGwiLCJwcmVjaXNpb24iLCJERUZBVUxUX0xBWUVSX09QQUNJVFkiLCJERUZBVUxUX0hJR0hMSUdIVF9DT0xPUiIsIkRFRkFVTFRfTEFZRVJfTEFCRUwiLCJERUZBVUxUX1RFWFRfTEFCRUwiLCJmaWVsZCIsIm91dGxpbmVDb2xvciIsInNpemUiLCJvZmZzZXQiLCJhbmNob3IiLCJhbGlnbm1lbnQiLCJERUZBVUxUX0NVU1RPTV9QQUxFVFRFIiwibmFtZSIsInR5cGUiLCJjYXRlZ29yeSIsImNvbG9ycyIsIlVOS05PV05fQ09MT1JfS0VZIiwiREVGQVVMVF9DT0xPUl9VSSIsImN1c3RvbVBhbGV0dGUiLCJzaG93U2tldGNoZXIiLCJzaG93RHJvcGRvd24iLCJjb2xvclJhbmdlQ29uZmlnIiwic3RlcHMiLCJyZXZlcnNlZCIsImN1c3RvbSIsIkxBWUVSX1ZJU19DT05GSUdTIiwidGhpY2tuZXNzIiwiZGVmYXVsdFZhbHVlIiwibGFiZWwiLCJpc1JhbmdlZCIsInJhbmdlIiwic3RlcCIsImdyb3VwIiwicHJvcGVydHkiLCJzdHJva2VXaWR0aFJhbmdlIiwidHJhaWxMZW5ndGgiLCJyYWRpdXNSYW5nZSIsImNsdXN0ZXJSYWRpdXMiLCJjbHVzdGVyUmFkaXVzUmFuZ2UiLCJvcGFjaXR5IiwiY292ZXJhZ2UiLCJvdXRsaW5lIiwiZGlzcGxheSIsImNvbG9yUmFuZ2UiLCJERUZBVUxUX0NPTE9SX1JBTkdFIiwic3Ryb2tlQ29sb3JSYW5nZSIsInRhcmdldENvbG9yIiwic3Ryb2tlQ29sb3IiLCJhZ2dyZWdhdGlvbiIsIkFHR1JFR0FUSU9OX1RZUEVTIiwiYXZlcmFnZSIsIm9wdGlvbnMiLCJPYmplY3QiLCJrZXlzIiwiY29uZGl0aW9uIiwiY29uZmlnIiwiY29sb3JGaWVsZCIsInNpemVBZ2dyZWdhdGlvbiIsInNpemVGaWVsZCIsImhlaWdodEFnZ3JlZ2F0aW9uIiwiaGVpZ2h0RmllbGQiLCJwZXJjZW50aWxlIiwidmlzQ29uZmlnIiwiY29sb3JBZ2dyZWdhdGlvbiIsImNvbG9yU2NhbGUiLCJlbGV2YXRpb25QZXJjZW50aWxlIiwiZW5hYmxlM2QiLCJyZXNvbHV0aW9uIiwic2l6ZVNjYWxlIiwid29ybGRVbml0U2l6ZSIsImVsZXZhdGlvblNjYWxlIiwiZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvciIsImRlc2NyaXB0aW9uIiwiZWxldmF0aW9uUmFuZ2UiLCJoZWlnaHRSYW5nZSIsImNvdmVyYWdlUmFuZ2UiLCJzdHJva2VkIiwiZmlsbGVkIiwiZXh0cnVkZWQiLCJ3aXJlZnJhbWUiLCJ3ZWlnaHQiLCJ3ZWlnaHRGaWVsZCIsImhlYXRtYXBSYWRpdXMiLCJsYWJlbHNFbmFibGVkIiwiY3VzdG9tTWFya2Vyc1VybCIsImN1c3RvbU1hcmtlcnNSYW5nZSIsInVuZGVmaW5lZCIsIkxBWUVSX1RFWFRfQ09ORklHUyIsImZvbnRTaXplIiwidmFsdWUwIiwic2hvd0lucHV0IiwidGV4dEFuY2hvciIsIm11bHRpU2VsZWN0Iiwic2VhcmNoYWJsZSIsInRleHRBbGlnbm1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFFQTs7QUFDQTs7QUF2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPTyxJQUFNQSxlQUFlLEdBQUcsMkJBQVU7QUFDdkNDLEVBQUFBLEtBQUssRUFBRSxJQURnQztBQUV2Q0MsRUFBQUEsTUFBTSxFQUFFLElBRitCO0FBR3ZDQyxFQUFBQSxhQUFhLEVBQUUsSUFId0I7QUFJdkNDLEVBQUFBLE1BQU0sRUFBRSxJQUorQjtBQUt2Q0MsRUFBQUEsTUFBTSxFQUFFLElB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QVcsRUFBRSxLQUhBO0FBSWJDLElBQUFBLFVBQVUsRUFBRTtBQUpDO0FBaEJpQixDQUEzQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBrZXlNaXJyb3IgZnJvbSAna2V5bWlycm9yJztcblxuaW1wb3J0IHtBR0dSRUdBVElPTl9UWVBFU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuaW1wb3J0IHtERUZBVUxUX0NPTE9SX1JBTkdFfSBmcm9tICdjb25zdGFudHMvY29sb3ItcmFuZ2VzJztcblxuZXhwb3J0IGNvbnN0IFBST1BFUlRZX0dST1VQUyA9IGtleU1pcnJvcih7XG4gIGNvbG9yOiBudWxsLFxuICBzdHJva2U6IG51bGwsXG4gIGN1c3RvbU1hcmtlcnM6IG51bGwsXG4gIGxhYmVsczogbnVsbCxcbiAgcmFkaXVzOiBudWxsLFxuICBoZWlnaHQ6IG51bGwsXG4gIGFuZ2xlOiBudWxsLFxuICAvLyBmb3IgaGVhdG1hcCBhZ2dyZWdhdGlvblxuICBjZWxsOiBudWxsLFxuICBwcmVjaXNpb246IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9PUEFDSVRZID0gMC44O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSElHSExJR0hUX0NPTE9SID0gWzI1MiwgMjQyLCAyNiwgMjU1XTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0xBQkVMID0gJ25ldyBsYXllcic7XG5leHBvcnQge0RFRkFVTFRfQ09MT1JfUkFOR0V9O1xuXG4vKiogQHR5cGUge2ltcG9ydCgnLi9sYXllci1mYWN0b3J5JykuTGF5ZXJUZXh0TGFiZWx9ICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9URVhUX0xBQkVMID0ge1xuICBmaWVsZDogbnVsbCxcbiAgY29sb3I6IFs0NCwgNDgsIDUwXSxcbiAgb3V0bGluZUNvbG9yOiBbMCwgMCwgMF0sXG4gIHNpemU6IDEyLFxuICBvZmZzZXQ6IFswLCAwXSxcbiAgYW5jaG9yOiAnc3RhcnQnLFxuICBhbGlnbm1lbnQ6ICdjZW50ZXInXG59O1xuXG4vKiogQHR5cGUge2ltcG9ydCgnLi9sYXllci1mYWN0b3J5JykuQ29sb3JSYW5nZX0gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NVU1RPTV9QQUxFVFRFID0ge1xuICBuYW1lOiAnY29sb3IuY3VzdG9tUGFsZXR0ZScsXG4gIHR5cGU6ICdjdXN0b20nLFxuICBjYXRlZ29yeTogJ0N1c3RvbScsXG4gIGNvbG9yczogW11cbn07XG5cbmV4cG9ydCBjb25zdCBVTktOT1dOX0NPTE9SX0tFWSA9ICdfX3Vua25vd25Db2xvcl9fJztcblxuLyoqIEB0eXBlIHtpbXBvcnQoJy4vbGF5ZXItZmFjdG9yeScpLkNvbG9yVUl9ICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT0xPUl9VSSA9IHtcbiAgLy8gY3VzdG9tUGFsZXR0ZSBpbiBlZGl0XG4gIGN1c3RvbVBhbGV0dGU6IERFRkFVTFRfQ1VTVE9NX1BBTEVUVEUsXG4gIC8vIHNob3cgY29sb3Igc2tldGNoZXIgbW9kYWxcbiAgc2hvd1NrZXRjaGVyOiBmYWxzZSxcbiAgLy8gc2hvdyBjb2xvciByYW5nZSBzZWxlY3Rpb24gcGFuZWxcbiAgc2hvd0Ryb3Bkb3duOiBmYWxzZSxcbiAgLy8gY29sb3IgcmFuZ2Ugc2VsZWN0b3IgY29uZmlnXG4gIGNvbG9yUmFuZ2VDb25maWc6IHtcbiAgICB0eXBlOiAnYWxsJyxcbiAgICBzdGVwczogNixcbiAgICByZXZlcnNlZDogZmFsc2UsXG4gICAgY3VzdG9tOiBmYWxzZVxuICB9XG59O1xuXG4vKiogQHR5cGUge2ltcG9ydCgnLi9sYXllci1mYWN0b3J5JykuTGF5ZXJWaXNDb25maWd9ICovXG5leHBvcnQgY29uc3QgTEFZRVJfVklTX0NPTkZJR1MgPSB7XG4gIHRoaWNrbmVzczoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMixcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2VXaWR0aCcsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zdHJva2UsXG4gICAgcHJvcGVydHk6ICd0aGlja25lc3MnXG4gIH0sXG4gIHN0cm9rZVdpZHRoUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCAxMF0sXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlV2lkdGhSYW5nZScsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAyMDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnN0cm9rZSxcbiAgICBwcm9wZXJ0eTogJ3NpemVSYW5nZSdcbiAgfSxcbiAgdHJhaWxMZW5ndGg6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDE4MCxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2VXaWR0aCcsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMSwgMTAwMF0sXG4gICAgc3RlcDogMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnN0cm9rZSxcbiAgICBwcm9wZXJ0eTogJ3RyYWlsTGVuZ3RoJ1xuICB9LFxuICAvLyByYWRpdXMgaXMgYWN0dWFsbHkgcmFkaXVzU2NhbGUgaW4gZGVjay5nbFxuICByYWRpdXM6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDIsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MucmFkaXVzJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxMDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ3JhZGl1cydcbiAgfSxcbiAgcmFkaXVzUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCA1MF0sXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCA1MDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5yYWRpdXNSYW5nZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdyYWRpdXNSYW5nZSdcbiAgfSxcbiAgY2x1c3RlclJhZGl1czoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmNsdXN0ZXJSYWRpdXMnLFxuICAgIGRlZmF1bHRWYWx1ZTogNDAsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMSwgNTAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdjbHVzdGVyUmFkaXVzJ1xuICB9LFxuICBjbHVzdGVyUmFkaXVzUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5yYWRpdXNSYW5nZVBpeGVscycsXG4gICAgZGVmYXVsdFZhbHVlOiBbMSwgNDBdLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMSwgMTUwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdyYWRpdXNSYW5nZSdcbiAgfSxcbiAgb3BhY2l0eToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9MQVlFUl9PUEFDSVRZLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLm9wYWNpdHknLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDFdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ29wYWNpdHknXG4gIH0sXG4gIGNvdmVyYWdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmNvdmVyYWdlJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ2NvdmVyYWdlJ1xuICB9LFxuICAvLyB1c2VkIGluIHBvaW50IGxheWVyXG4gIG91dGxpbmU6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogJ2xheWVyLm91dGxpbmUnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheSxcbiAgICBwcm9wZXJ0eTogJ291dGxpbmUnXG4gIH0sXG4gIGNvbG9yUmFuZ2U6IHtcbiAgICB0eXBlOiAnY29sb3ItcmFuZ2Utc2VsZWN0JyxcbiAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfQ09MT1JfUkFOR0UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY29sb3JSYW5nZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ2NvbG9yUmFuZ2UnXG4gIH0sXG4gIHN0cm9rZUNvbG9yUmFuZ2U6IHtcbiAgICB0eXBlOiAnY29sb3ItcmFuZ2Utc2VsZWN0JyxcbiAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfQ09MT1JfUkFOR0UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlQ29sb3JSYW5nZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ3N0cm9rZUNvbG9yUmFuZ2UnXG4gIH0sXG4gIHRhcmdldENvbG9yOiB7XG4gICAgdHlwZTogJ2NvbG9yLXNlbGVjdCcsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MudGFyZ2V0Q29sb3InLFxuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAndGFyZ2V0Q29sb3InXG4gIH0sXG4gIHN0cm9rZUNvbG9yOiB7XG4gICAgdHlwZTogJ2NvbG9yLXNlbGVjdCcsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlQ29sb3InLFxuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAnc3Ryb2tlQ29sb3InXG4gIH0sXG4gIGFnZ3JlZ2F0aW9uOiB7XG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgZGVmYXVsdFZhbHVlOiBBR0dSRUdBVElPTl9UWVBFUy5hdmVyYWdlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmNvbG9yQWdncmVnYXRpb24nLFxuICAgIC8vIGFnZ3JlZ2F0aW9uIG9wdGlvbnMgYXJlIGJhc2VkIG9uIGNvbG9yIGZpZWxkIHR5cGVzXG4gICAgb3B0aW9uczogT2JqZWN0LmtleXMoQUdHUkVHQVRJT05fVFlQRVMpLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICdjb2xvckFnZ3JlZ2F0aW9uJyxcbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcuY29sb3JGaWVsZFxuICB9LFxuICBzaXplQWdncmVnYXRpb246IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBkZWZhdWx0VmFsdWU6IEFHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuaGVpZ2h0QWdncmVnYXRpb24nLFxuICAgIC8vIGFnZ3JlZ2F0aW9uIG9wdGlvbnMgYXJlIGJhc2VkIG9uIGNvbG9yIGZpZWxkIHR5cGVzXG4gICAgb3B0aW9uczogT2JqZWN0LmtleXMoQUdHUkVHQVRJT05fVFlQRVMpLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnc2l6ZUFnZ3JlZ2F0aW9uJyxcbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcuc2l6ZUZpZWxkXG4gIH0sXG4gIGhlaWdodEFnZ3JlZ2F0aW9uOiB7XG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgZGVmYXVsdFZhbHVlOiBBR0dSRUdBVElPTl9UWVBFUy5hdmVyYWdlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmhlaWdodEFnZ3JlZ2F0aW9uJyxcbiAgICBvcHRpb25zOiBPYmplY3Qua2V5cyhBR0dSRUdBVElPTl9UWVBFUyksXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdoZWlnaHRBZ2dyZWdhdGlvbicsXG4gICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLmhlaWdodEZpZWxkXG4gIH0sXG4gIHBlcmNlbnRpbGU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCAxMDBdLFxuICAgIGxhYmVsOiBjb25maWcgPT5cbiAgICAgIGBGaWx0ZXIgYnkgJHtcbiAgICAgICAgY29uZmlnLmNvbG9yRmllbGRcbiAgICAgICAgICA/IGAke2NvbmZpZy52aXNDb25maWcuY29sb3JBZ2dyZWdhdGlvbn0gJHtjb25maWcuY29sb3JGaWVsZC5uYW1lfWBcbiAgICAgICAgICA6ICdjb3VudCdcbiAgICAgIH0gcGVyY2VudGlsZWAsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxMDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ3BlcmNlbnRpbGUnLFxuXG4gICAgLy8gcGVyY2VudGlsZSBmaWx0ZXIgb25seSBtYWtlcyBzZW5zZSB3aXRoIGxpbmVhciBhZ2dyZWdhdGlvblxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy5jb2xvclNjYWxlICE9PSAnb3JkaW5hbCdcbiAgfSxcbiAgZWxldmF0aW9uUGVyY2VudGlsZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDEwMF0sXG4gICAgbGFiZWw6IGNvbmZpZyA9PlxuICAgICAgYEZpbHRlciBieSAke1xuICAgICAgICBjb25maWcuc2l6ZUZpZWxkID8gYCR7Y29uZmlnLnZpc0NvbmZpZy5zaXplQWdncmVnYXRpb259ICR7Y29uZmlnLnNpemVGaWVsZC5uYW1lfWAgOiAnY291bnQnXG4gICAgICB9IHBlcmNlbnRpbGVgLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnZWxldmF0aW9uUGVyY2VudGlsZScsXG4gICAgLy8gcGVyY2VudGlsZSBmaWx0ZXIgb25seSBtYWtlcyBzZW5zZSB3aXRoIGxpbmVhciBhZ2dyZWdhdGlvblxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy52aXNDb25maWcuZW5hYmxlM2QgJiYgKGNvbmZpZy5jb2xvckZpZWxkIHx8IGNvbmZpZy5zaXplRmllbGQpXG4gIH0sXG4gIHJlc29sdXRpb246IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDgsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MucmVzb2x1dGlvbicsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMTNdLFxuICAgIHN0ZXA6IDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jZWxsLFxuICAgIHByb3BlcnR5OiAncmVzb2x1dGlvbidcbiAgfSxcbiAgc2l6ZVNjYWxlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxMCxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zaXplU2NhbGUnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzEsIDEwMDBdLFxuICAgIHN0ZXA6IDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zdHJva2UsXG4gICAgcHJvcGVydHk6ICdzaXplU2NhbGUnXG4gIH0sXG4gIGFuZ2xlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuYW5nbGUnLFxuICAgIGRlZmF1bHRWYWx1ZTogMCxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAzNjBdLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuYW5nbGUsXG4gICAgc3RlcDogMSxcbiAgICBwcm9wZXJ0eTogJ2FuZ2xlJ1xuICB9LFxuICB3b3JsZFVuaXRTaXplOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLndvcmxkVW5pdFNpemUnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDUwMF0sXG4gICAgc3RlcDogMC4wMDAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ3dvcmxkVW5pdFNpemUnXG4gIH0sXG4gIGVsZXZhdGlvblNjYWxlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiA1LFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmVsZXZhdGlvblNjYWxlJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCA1MDAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdlbGV2YXRpb25TY2FsZSdcbiAgfSxcbiAgZW5hYmxlRWxldmF0aW9uWm9vbUZhY3Rvcjoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvcicsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5lbmFibGVFbGV2YXRpb25ab29tRmFjdG9yRGVzY3JpcHRpb24nXG4gIH0sXG4gIGVsZXZhdGlvblJhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgNTAwXSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5oZWlnaHRTY2FsZScsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxMDAwXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnc2l6ZVJhbmdlJ1xuICB9LFxuICBoZWlnaHRSYW5nZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDUwMF0sXG4gICAgbGFiZWw6ICdIZWlnaHQgU2NhbGUnLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMTAwMF0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2hlaWdodFJhbmdlJ1xuICB9LFxuICBjb3ZlcmFnZVJhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgMV0sXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY292ZXJhZ2VSYW5nZScsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAnY292ZXJhZ2VSYW5nZSdcbiAgfSxcbiAgLy8gaGkgcHJlY2lzaW9uIGlzIGRlcHJlY2F0ZWQgYnkgZGVjay5nbFxuICAnaGktcHJlY2lzaW9uJzoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmhpZ2hQcmVjaXNpb25SZW5kZXJpbmcnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucHJlY2lzaW9uLFxuICAgIHByb3BlcnR5OiAnaGktcHJlY2lzaW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5oaWdoUHJlY2lzaW9uUmVuZGVyaW5nRGVzY3JpcHRpb24nXG4gIH0sXG4gIGVuYWJsZTNkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuaGVpZ2h0JyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2VuYWJsZTNkJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5oZWlnaHREZXNjcmlwdGlvbidcbiAgfSxcbiAgc3Ryb2tlZDoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2UnLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICdzdHJva2VkJ1xuICB9LFxuICBmaWxsZWQ6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZmlsbCcsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICdmaWxsZWQnXG4gIH0sXG4gIGxhYmVsczoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5sYWJlbHMnLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5sYWJlbHMsXG4gICAgcHJvcGVydHk6ICdsYWJlbHMnXG4gIH0sXG4gIGV4dHJ1ZGVkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZW5hYmxlUG9seWdvbkhlaWdodCcsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5LFxuICAgIHByb3BlcnR5OiAnZXh0cnVkZWQnXG4gIH0sXG4gIHdpcmVmcmFtZToge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnNob3dXaXJlZnJhbWUnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheSxcbiAgICBwcm9wZXJ0eTogJ3dpcmVmcmFtZSdcbiAgfSxcbiAgLy8gdXNlZCBmb3IgaGVhdG1hcFxuICB3ZWlnaHQ6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDEsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Mud2VpZ2h0SW50ZW5zaXR5JyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLjAxLCA1MDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jZWxsLFxuICAgIHByb3BlcnR5OiAnd2VpZ2h0JyxcbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcud2VpZ2h0RmllbGRcbiAgfSxcbiAgaGVhdG1hcFJhZGl1czoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMjAsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MucmFkaXVzJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxMDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNlbGwsXG4gICAgcHJvcGVydHk6ICdyYWRpdXMnXG4gIH0sXG4gIGN1c3RvbU1hcmtlcnM6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jdXN0b21NYXJrZXJzJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmN1c3RvbU1hcmtlcnMsXG4gICAgcHJvcGVydHk6ICdjdXN0b21NYXJrZXJzJ1xuICB9LFxuICBsYWJlbHNFbmFibGVkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5sYWJlbHNFbmFibGVkJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmxhYmVscyxcbiAgICBwcm9wZXJ0eTogJ2xhYmVsc0VuYWJsZWQnXG4gIH0sXG4gIGN1c3RvbU1hcmtlcnNVcmw6IHtcbiAgICB0eXBlOiAndGV4dCcsXG4gICAgZGVmYXVsdFZhbHVlOiAnJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5hZGRVcmwnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY3VzdG9tTWFya2VycyxcbiAgICBwcm9wZXJ0eTogJ2N1c3RvbU1hcmtlcnNVcmwnXG4gIH0sXG4gIGN1c3RvbU1hcmtlcnNSYW5nZToge1xuICAgIHR5cGU6ICdtYXJrZXJzLXJhbmdlLXNlbGVjdCcsXG4gICAgZGVmYXVsdFZhbHVlOiB1bmRlZmluZWQsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY29sb3JSYW5nZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jdXN0b21NYXJrZXJzLFxuICAgIHByb3BlcnR5OiAnY3VzdG9tTWFya2Vyc1JhbmdlJ1xuICB9XG59O1xuXG4vKiogQHR5cGUge2ltcG9ydCgnLi9sYXllci1mYWN0b3J5JykuTGF5ZXJUZXh0Q29uZmlnfSAqL1xuZXhwb3J0IGNvbnN0IExBWUVSX1RFWFRfQ09ORklHUyA9IHtcbiAgZm9udFNpemU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICByYW5nZTogWzYsIDMyXSxcbiAgICB2YWx1ZTA6IDYsXG4gICAgc3RlcDogMSxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgbGFiZWw6ICdGb250IHNpemUnLFxuICAgIHNob3dJbnB1dDogdHJ1ZVxuICB9LFxuICB0ZXh0QW5jaG9yOiB7XG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgb3B0aW9uczogWydzdGFydCcsICdtaWRkbGUnLCAnZW5kJ10sXG4gICAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxuICAgIHNlYXJjaGFibGU6IGZhbHNlXG4gIH0sXG4gIHRleHRBbGlnbm1lbnQ6IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBvcHRpb25zOiBbJ3RvcCcsICdjZW50ZXInLCAnYm90dG9tJ10sXG4gICAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxuICAgIHNlYXJjaGFibGU6IGZhbHNlXG4gIH1cbn07XG4iXX0=
|
|
518
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvbGF5ZXItZmFjdG9yeS5qcyJdLCJuYW1lcyI6WyJQUk9QRVJUWV9HUk9VUFMiLCJjb2xvciIsInN0cm9rZSIsImN1c3RvbU1hcmtlcnMiLCJsYWJlbHMiLCJyYWRpdXMiLCJoZWlnaHQiLCJhbmdsZSIsImNlbGwiLCJwcmVjaXNpb24iLCJERUZBVUxUX0xBWUVSX09QQUNJVFkiLCJERUZBVUxUX0hJR0hMSUdIVF9DT0xPUiIsIkRFRkFVTFRfTEFZRVJfTEFCRUwiLCJERUZBVUxUX1RFWFRfTEFCRUwiLCJmaWVsZCIsIm91dGxpbmVDb2xvciIsInNpemUiLCJvZmZzZXQiLCJhbmNob3IiLCJhbGlnbm1lbnQiLCJERUZBVUxUX0NVU1RPTV9QQUxFVFRFIiwibmFtZSIsInR5cGUiLCJjYXRlZ29yeSIsImNvbG9ycyIsIlVOS05PV05fQ09MT1JfS0VZIiwiREVGQVVMVF9DT0xPUl9VSSIsImN1c3RvbVBhbGV0dGUiLCJzaG93U2tldGNoZXIiLCJzaG93RHJvcGRvd24iLCJjb2xvclJhbmdlQ29uZmlnIiwic3RlcHMiLCJyZXZlcnNlZCIsImN1c3RvbSIsIkxBWUVSX1ZJU19DT05GSUdTIiwidGhpY2tuZXNzIiwiZGVmYXVsdFZhbHVlIiwibGFiZWwiLCJpc1JhbmdlZCIsInJhbmdlIiwic3RlcCIsImdyb3VwIiwicHJvcGVydHkiLCJzdHJva2VXaWR0aFJhbmdlIiwidHJhaWxMZW5ndGgiLCJyYWRpdXNSYW5nZSIsImNsdXN0ZXJSYWRpdXMiLCJjbHVzdGVyUmFkaXVzUmFuZ2UiLCJvcGFjaXR5IiwiY292ZXJhZ2UiLCJvdXRsaW5lIiwiZGlzcGxheSIsImNvbG9yUmFuZ2UiLCJERUZBVUxUX0NPTE9SX1JBTkdFIiwic3Ryb2tlQ29sb3JSYW5nZSIsInRhcmdldENvbG9yIiwic3Ryb2tlQ29sb3IiLCJhZ2dyZWdhdGlvbiIsIkFHR1JFR0FUSU9OX1RZUEVTIiwiYXZlcmFnZSIsIm9wdGlvbnMiLCJPYmplY3QiLCJrZXlzIiwiY29uZGl0aW9uIiwiY29uZmlnIiwiY29sb3JGaWVsZCIsInNpemVBZ2dyZWdhdGlvbiIsInNpemVGaWVsZCIsImhlaWdodEFnZ3JlZ2F0aW9uIiwiaGVpZ2h0RmllbGQiLCJwZXJjZW50aWxlIiwidmlzQ29uZmlnIiwiY29sb3JBZ2dyZWdhdGlvbiIsImNvbG9yU2NhbGUiLCJlbGV2YXRpb25QZXJjZW50aWxlIiwiZW5hYmxlM2QiLCJyZXNvbHV0aW9uIiwic2l6ZVNjYWxlIiwid29ybGRVbml0U2l6ZSIsImVsZXZhdGlvblNjYWxlIiwiZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvciIsImRlc2NyaXB0aW9uIiwiZWxldmF0aW9uUmFuZ2UiLCJoZWlnaHRSYW5nZSIsImNvdmVyYWdlUmFuZ2UiLCJzdHJva2VkIiwiZmlsbGVkIiwiZXh0cnVkZWQiLCJ3aXJlZnJhbWUiLCJ3ZWlnaHQiLCJ3ZWlnaHRGaWVsZCIsImhlYXRtYXBSYWRpdXMiLCJsYWJlbHNFbmFibGVkIiwiY3VzdG9tTWFya2Vyc1VybCIsImN1c3RvbU1hcmtlcnNSYW5nZSIsInVuZGVmaW5lZCIsIkxBWUVSX1RFWFRfQ09ORklHUyIsImZvbnRTaXplIiwidmFsdWUwIiwic2hvd0lucHV0IiwidGV4dEFuY2hvciIsIm11bHRpU2VsZWN0Iiwic2VhcmNoYWJsZSIsInRleHRBbGlnbm1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFFQTs7QUFDQTs7QUF2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPTyxJQUFNQSxlQUFlLEdBQUcsMkJBQVU7QUFDdkNDLEVBQUFBLEtBQUssRUFBRSxJQURnQztBQUV2Q0MsRUFBQUEsTUFBTSxFQUFFLElBRitCO0FBR3ZDQyxFQUFBQSxhQUFhLEVBQUUsSUFId0I7QUFJdkNDLEVBQUFBLE1BQU0sRUFBRSxJQUorQjtBQUt2Q0MsRUFBQUEsTUFBTSxFQUFFLElB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QVcsRUFBRSxLQUhBO0FBSWJDLElBQUFBLFVBQVUsRUFBRTtBQUpDO0FBaEJpQixDQUEzQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBrZXlNaXJyb3IgZnJvbSAna2V5bWlycm9yJztcblxuaW1wb3J0IHtBR0dSRUdBVElPTl9UWVBFU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuaW1wb3J0IHtERUZBVUxUX0NPTE9SX1JBTkdFfSBmcm9tICdjb25zdGFudHMvY29sb3ItcmFuZ2VzJztcblxuZXhwb3J0IGNvbnN0IFBST1BFUlRZX0dST1VQUyA9IGtleU1pcnJvcih7XG4gIGNvbG9yOiBudWxsLFxuICBzdHJva2U6IG51bGwsXG4gIGN1c3RvbU1hcmtlcnM6IG51bGwsXG4gIGxhYmVsczogbnVsbCxcbiAgcmFkaXVzOiBudWxsLFxuICBoZWlnaHQ6IG51bGwsXG4gIGFuZ2xlOiBudWxsLFxuICAvLyBmb3IgaGVhdG1hcCBhZ2dyZWdhdGlvblxuICBjZWxsOiBudWxsLFxuICBwcmVjaXNpb246IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9PUEFDSVRZID0gMC44O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSElHSExJR0hUX0NPTE9SID0gWzI1MiwgMjQyLCAyNiwgMjU1XTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0xBQkVMID0gJ25ldyBsYXllcic7XG5leHBvcnQge0RFRkFVTFRfQ09MT1JfUkFOR0V9O1xuXG4vKiogQHR5cGUge2ltcG9ydCgnLi9sYXllci1mYWN0b3J5JykuTGF5ZXJUZXh0TGFiZWx9ICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9URVhUX0xBQkVMID0ge1xuICBmaWVsZDogbnVsbCxcbiAgY29sb3I6IFs0NCwgNDgsIDUwXSxcbiAgb3V0bGluZUNvbG9yOiBbMjU1LCAyNTUsIDI1NV0sXG4gIHNpemU6IDEyLFxuICBvZmZzZXQ6IFswLCAwXSxcbiAgYW5jaG9yOiAnc3RhcnQnLFxuICBhbGlnbm1lbnQ6ICdjZW50ZXInXG59O1xuXG4vKiogQHR5cGUge2ltcG9ydCgnLi9sYXllci1mYWN0b3J5JykuQ29sb3JSYW5nZX0gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NVU1RPTV9QQUxFVFRFID0ge1xuICBuYW1lOiAnY29sb3IuY3VzdG9tUGFsZXR0ZScsXG4gIHR5cGU6ICdjdXN0b20nLFxuICBjYXRlZ29yeTogJ0N1c3RvbScsXG4gIGNvbG9yczogW11cbn07XG5cbmV4cG9ydCBjb25zdCBVTktOT1dOX0NPTE9SX0tFWSA9ICdfX3Vua25vd25Db2xvcl9fJztcblxuLyoqIEB0eXBlIHtpbXBvcnQoJy4vbGF5ZXItZmFjdG9yeScpLkNvbG9yVUl9ICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT0xPUl9VSSA9IHtcbiAgLy8gY3VzdG9tUGFsZXR0ZSBpbiBlZGl0XG4gIGN1c3RvbVBhbGV0dGU6IERFRkFVTFRfQ1VTVE9NX1BBTEVUVEUsXG4gIC8vIHNob3cgY29sb3Igc2tldGNoZXIgbW9kYWxcbiAgc2hvd1NrZXRjaGVyOiBmYWxzZSxcbiAgLy8gc2hvdyBjb2xvciByYW5nZSBzZWxlY3Rpb24gcGFuZWxcbiAgc2hvd0Ryb3Bkb3duOiBmYWxzZSxcbiAgLy8gY29sb3IgcmFuZ2Ugc2VsZWN0b3IgY29uZmlnXG4gIGNvbG9yUmFuZ2VDb25maWc6IHtcbiAgICB0eXBlOiAnYWxsJyxcbiAgICBzdGVwczogNixcbiAgICByZXZlcnNlZDogZmFsc2UsXG4gICAgY3VzdG9tOiBmYWxzZVxuICB9XG59O1xuXG4vKiogQHR5cGUge2ltcG9ydCgnLi9sYXllci1mYWN0b3J5JykuTGF5ZXJWaXNDb25maWd9ICovXG5leHBvcnQgY29uc3QgTEFZRVJfVklTX0NPTkZJR1MgPSB7XG4gIHRoaWNrbmVzczoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMixcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2VXaWR0aCcsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zdHJva2UsXG4gICAgcHJvcGVydHk6ICd0aGlja25lc3MnXG4gIH0sXG4gIHN0cm9rZVdpZHRoUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCAxMF0sXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlV2lkdGhSYW5nZScsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAyMDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnN0cm9rZSxcbiAgICBwcm9wZXJ0eTogJ3NpemVSYW5nZSdcbiAgfSxcbiAgdHJhaWxMZW5ndGg6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDE4MCxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2VXaWR0aCcsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMSwgMTAwMF0sXG4gICAgc3RlcDogMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnN0cm9rZSxcbiAgICBwcm9wZXJ0eTogJ3RyYWlsTGVuZ3RoJ1xuICB9LFxuICAvLyByYWRpdXMgaXMgYWN0dWFsbHkgcmFkaXVzU2NhbGUgaW4gZGVjay5nbFxuICByYWRpdXM6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDIsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MucmFkaXVzJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxMDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ3JhZGl1cydcbiAgfSxcbiAgcmFkaXVzUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCA1MF0sXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCA1MDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5yYWRpdXNSYW5nZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdyYWRpdXNSYW5nZSdcbiAgfSxcbiAgY2x1c3RlclJhZGl1czoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmNsdXN0ZXJSYWRpdXMnLFxuICAgIGRlZmF1bHRWYWx1ZTogNDAsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMSwgNTAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdjbHVzdGVyUmFkaXVzJ1xuICB9LFxuICBjbHVzdGVyUmFkaXVzUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5yYWRpdXNSYW5nZVBpeGVscycsXG4gICAgZGVmYXVsdFZhbHVlOiBbMSwgNDBdLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMSwgMTUwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdyYWRpdXNSYW5nZSdcbiAgfSxcbiAgb3BhY2l0eToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9MQVlFUl9PUEFDSVRZLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLm9wYWNpdHknLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDFdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ29wYWNpdHknXG4gIH0sXG4gIGNvdmVyYWdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmNvdmVyYWdlJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ2NvdmVyYWdlJ1xuICB9LFxuICAvLyB1c2VkIGluIHBvaW50IGxheWVyXG4gIG91dGxpbmU6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogJ2xheWVyLm91dGxpbmUnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheSxcbiAgICBwcm9wZXJ0eTogJ291dGxpbmUnXG4gIH0sXG4gIGNvbG9yUmFuZ2U6IHtcbiAgICB0eXBlOiAnY29sb3ItcmFuZ2Utc2VsZWN0JyxcbiAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfQ09MT1JfUkFOR0UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY29sb3JSYW5nZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ2NvbG9yUmFuZ2UnXG4gIH0sXG4gIHN0cm9rZUNvbG9yUmFuZ2U6IHtcbiAgICB0eXBlOiAnY29sb3ItcmFuZ2Utc2VsZWN0JyxcbiAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfQ09MT1JfUkFOR0UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlQ29sb3JSYW5nZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ3N0cm9rZUNvbG9yUmFuZ2UnXG4gIH0sXG4gIHRhcmdldENvbG9yOiB7XG4gICAgdHlwZTogJ2NvbG9yLXNlbGVjdCcsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MudGFyZ2V0Q29sb3InLFxuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAndGFyZ2V0Q29sb3InXG4gIH0sXG4gIHN0cm9rZUNvbG9yOiB7XG4gICAgdHlwZTogJ2NvbG9yLXNlbGVjdCcsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlQ29sb3InLFxuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAnc3Ryb2tlQ29sb3InXG4gIH0sXG4gIGFnZ3JlZ2F0aW9uOiB7XG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgZGVmYXVsdFZhbHVlOiBBR0dSRUdBVElPTl9UWVBFUy5hdmVyYWdlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmNvbG9yQWdncmVnYXRpb24nLFxuICAgIC8vIGFnZ3JlZ2F0aW9uIG9wdGlvbnMgYXJlIGJhc2VkIG9uIGNvbG9yIGZpZWxkIHR5cGVzXG4gICAgb3B0aW9uczogT2JqZWN0LmtleXMoQUdHUkVHQVRJT05fVFlQRVMpLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICdjb2xvckFnZ3JlZ2F0aW9uJyxcbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcuY29sb3JGaWVsZFxuICB9LFxuICBzaXplQWdncmVnYXRpb246IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBkZWZhdWx0VmFsdWU6IEFHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuaGVpZ2h0QWdncmVnYXRpb24nLFxuICAgIC8vIGFnZ3JlZ2F0aW9uIG9wdGlvbnMgYXJlIGJhc2VkIG9uIGNvbG9yIGZpZWxkIHR5cGVzXG4gICAgb3B0aW9uczogT2JqZWN0LmtleXMoQUdHUkVHQVRJT05fVFlQRVMpLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnc2l6ZUFnZ3JlZ2F0aW9uJyxcbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcuc2l6ZUZpZWxkXG4gIH0sXG4gIGhlaWdodEFnZ3JlZ2F0aW9uOiB7XG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgZGVmYXVsdFZhbHVlOiBBR0dSRUdBVElPTl9UWVBFUy5hdmVyYWdlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmhlaWdodEFnZ3JlZ2F0aW9uJyxcbiAgICBvcHRpb25zOiBPYmplY3Qua2V5cyhBR0dSRUdBVElPTl9UWVBFUyksXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdoZWlnaHRBZ2dyZWdhdGlvbicsXG4gICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLmhlaWdodEZpZWxkXG4gIH0sXG4gIHBlcmNlbnRpbGU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCAxMDBdLFxuICAgIGxhYmVsOiBjb25maWcgPT5cbiAgICAgIGBGaWx0ZXIgYnkgJHtcbiAgICAgICAgY29uZmlnLmNvbG9yRmllbGRcbiAgICAgICAgICA/IGAke2NvbmZpZy52aXNDb25maWcuY29sb3JBZ2dyZWdhdGlvbn0gJHtjb25maWcuY29sb3JGaWVsZC5uYW1lfWBcbiAgICAgICAgICA6ICdjb3VudCdcbiAgICAgIH0gcGVyY2VudGlsZWAsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxMDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ3BlcmNlbnRpbGUnLFxuXG4gICAgLy8gcGVyY2VudGlsZSBmaWx0ZXIgb25seSBtYWtlcyBzZW5zZSB3aXRoIGxpbmVhciBhZ2dyZWdhdGlvblxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy5jb2xvclNjYWxlICE9PSAnb3JkaW5hbCdcbiAgfSxcbiAgZWxldmF0aW9uUGVyY2VudGlsZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDEwMF0sXG4gICAgbGFiZWw6IGNvbmZpZyA9PlxuICAgICAgYEZpbHRlciBieSAke1xuICAgICAgICBjb25maWcuc2l6ZUZpZWxkID8gYCR7Y29uZmlnLnZpc0NvbmZpZy5zaXplQWdncmVnYXRpb259ICR7Y29uZmlnLnNpemVGaWVsZC5uYW1lfWAgOiAnY291bnQnXG4gICAgICB9IHBlcmNlbnRpbGVgLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnZWxldmF0aW9uUGVyY2VudGlsZScsXG4gICAgLy8gcGVyY2VudGlsZSBmaWx0ZXIgb25seSBtYWtlcyBzZW5zZSB3aXRoIGxpbmVhciBhZ2dyZWdhdGlvblxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy52aXNDb25maWcuZW5hYmxlM2QgJiYgKGNvbmZpZy5jb2xvckZpZWxkIHx8IGNvbmZpZy5zaXplRmllbGQpXG4gIH0sXG4gIHJlc29sdXRpb246IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDgsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MucmVzb2x1dGlvbicsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMTNdLFxuICAgIHN0ZXA6IDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jZWxsLFxuICAgIHByb3BlcnR5OiAncmVzb2x1dGlvbidcbiAgfSxcbiAgc2l6ZVNjYWxlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxMCxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zaXplU2NhbGUnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzEsIDEwMDBdLFxuICAgIHN0ZXA6IDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zdHJva2UsXG4gICAgcHJvcGVydHk6ICdzaXplU2NhbGUnXG4gIH0sXG4gIGFuZ2xlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuYW5nbGUnLFxuICAgIGRlZmF1bHRWYWx1ZTogMCxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAzNjBdLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuYW5nbGUsXG4gICAgc3RlcDogMSxcbiAgICBwcm9wZXJ0eTogJ2FuZ2xlJ1xuICB9LFxuICB3b3JsZFVuaXRTaXplOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLndvcmxkVW5pdFNpemUnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDUwMF0sXG4gICAgc3RlcDogMC4wMDAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ3dvcmxkVW5pdFNpemUnXG4gIH0sXG4gIGVsZXZhdGlvblNjYWxlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiA1LFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmVsZXZhdGlvblNjYWxlJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCA1MDAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdlbGV2YXRpb25TY2FsZSdcbiAgfSxcbiAgZW5hYmxlRWxldmF0aW9uWm9vbUZhY3Rvcjoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvcicsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5lbmFibGVFbGV2YXRpb25ab29tRmFjdG9yRGVzY3JpcHRpb24nXG4gIH0sXG4gIGVsZXZhdGlvblJhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgNTAwXSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5oZWlnaHRTY2FsZScsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxMDAwXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnc2l6ZVJhbmdlJ1xuICB9LFxuICBoZWlnaHRSYW5nZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDUwMF0sXG4gICAgbGFiZWw6ICdIZWlnaHQgU2NhbGUnLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMTAwMF0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2hlaWdodFJhbmdlJ1xuICB9LFxuICBjb3ZlcmFnZVJhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgMV0sXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY292ZXJhZ2VSYW5nZScsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAnY292ZXJhZ2VSYW5nZSdcbiAgfSxcbiAgLy8gaGkgcHJlY2lzaW9uIGlzIGRlcHJlY2F0ZWQgYnkgZGVjay5nbFxuICAnaGktcHJlY2lzaW9uJzoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmhpZ2hQcmVjaXNpb25SZW5kZXJpbmcnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucHJlY2lzaW9uLFxuICAgIHByb3BlcnR5OiAnaGktcHJlY2lzaW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5oaWdoUHJlY2lzaW9uUmVuZGVyaW5nRGVzY3JpcHRpb24nXG4gIH0sXG4gIGVuYWJsZTNkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuaGVpZ2h0JyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2VuYWJsZTNkJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5oZWlnaHREZXNjcmlwdGlvbidcbiAgfSxcbiAgc3Ryb2tlZDoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2UnLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICdzdHJva2VkJ1xuICB9LFxuICBmaWxsZWQ6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZmlsbCcsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICdmaWxsZWQnXG4gIH0sXG4gIGxhYmVsczoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5sYWJlbHMnLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5sYWJlbHMsXG4gICAgcHJvcGVydHk6ICdsYWJlbHMnXG4gIH0sXG4gIGV4dHJ1ZGVkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZW5hYmxlUG9seWdvbkhlaWdodCcsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5LFxuICAgIHByb3BlcnR5OiAnZXh0cnVkZWQnXG4gIH0sXG4gIHdpcmVmcmFtZToge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnNob3dXaXJlZnJhbWUnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheSxcbiAgICBwcm9wZXJ0eTogJ3dpcmVmcmFtZSdcbiAgfSxcbiAgLy8gdXNlZCBmb3IgaGVhdG1hcFxuICB3ZWlnaHQ6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDEsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Mud2VpZ2h0SW50ZW5zaXR5JyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLjAxLCA1MDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jZWxsLFxuICAgIHByb3BlcnR5OiAnd2VpZ2h0JyxcbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcud2VpZ2h0RmllbGRcbiAgfSxcbiAgaGVhdG1hcFJhZGl1czoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMjAsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MucmFkaXVzJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxMDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNlbGwsXG4gICAgcHJvcGVydHk6ICdyYWRpdXMnXG4gIH0sXG4gIGN1c3RvbU1hcmtlcnM6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jdXN0b21NYXJrZXJzJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmN1c3RvbU1hcmtlcnMsXG4gICAgcHJvcGVydHk6ICdjdXN0b21NYXJrZXJzJ1xuICB9LFxuICBsYWJlbHNFbmFibGVkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5sYWJlbHNFbmFibGVkJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmxhYmVscyxcbiAgICBwcm9wZXJ0eTogJ2xhYmVsc0VuYWJsZWQnXG4gIH0sXG4gIGN1c3RvbU1hcmtlcnNVcmw6IHtcbiAgICB0eXBlOiAndGV4dCcsXG4gICAgZGVmYXVsdFZhbHVlOiAnJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5hZGRVcmwnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY3VzdG9tTWFya2VycyxcbiAgICBwcm9wZXJ0eTogJ2N1c3RvbU1hcmtlcnNVcmwnXG4gIH0sXG4gIGN1c3RvbU1hcmtlcnNSYW5nZToge1xuICAgIHR5cGU6ICdtYXJrZXJzLXJhbmdlLXNlbGVjdCcsXG4gICAgZGVmYXVsdFZhbHVlOiB1bmRlZmluZWQsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY29sb3JSYW5nZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jdXN0b21NYXJrZXJzLFxuICAgIHByb3BlcnR5OiAnY3VzdG9tTWFya2Vyc1JhbmdlJ1xuICB9XG59O1xuXG4vKiogQHR5cGUge2ltcG9ydCgnLi9sYXllci1mYWN0b3J5JykuTGF5ZXJUZXh0Q29uZmlnfSAqL1xuZXhwb3J0IGNvbnN0IExBWUVSX1RFWFRfQ09ORklHUyA9IHtcbiAgZm9udFNpemU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICByYW5nZTogWzYsIDMyXSxcbiAgICB2YWx1ZTA6IDYsXG4gICAgc3RlcDogMSxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgbGFiZWw6ICdGb250IHNpemUnLFxuICAgIHNob3dJbnB1dDogdHJ1ZVxuICB9LFxuICB0ZXh0QW5jaG9yOiB7XG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgb3B0aW9uczogWydzdGFydCcsICdtaWRkbGUnLCAnZW5kJ10sXG4gICAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxuICAgIHNlYXJjaGFibGU6IGZhbHNlXG4gIH0sXG4gIHRleHRBbGlnbm1lbnQ6IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBvcHRpb25zOiBbJ3RvcCcsICdjZW50ZXInLCAnYm90dG9tJ10sXG4gICAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxuICAgIHNlYXJjaGFibGU6IGZhbHNlXG4gIH1cbn07XG4iXX0=
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.getTextOffsetByRadius = getTextOffsetByRadius;
|
|
9
|
-
exports.formatTextLabelData = exports.textLabelAccessor =
|
|
9
|
+
exports.formatTextLabelData = exports.textLabelAccessor = void 0;
|
|
10
10
|
|
|
11
11
|
var _dataUtils = require("../utils/data-utils");
|
|
12
12
|
|
|
@@ -31,21 +31,19 @@ var _lodash = _interopRequireDefault(require("lodash.uniq"));
|
|
|
31
31
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
32
32
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
33
33
|
// THE SOFTWARE.
|
|
34
|
-
var defaultPadding = 20;
|
|
35
|
-
exports.defaultPadding = defaultPadding;
|
|
36
|
-
|
|
37
34
|
function getTextOffsetByRadius(radiusScale, getRadius) {
|
|
38
35
|
return function (textLabel) {
|
|
39
36
|
var xMult = textLabel.anchor === 'middle' ? 0 : textLabel.anchor === 'start' ? 1 : -1;
|
|
40
37
|
var yMult = textLabel.alignment === 'center' ? 0 : textLabel.alignment === 'bottom' ? 1 : -1;
|
|
41
|
-
var sizeOffset =
|
|
42
|
-
var
|
|
38
|
+
var sizeOffset = Math.abs(yMult * textLabel.size);
|
|
39
|
+
var xPadding = textLabel.size / 4; // Padding based on font size (font size / 4)
|
|
43
40
|
|
|
44
|
-
var
|
|
41
|
+
var yPadding = textLabel.size;
|
|
42
|
+
var radiusPadding = 1 + 1 / 4; // Padding based on point radius (radius/ 4)
|
|
45
43
|
|
|
46
44
|
return typeof getRadius === 'function' ? function (d) {
|
|
47
|
-
return [xMult * (getRadius(d) * radiusScale *
|
|
48
|
-
} : [xMult * (getRadius * radiusScale *
|
|
45
|
+
return [xMult * (getRadius(d) * radiusScale * radiusPadding + xPadding), yMult * (getRadius(d) * radiusScale * radiusPadding + yPadding)];
|
|
46
|
+
} : [xMult * (getRadius * radiusScale * radiusPadding + xPadding), yMult * (getRadius * radiusScale * radiusPadding + yPadding)];
|
|
49
47
|
};
|
|
50
48
|
}
|
|
51
49
|
|
|
@@ -62,35 +60,14 @@ exports.textLabelAccessor = textLabelAccessor;
|
|
|
62
60
|
|
|
63
61
|
var formatTextLabelData = function formatTextLabelData(_ref) {
|
|
64
62
|
var textLabel = _ref.textLabel,
|
|
65
|
-
triggerChanged = _ref.triggerChanged,
|
|
66
|
-
oldLayerData = _ref.oldLayerData,
|
|
67
|
-
data = _ref.data,
|
|
68
63
|
dataContainer = _ref.dataContainer;
|
|
69
64
|
return textLabel.map(function (tl, i) {
|
|
70
|
-
|
|
71
|
-
// if no field selected,
|
|
72
|
-
return {
|
|
73
|
-
getText: null,
|
|
74
|
-
characterSet: []
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
var getText = textLabelAccessor(tl)(dataContainer);
|
|
79
|
-
var characterSet;
|
|
80
|
-
|
|
81
|
-
if (!triggerChanged["getLabelCharacterSet-".concat(i)] && oldLayerData && oldLayerData.textLabels && oldLayerData.textLabels[i]) {
|
|
82
|
-
characterSet = oldLayerData.textLabels[i].characterSet;
|
|
83
|
-
} else {
|
|
84
|
-
var allLabels = tl.field ? data.map(getText) : [];
|
|
85
|
-
characterSet = (0, _lodash["default"])(allLabels.join(''));
|
|
86
|
-
}
|
|
87
|
-
|
|
65
|
+
var getText = tl.field ? textLabelAccessor(tl)(dataContainer) : null;
|
|
88
66
|
return {
|
|
89
|
-
characterSet: characterSet,
|
|
90
67
|
getText: getText
|
|
91
68
|
};
|
|
92
69
|
});
|
|
93
70
|
};
|
|
94
71
|
|
|
95
72
|
exports.formatTextLabelData = formatTextLabelData;
|
|
96
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMvbGF5ZXItdGV4dC1sYWJlbC5qcyJdLCJuYW1lcyI6WyJnZXRUZXh0T2Zmc2V0QnlSYWRpdXMiLCJyYWRpdXNTY2FsZSIsImdldFJhZGl1cyIsInRleHRMYWJlbCIsInhNdWx0IiwiYW5jaG9yIiwieU11bHQiLCJhbGlnbm1lbnQiLCJzaXplT2Zmc2V0IiwiTWF0aCIsImFicyIsInNpemUiLCJ4UGFkZGluZyIsInlQYWRkaW5nIiwicmFkaXVzUGFkZGluZyIsImQiLCJ0ZXh0TGFiZWxBY2Nlc3NvciIsImRjIiwidmFsIiwiZmllbGQiLCJ2YWx1ZUFjY2Vzc29yIiwiU3RyaW5nIiwiZm9ybWF0VGV4dExhYmVsRGF0YSIsImRhdGFDb250YWluZXIiLCJtYXAiLCJ0bCIsImkiLCJnZXRUZXh0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQXJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtPLFNBQVNBLHFCQUFULENBQStCQyxXQUEvQixFQUE0Q0MsU0FBNUMsRUFBdUQ7QUFDNUQsU0FBTyxVQUFBQyxTQUFTLEVBQUk7QUFDbEIsUUFBTUMsS0FBSyxHQUFHRCxTQUFTLENBQUNFLE1BQVYsS0FBcUIsUUFBckIsR0FBZ0MsQ0FBaEMsR0FBb0NGLFNBQVMsQ0FBQ0UsTUFBVixLQUFxQixPQUFyQixHQUErQixDQUEvQixHQUFtQyxDQUFDLENBQXRGO0FBQ0EsUUFBTUMsS0FBSyxHQUFHSCxTQUFTLENBQUNJLFNBQVYsS0FBd0IsUUFBeEIsR0FBbUMsQ0FBbkMsR0FBdUNKLFNBQVMsQ0FBQ0ksU0FBVixLQUF3QixRQUF4QixHQUFtQyxDQUFuQyxHQUF1QyxDQUFDLENBQTdGO0FBRUEsUUFBTUMsVUFBVSxHQUFHQyxJQUFJLENBQUNDLEdBQUwsQ0FBU0osS0FBSyxHQUFHSCxTQUFTLENBQUNRLElBQTNCLENBQW5CO0FBRUEsUUFBTUMsUUFBUSxHQUFHVCxTQUFTLENBQUNRLElBQVYsR0FBaUIsQ0FBbEMsQ0FOa0IsQ0FNbUI7O0FBQ3JDLFFBQU1FLFFBQVEsR0FBR1YsU0FBUyxDQUFDUSxJQUEzQjtBQUNBLFFBQU1HLGFBQWEsR0FBRyxJQUFJLElBQUksQ0FBOUIsQ0FSa0IsQ0FRZTs7QUFFakMsV0FBTyxPQUFPWixTQUFQLEtBQXFCLFVBQXJCLEdBQ0gsVUFBQWEsQ0FBQztBQUFBLGFBQUksQ0FDSFgsS0FBSyxJQUFJRixTQUFTLENBQUNhLENBQUQsQ0FBVCxHQUFlZCxXQUFmLEdBQTZCYSxhQUE3QixHQUE2Q0YsUUFBakQsQ0FERixFQUVITixLQUFLLElBQUlKLFNBQVMsQ0FBQ2EsQ0FBRCxDQUFULEdBQWVkLFdBQWYsR0FBNkJhLGFBQTdCLEdBQTZDRCxRQUFqRCxDQUZGLENBQUo7QUFBQSxLQURFLEdBS0gsQ0FDRVQsS0FBSyxJQUFJRixTQUFTLEdBQUdELFdBQVosR0FBMEJhLGFBQTFCLEdBQTBDRixRQUE5QyxDQURQLEVBRUVOLEtBQUssSUFBSUosU0FBUyxHQUFHRCxXQUFaLEdBQTBCYSxhQUExQixHQUEwQ0QsUUFBOUMsQ0FGUCxDQUxKO0FBU0QsR0FuQkQ7QUFvQkQ7O0FBRU0sSUFBTUcsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixDQUFBYixTQUFTO0FBQUEsU0FBSSxVQUFBYyxFQUFFO0FBQUEsV0FBSSxVQUFBRixDQUFDLEVBQUk7QUFDdkQsVUFBTUcsR0FBRyxHQUFHZixTQUFTLENBQUNnQixLQUFWLENBQWdCQyxhQUFoQixDQUE4QkwsQ0FBOUIsQ0FBWjtBQUNBLGFBQU8sbUNBQW1CRyxHQUFuQixJQUEwQkcsTUFBTSxDQUFDSCxHQUFELENBQWhDLEdBQXdDLEVBQS9DO0FBQ0QsS0FIK0M7QUFBQSxHQUFOO0FBQUEsQ0FBbkM7Ozs7QUFLQSxJQUFNSSxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQXNCLE9BQWdDO0FBQUEsTUFBOUJuQixTQUE4QixRQUE5QkEsU0FBOEI7QUFBQSxNQUFuQm9CLGFBQW1CLFFBQW5CQSxhQUFtQjtBQUNqRSxTQUFPcEIsU0FBUyxDQUFDcUIsR0FBVixDQUFjLFVBQUNDLEVBQUQsRUFBS0MsQ0FBTCxFQUFXO0FBQzlCLFFBQU1DLE9BQU8sR0FBR0YsRUFBRSxDQUFDTixLQUFILEdBQVdILGlCQUFpQixDQUFDUyxFQUFELENBQWpCLENBQXNCRixhQUF0QixDQUFYLEdBQWtELElBQWxFO0FBQ0EsV0FBTztBQUFDSSxNQUFBQSxPQUFPLEVBQVBBO0FBQUQsS0FBUDtBQUNELEdBSE0sQ0FBUDtBQUlELENBTE0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge25vdE51bGxvclVuZGVmaW5lZH0gZnJvbSAndXRpbHMvZGF0YS11dGlscyc7XG5pbXBvcnQgdW5pcSBmcm9tICdsb2Rhc2gudW5pcSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXh0T2Zmc2V0QnlSYWRpdXMocmFkaXVzU2NhbGUsIGdldFJhZGl1cykge1xuICByZXR1cm4gdGV4dExhYmVsID0+IHtcbiAgICBjb25zdCB4TXVsdCA9IHRleHRMYWJlbC5hbmNob3IgPT09ICdtaWRkbGUnID8gMCA6IHRleHRMYWJlbC5hbmNob3IgPT09ICdzdGFydCcgPyAxIDogLTE7XG4gICAgY29uc3QgeU11bHQgPSB0ZXh0TGFiZWwuYWxpZ25tZW50ID09PSAnY2VudGVyJyA/IDAgOiB0ZXh0TGFiZWwuYWxpZ25tZW50ID09PSAnYm90dG9tJyA/IDEgOiAtMTtcblxuICAgIGNvbnN0IHNpemVPZmZzZXQgPSBNYXRoLmFicyh5TXVsdCAqIHRleHRMYWJlbC5zaXplKTtcblxuICAgIGNvbnN0IHhQYWRkaW5nID0gdGV4dExhYmVsLnNpemUgLyA0OyAvLyBQYWRkaW5nIGJhc2VkIG9uIGZvbnQgc2l6ZSAoZm9udCBzaXplIC8gNClcbiAgICBjb25zdCB5UGFkZGluZyA9IHRleHRMYWJlbC5zaXplO1xuICAgIGNvbnN0IHJhZGl1c1BhZGRpbmcgPSAxICsgMSAvIDQ7IC8vIFBhZGRpbmcgYmFzZWQgb24gcG9pbnQgcmFkaXVzIChyYWRpdXMvIDQpXG5cbiAgICByZXR1cm4gdHlwZW9mIGdldFJhZGl1cyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgPyBkID0+IFtcbiAgICAgICAgICB4TXVsdCAqIChnZXRSYWRpdXMoZCkgKiByYWRpdXNTY2FsZSAqIHJhZGl1c1BhZGRpbmcgKyB4UGFkZGluZyksXG4gICAgICAgICAgeU11bHQgKiAoZ2V0UmFkaXVzKGQpICogcmFkaXVzU2NhbGUgKiByYWRpdXNQYWRkaW5nICsgeVBhZGRpbmcpXG4gICAgICAgIF1cbiAgICAgIDogW1xuICAgICAgICAgIHhNdWx0ICogKGdldFJhZGl1cyAqIHJhZGl1c1NjYWxlICogcmFkaXVzUGFkZGluZyArIHhQYWRkaW5nKSxcbiAgICAgICAgICB5TXVsdCAqIChnZXRSYWRpdXMgKiByYWRpdXNTY2FsZSAqIHJhZGl1c1BhZGRpbmcgKyB5UGFkZGluZylcbiAgICAgICAgXTtcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IHRleHRMYWJlbEFjY2Vzc29yID0gdGV4dExhYmVsID0+IGRjID0+IGQgPT4ge1xuICBjb25zdCB2YWwgPSB0ZXh0TGFiZWwuZmllbGQudmFsdWVBY2Nlc3NvcihkKTtcbiAgcmV0dXJuIG5vdE51bGxvclVuZGVmaW5lZCh2YWwpID8gU3RyaW5nKHZhbCkgOiAnJztcbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRUZXh0TGFiZWxEYXRhID0gKHt0ZXh0TGFiZWwsIGRhdGFDb250YWluZXJ9KSA9PiB7XG4gIHJldHVybiB0ZXh0TGFiZWwubWFwKCh0bCwgaSkgPT4ge1xuICAgIGNvbnN0IGdldFRleHQgPSB0bC5maWVsZCA/IHRleHRMYWJlbEFjY2Vzc29yKHRsKShkYXRhQ29udGFpbmVyKSA6IG51bGw7XG4gICAgcmV0dXJuIHtnZXRUZXh0fTtcbiAgfSk7XG59O1xuIl19
|
|
@@ -280,9 +280,6 @@ var PointLayer = /*#__PURE__*/function (_Layer) {
|
|
|
280
280
|
|
|
281
281
|
var textLabels = (0, _layerTextLabel.formatTextLabelData)({
|
|
282
282
|
textLabel: textLabel,
|
|
283
|
-
triggerChanged: triggerChanged,
|
|
284
|
-
oldLayerData: oldLayerData,
|
|
285
|
-
data: data,
|
|
286
283
|
dataContainer: dataContainer
|
|
287
284
|
});
|
|
288
285
|
var accessors = this.getAttributeAccessors({
|
|
@@ -330,8 +327,6 @@ var PointLayer = /*#__PURE__*/function (_Layer) {
|
|
|
330
327
|
var radiusScale = this.getRadiusScale();
|
|
331
328
|
var defaultLayerProps = this.getDefaultDeckLayerProps(opts);
|
|
332
329
|
var brushingProps = this.getBrushingExtensionProps(interactionConfig);
|
|
333
|
-
var getPixelOffset = (0, _layerTextLabel.getTextOffsetByRadius)( // TODO remove this scaling by half here and elsewhere
|
|
334
|
-
customMarkers ? radiusScale / 2 : radiusScale, data.getRadius);
|
|
335
330
|
var extensions = [].concat((0, _toConsumableArray2["default"])(defaultLayerProps.extensions), [brushingExtension]);
|
|
336
331
|
|
|
337
332
|
var updateTriggers = _objectSpread({
|
|
@@ -350,7 +345,9 @@ var PointLayer = /*#__PURE__*/function (_Layer) {
|
|
|
350
345
|
var textLabelLayer = this.renderTextLabelLayer({
|
|
351
346
|
getPosition: data.getPosition,
|
|
352
347
|
sharedProps: sharedProps,
|
|
353
|
-
|
|
348
|
+
// TODO remove this scaling by half here and elsewhere
|
|
349
|
+
radiusScale: customMarkers ? radiusScale / 2 : radiusScale,
|
|
350
|
+
getRadius: data.getRadius,
|
|
354
351
|
updateTriggers: updateTriggers
|
|
355
352
|
}, opts);
|
|
356
353
|
|
|
@@ -475,4 +472,4 @@ var PointLayer = /*#__PURE__*/function (_Layer) {
|
|
|
475
472
|
}(_baseLayer["default"]);
|
|
476
473
|
|
|
477
474
|
exports["default"] = PointLayer;
|
|
478
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXllcnMvcG9pbnQtbGF5ZXIvcG9pbnQtbGF5ZXIuanMiXSwibmFtZXMiOlsicG9pbnRQb3NBY2Nlc3NvciIsImxhdCIsImxuZyIsImFsdGl0dWRlIiwiZGMiLCJkIiwidmFsdWVBdCIsImluZGV4IiwiZmllbGRJZHgiLCJwb2ludFJlcXVpcmVkQ29sdW1ucyIsInBvaW50T3B0aW9uYWxDb2x1bW5zIiwiYnJ1c2hpbmdFeHRlbnNpb24iLCJCcnVzaGluZ0V4dGVuc2lvbiIsInBvaW50VmlzQ29uZmlncyIsInJhZGl1cyIsImN1c3RvbU1hcmtlcnMiLCJjdXN0b21NYXJrZXJzVXJsIiwiY3VzdG9tTWFya2Vyc1JhbmdlIiwibGFiZWxzRW5hYmxlZCIsIm9wYWNpdHkiLCJvdXRsaW5lIiwidGhpY2tuZXNzIiwic3Ryb2tlQ29sb3IiLCJjb2xvclJhbmdlIiwic3Ryb2tlQ29sb3JSYW5nZSIsInJhZGl1c1JhbmdlIiwiZmlsbGVkIiwidHlwZSIsImxhYmVsIiwiZGVmYXVsdFZhbHVlIiwicHJvcGVydHkiLCJQb2ludExheWVyIiwicHJvcHMiLCJyZWdpc3RlclZpc0NvbmZpZyIsImdldFBvc2l0aW9uQWNjZXNzb3IiLCJkYXRhQ29udGFpbmVyIiwiY29uZmlnIiwiY29sdW1ucyIsIlBvaW50TGF5ZXJJY29uIiwiZGVmYXVsdFBvaW50Q29sdW1uUGFpcnMiLCJjb2xvciIsImFjY2Vzc29yIiwiY29uZGl0aW9uIiwidmlzQ29uZmlnIiwia2V5IiwiZmllbGQiLCJzY2FsZSIsImRvbWFpbiIsInJhbmdlIiwiY2hhbm5lbFNjYWxlVHlwZSIsIkNIQU5ORUxfU0NBTEVTIiwic2l6ZSIsImZpeGVkIiwiY3VzdG9tTWFya2VyIiwic3VwcG9ydGVkRmllbGRUeXBlcyIsInJvdGF0aW9uIiwiaWRlbnRpdHkiLCJudWxsVmFsdWUiLCJyb3RhdGlvbkZpZWxkIiwiZGF0YXNldCIsImRlZmF1bHRDb2xvckZpZWxkIiwidXBkYXRlTGF5ZXJDb25maWciLCJjb2xvckZpZWxkIiwidXBkYXRlTGF5ZXJWaXN1YWxDaGFubmVsIiwic3Ryb2tlQ29sb3JGaWVsZCIsInN0cm9rZUNvbG9yRG9tYWluIiwic3Ryb2tlQ29sb3JTY2FsZSIsImN1c3RvbU1hcmtlcnNGaWVsZCIsImN1c3RvbU1hcmtlcnNTY2FsZSIsImdldFBvc2l0aW9uIiwiZmlsdGVyZWRJbmRleCIsImRhdGEiLCJpIiwibGVuZ3RoIiwicG9zIiwiZXZlcnkiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsInB1c2giLCJwb3NpdGlvbiIsImRhdGFzZXRzIiwib2xkTGF5ZXJEYXRhIiwidGV4dExhYmVsIiwiZGF0YUlkIiwiZ3B1RmlsdGVyIiwidXBkYXRlRGF0YSIsInRyaWdnZXJDaGFuZ2VkIiwidGV4dExhYmVscyIsImFjY2Vzc29ycyIsImdldEF0dHJpYnV0ZUFjY2Vzc29ycyIsImdldEZpbHRlclZhbHVlIiwiZmlsdGVyVmFsdWVBY2Nlc3NvciIsImJvdW5kcyIsImdldFBvaW50c0JvdW5kcyIsInVwZGF0ZU1ldGEiLCJvYmplY3RJbmZvIiwicGlja2VkIiwibGF5ZXIiLCJpZCIsIm9wdHMiLCJvYmplY3RIb3ZlcmVkIiwiaW50ZXJhY3Rpb25Db25maWciLCJyYWRpdXNTY2FsZSIsImdldFJhZGl1c1NjYWxlIiwiZGVmYXVsdExheWVyUHJvcHMiLCJnZXREZWZhdWx0RGVja0xheWVyUHJvcHMiLCJicnVzaGluZ1Byb3BzIiwiZ2V0QnJ1c2hpbmdFeHRlbnNpb25Qcm9wcyIsImdldFBpeGVsT2Zmc2V0IiwiZ2V0UmFkaXVzIiwiZXh0ZW5zaW9ucyIsInVwZGF0ZVRyaWdnZXJzIiwiZmlsdGVyVmFsdWVVcGRhdGVUcmlnZ2VycyIsImdldFZpc3VhbENoYW5uZWxVcGRhdGVUcmlnZ2VycyIsInNoYXJlZFByb3BzIiwiZmlsdGVyUmFuZ2UiLCJ2aXNpYmxlIiwiaG92ZXJlZE9iamVjdCIsImhhc0hvdmVyZWRPYmplY3QiLCJ0ZXh0TGFiZWxMYXllciIsInJlbmRlclRleHRMYWJlbExheWVyIiwiY29tbW9uTGF5ZXJQcm9wcyIsInBhcmFtZXRlcnMiLCJkZXB0aFRlc3QiLCJjdXN0b21NYXJrZXJzQ29uZmlndXJlZCIsIkJvb2xlYW4iLCJjdXN0b21NYXJrZXJzTWlzQ29uZmlndXJlZCIsIm1heEljb25TaXplIiwiZ2V0TWF4TWFya2VyU2l6ZSIsInVzZU1hc2siLCJpY29uTGF5ZXJQcm9wcyIsImdldEljb24iLCJnZXRDdXN0b21NYXJrZXJJY29uQWNjZXNzb3IiLCJnZXRJY29uVXJsIiwiZ2V0U2l6ZSIsImdldEFuZ2xlIiwiZ2V0Um90YXRpb24iLCJzaXplU2NhbGUiLCJzaXplVW5pdHMiLCJsb2FkT3B0aW9ucyIsImltYWdlIiwiaW1hZ2ViaXRtYXAiLCJyZXNpemVXaWR0aCIsInJlc2l6ZUhlaWdodCIsInJlc2l6ZVF1YWxpdHkiLCJJY29uTGF5ZXIiLCJnZXRDb2xvciIsImdldEZpbGxDb2xvciIsIlVOS05PV05fQ09MT1IiLCJnZXREZWZhdWx0SG92ZXJMYXllclByb3BzIiwiaGlnaGxpZ2h0Q29sb3IiLCJzY2F0dGVyUGxvdExheWVyUHJvcHMiLCJzdHJva2VkIiwibGluZVdpZHRoU2NhbGUiLCJyYWRpdXNNYXhQaXhlbHMiLCJTY2F0dGVycGxvdExheWVyIiwicmFkaXVzVW5pdHMiLCJsaW5lV2lkdGhVbml0cyIsImdldExpbmVDb2xvciIsImZpZWxkUGFpcnMiLCJmb3JFYWNoIiwicGFpciIsImxhdEZpZWxkIiwibG5nRmllbGQiLCJsYXllck5hbWUiLCJkZWZhdWx0TmFtZSIsInByb3AiLCJ2YWx1ZSIsIkRFRkFVTFRfTEFZRVJfQ09MT1IiLCJpc1Zpc2libGUiLCJvcHRpb25hbCIsIkxheWVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7Ozs7O0FBRU8sSUFBTUEsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQjtBQUFBLE1BQUVDLEdBQUYsUUFBRUEsR0FBRjtB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WUFBTWtLLFFBQVEsR0FBR0YsSUFBSSxDQUFDQSxJQUFMLENBQVUvSixHQUEzQjtBQUNBLFlBQU1rSyxTQUFTLEdBQUdILElBQUksQ0FBQ0ksV0FBdkI7QUFFQSxZQUFNQyxJQUFJLEdBQUc7QUFDWDFJLFVBQUFBLEtBQUssRUFBRXdJLFNBQVMsQ0FBQzNGLE1BQVYsR0FBbUIyRixTQUFuQixHQUErQjtBQUQzQixTQUFiLENBTHlCLENBU3pCOztBQUNBLFlBQUlGLFFBQVEsQ0FBQ0ssS0FBVCxJQUFrQkMsb0NBQXRCLEVBQTJDO0FBQ3pDRixVQUFBQSxJQUFJLENBQUM5SCxLQUFMLEdBQWEsMEJBQVNnSSxxQ0FBb0JOLFFBQVEsQ0FBQ0ssS0FBN0IsQ0FBVCxDQUFiO0FBQ0QsU0Fad0IsQ0FjekI7OztBQUNBLFlBQUl2SSxLQUFLLENBQUN5QyxNQUFOLEtBQWlCLENBQXJCLEVBQXdCO0FBQ3RCNkYsVUFBQUEsSUFBSSxDQUFDRyxTQUFMLEdBQWlCLElBQWpCO0FBQ0Q7O0FBRURILFFBQUFBLElBQUksQ0FBQ2pJLE9BQUwsR0FBZTtBQUNicEMsVUFBQUEsR0FBRyxFQUFFaUssUUFEUTtBQUViaEssVUFBQUEsR0FBRyxFQUFFaUssUUFGUTtBQUdiaEssVUFBQUEsUUFBUSxFQUFFO0FBQUNvSyxZQUFBQSxLQUFLLEVBQUUsSUFBUjtBQUFjL0osWUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBekI7QUFBNEJrSyxZQUFBQSxRQUFRLEVBQUU7QUFBdEM7QUFIRyxTQUFmO0FBTUExSSxRQUFBQSxLQUFLLENBQUM4QyxJQUFOLENBQVd3RixJQUFYO0FBQ0QsT0ExQkQ7QUE0QkEsYUFBTztBQUFDdEksUUFBQUEsS0FBSyxFQUFMQTtBQUFELE9BQVA7QUFDRDs7O0VBMUlxQzJJLHFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtCcnVzaGluZ0V4dGVuc2lvbn0gZnJvbSAnQGRlY2suZ2wvZXh0ZW5zaW9ucyc7XG5pbXBvcnQge1NjYXR0ZXJwbG90TGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2xheWVycyc7XG5pbXBvcnQge0ljb25MYXllcn0gZnJvbSAnQGRlY2suZ2wvbGF5ZXJzJztcblxuaW1wb3J0IExheWVyIGZyb20gJy4uL2Jhc2UtbGF5ZXInO1xuaW1wb3J0IHtoZXhUb1JnYn0gZnJvbSAndXRpbHMvY29sb3ItdXRpbHMnO1xuaW1wb3J0IHtuZWdhdGVBY2Nlc3Nvcn0gZnJvbSAndXRpbHMvbGF5ZXItdXRpbHMnO1xuaW1wb3J0IHtmaW5kRGVmYXVsdENvbG9yRmllbGR9IGZyb20gJ3V0aWxzL2RhdGFzZXQtdXRpbHMnO1xuaW1wb3J0IFBvaW50TGF5ZXJJY29uIGZyb20gJy4vcG9pbnQtbGF5ZXItaWNvbic7XG5pbXBvcnQge0RFRkFVTFRfTEFZRVJfQ09MT1IsIENIQU5ORUxfU0NBTEVTLCBVTktOT1dOX0NPTE9SfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5cbmltcG9ydCB7Z2V0VGV4dE9mZnNldEJ5UmFkaXVzLCBmb3JtYXRUZXh0TGFiZWxEYXRhfSBmcm9tICcuLi9sYXllci10ZXh0LWxhYmVsJztcblxuZXhwb3J0IGNvbnN0IHBvaW50UG9zQWNjZXNzb3IgPSAoe2xhdCwgbG5nLCBhbHRpdHVkZX0pID0+IGRjID0+IGQgPT4gW1xuICBkYy52YWx1ZUF0KGQuaW5kZXgsIGxuZy5maWVsZElkeCksXG4gIGRjLnZhbHVlQXQoZC5pbmRleCwgbGF0LmZpZWxkSWR4KSxcbiAgYWx0aXR1ZGUgJiYgYWx0aXR1ZGUuZmllbGRJZHggPiAtMSA/IGRjLnZhbHVlQXQoZC5pbmRleCwgYWx0aXR1ZGUuZmllbGRJZHgpIDogMFxuXTtcblxuZXhwb3J0IGNvbnN0IHBvaW50UmVxdWlyZWRDb2x1bW5zID0gWydsYXQnLCAnbG5nJ107XG5leHBvcnQgY29uc3QgcG9pbnRPcHRpb25hbENvbHVtbnMgPSBbJ2FsdGl0dWRlJ107XG5cbmNvbnN0IGJydXNoaW5nRXh0ZW5zaW9uID0gbmV3IEJydXNoaW5nRXh0ZW5zaW9uKCk7XG5cbmV4cG9ydCBjb25zdCBwb2ludFZpc0NvbmZpZ3MgPSB7XG4gIHJhZGl1czogJ3JhZGl1cycsXG4gIGN1c3RvbU1hcmtlcnM6ICdjdXN0b21NYXJrZXJzJyxcbiAgY3VzdG9tTWFya2Vyc1VybDogJ2N1c3RvbU1hcmtlcnNVcmwnLFxuICBjdXN0b21NYXJrZXJzUmFuZ2U6ICdjdXN0b21NYXJrZXJzUmFuZ2UnLFxuICBsYWJlbHNFbmFibGVkOiAnbGFiZWxzRW5hYmxlZCcsXG4gIG9wYWNpdHk6ICdvcGFjaXR5JyxcbiAgb3V0bGluZTogJ291dGxpbmUnLFxuICB0aGlja25lc3M6ICd0aGlja25lc3MnLFxuICBzdHJva2VDb2xvcjogJ3N0cm9rZUNvbG9yJyxcbiAgY29sb3JSYW5nZTogJ2NvbG9yUmFuZ2UnLFxuICBzdHJva2VDb2xvclJhbmdlOiAnc3Ryb2tlQ29sb3JSYW5nZScsXG4gIHJhZGl1c1JhbmdlOiAncmFkaXVzUmFuZ2UnLFxuICBmaWxsZWQ6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllci5maWxsQ29sb3InLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBwcm9wZXJ0eTogJ2ZpbGxlZCdcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUG9pbnRMYXllciBleHRlbmRzIExheWVyIHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyVmlzQ29uZmlnKHBvaW50VmlzQ29uZmlncyk7XG4gICAgdGhpcy5nZXRQb3NpdGlvbkFjY2Vzc29yID0gZGF0YUNvbnRhaW5lciA9PlxuICAgICAgcG9pbnRQb3NBY2Nlc3Nvcih0aGlzLmNvbmZpZy5jb2x1bW5zKShkYXRhQ29udGFpbmVyKTtcbiAgfVxuXG4gIGdldCB0eXBlKCkge1xuICAgIHJldHVybiAncG9pbnQnO1xuICB9XG5cbiAgZ2V0IGlzQWdncmVnYXRlZCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXQgbGF5ZXJJY29uKCkge1xuICAgIHJldHVybiBQb2ludExheWVySWNvbjtcbiAgfVxuICBnZXQgcmVxdWlyZWRMYXllckNvbHVtbnMoKSB7XG4gICAgcmV0dXJuIHBvaW50UmVxdWlyZWRDb2x1bW5zO1xuICB9XG5cbiAgZ2V0IG9wdGlvbmFsQ29sdW1ucygpIHtcbiAgICByZXR1cm4gcG9pbnRPcHRpb25hbENvbHVtbnM7XG4gIH1cblxuICBnZXQgY29sdW1uUGFpcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFBvaW50Q29sdW1uUGFpcnM7XG4gIH1cblxuICBnZXQgbm9uZUxheWVyRGF0YUFmZmVjdGluZ1Byb3BzKCkge1xuICAgIHJldHVybiBbLi4uc3VwZXIubm9uZUxheWVyRGF0YUFmZmVjdGluZ1Byb3BzLCAncmFkaXVzJ107XG4gIH1cblxuICBnZXQgdmlzdWFsQ2hhbm5lbHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbG9yOiB7XG4gICAgICAgIC4uLnN1cGVyLnZpc3VhbENoYW5uZWxzLmNvbG9yLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldEZpbGxDb2xvcicsXG4gICAgICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy52aXNDb25maWcuZmlsbGVkLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGNvbmZpZyA9PiBjb25maWcuY29sb3JcbiAgICAgIH0sXG4gICAgICBzdHJva2VDb2xvcjoge1xuICAgICAgICBwcm9wZXJ0eTogJ3N0cm9rZUNvbG9yJyxcbiAgICAgICAga2V5OiAnc3Ryb2tlQ29sb3InLFxuICAgICAgICBmaWVsZDogJ3N0cm9rZUNvbG9yRmllbGQnLFxuICAgICAgICBzY2FsZTogJ3N0cm9rZUNvbG9yU2NhbGUnLFxuICAgICAgICBkb21haW46ICdzdHJva2VDb2xvckRvbWFpbicsXG4gICAgICAgIHJhbmdlOiAnc3Ryb2tlQ29sb3JSYW5nZScsXG4gICAgICAgIGNoYW5uZWxTY2FsZVR5cGU6IENIQU5ORUxfU0NBTEVTLmNvbG9yLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldExpbmVDb2xvcicsXG4gICAgICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy52aXNDb25maWcub3V0bGluZSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBjb25maWcgPT4gY29uZmlnLnZpc0NvbmZpZy5zdHJva2VDb2xvciB8fCBjb25maWcuY29sb3JcbiAgICAgIH0sXG4gICAgICBzaXplOiB7XG4gICAgICAgIC4uLnN1cGVyLnZpc3VhbENoYW5uZWxzLnNpemUsXG4gICAgICAgIHByb3BlcnR5OiAncmFkaXVzJyxcbiAgICAgICAgcmFuZ2U6ICdyYWRpdXNSYW5nZScsXG4gICAgICAgIGNoYW5uZWxTY2FsZVR5cGU6ICdyYWRpdXMnLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldFJhZGl1cycsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogMVxuICAgICAgfSxcbiAgICAgIGN1c3RvbU1hcmtlcnM6IHtcbiAgICAgICAgcHJvcGVydHk6ICdjdXN0b21NYXJrZXJzJyxcbiAgICAgICAga2V5OiAnY3VzdG9tTWFya2VycycsXG4gICAgICAgIGZpZWxkOiAnY3VzdG9tTWFya2Vyc0ZpZWxkJyxcbiAgICAgICAgc2NhbGU6ICdjdXN0b21NYXJrZXJzU2NhbGUnLFxuICAgICAgICBkb21haW46ICdjdXN0b21NYXJrZXJzRG9tYWluJyxcbiAgICAgICAgcmFuZ2U6ICdjdXN0b21NYXJrZXJzUmFuZ2UnLFxuICAgICAgICBmaXhlZDogJ2N1c3RvbU1hcmtlcnNVcmwnLFxuICAgICAgICBjaGFubmVsU2NhbGVUeXBlOiBDSEFOTkVMX1NDQUxFUy5jdXN0b21NYXJrZXIsXG4gICAgICAgIGFjY2Vzc29yOiAnZ2V0SWNvblVybCcsXG4gICAgICAgIHN1cHBvcnRlZEZpZWxkVHlwZXM6IFsnc3RyaW5nJ10sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogY29uZmlnID0+IGNvbmZpZy52aXNDb25maWcuY3VzdG9tTWFya2Vyc1VybCxcbiAgICAgICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLnZpc0NvbmZpZy5jdXN0b21NYXJrZXJzXG4gICAgICB9LFxuICAgICAgcm90YXRpb246IHtcbiAgICAgICAgcHJvcGVydHk6ICdyb3RhdGlvbicsXG4gICAgICAgIGtleTogJ3JvdGF0aW9uJyxcbiAgICAgICAgZmllbGQ6ICdyb3RhdGlvbkZpZWxkJyxcbiAgICAgICAgY2hhbm5lbFNjYWxlVHlwZTogQ0hBTk5FTF9TQ0FMRVMuaWRlbnRpdHksXG4gICAgICAgIGFjY2Vzc29yOiAnZ2V0Um90YXRpb24nLFxuICAgICAgICBzdXBwb3J0ZWRGaWVsZFR5cGVzOiBbJ2Zsb2F0JywgJ2ludGVnZXInLCAncmVhbCcsICdudW1iZXInXSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAoKSA9PiAwLFxuICAgICAgICBudWxsVmFsdWU6IDAsXG4gICAgICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy5yb3RhdGlvbkZpZWxkXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHNldEluaXRpYWxMYXllckNvbmZpZyhkYXRhc2V0KSB7XG4gICAgY29uc3QgZGVmYXVsdENvbG9yRmllbGQgPSBmaW5kRGVmYXVsdENvbG9yRmllbGQoZGF0YXNldCk7XG5cbiAgICBpZiAoZGVmYXVsdENvbG9yRmllbGQpIHtcbiAgICAgIHRoaXMudXBkYXRlTGF5ZXJDb25maWcoe1xuICAgICAgICBjb2xvckZpZWxkOiBkZWZhdWx0Q29sb3JGaWVsZFxuICAgICAgfSk7XG4gICAgICB0aGlzLnVwZGF0ZUxheWVyVmlzdWFsQ2hhbm5lbChkYXRhc2V0LCAnY29sb3InKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHN0YXRpYyBmaW5kRGVmYXVsdExheWVyUHJvcHMoe2ZpZWxkUGFpcnMgPSBbXX0pIHtcbiAgICBjb25zdCBwcm9wcyA9IFtdO1xuXG4gICAgLy8gTWFrZSBsYXllciBmb3IgZWFjaCBwYWlyXG4gICAgZmllbGRQYWlycy5mb3JFYWNoKHBhaXIgPT4ge1xuICAgICAgY29uc3QgbGF0RmllbGQgPSBwYWlyLnBhaXIubGF0O1xuICAgICAgY29uc3QgbG5nRmllbGQgPSBwYWlyLnBhaXIubG5nO1xuICAgICAgY29uc3QgbGF5ZXJOYW1lID0gcGFpci5kZWZhdWx0TmFtZTtcblxuICAgICAgY29uc3QgcHJvcCA9IHtcbiAgICAgICAgbGFiZWw6IGxheWVyTmFtZS5sZW5ndGggPyBsYXllck5hbWUgOiAnUG9pbnQnXG4gICAgICB9O1xuXG4gICAgICAvLyBkZWZhdWx0IGxheWVyIGNvbG9yIGZvciBiZWdpbnRyaXAgYW5kIGRyb3BvZmYgcG9pbnRcbiAgICAgIGlmIChsYXRGaWVsZC52YWx1ZSBpbiBERUZBVUxUX0xBWUVSX0NPTE9SKSB7XG4gICAgICAgIHByb3AuY29sb3IgPSBoZXhUb1JnYihERUZBVUxUX0xBWUVSX0NPTE9SW2xhdEZpZWxkLnZhbHVlXSk7XG4gICAgICB9XG5cbiAgICAgIC8vIHNldCB0aGUgZmlyc3QgbGF5ZXIgdG8gYmUgdmlzaWJsZVxuICAgICAgaWYgKHByb3BzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBwcm9wLmlzVmlzaWJsZSA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHByb3AuY29sdW1ucyA9IHtcbiAgICAgICAgbGF0OiBsYXRGaWVsZCxcbiAgICAgICAgbG5nOiBsbmdGaWVsZCxcbiAgICAgICAgYWx0aXR1ZGU6IHt2YWx1ZTogbnVsbCwgZmllbGRJZHg6IC0xLCBvcHRpb25hbDogdHJ1ZX1cbiAgICAgIH07XG5cbiAgICAgIHByb3BzLnB1c2gocHJvcCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge3Byb3BzfTtcbiAgfVxuXG4gIGdldERlZmF1bHRMYXllckNvbmZpZyhwcm9wcyA9IHt9KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLmdldERlZmF1bHRMYXllckNvbmZpZyhwcm9wcyksXG5cbiAgICAgIC8vIGFkZCBzdHJva2UgY29sb3IgdmlzdWFsIGNoYW5uZWxcbiAgICAgIHN0cm9rZUNvbG9yRmllbGQ6IG51bGwsXG4gICAgICBzdHJva2VDb2xvckRvbWFpbjogWzAsIDFdLFxuICAgICAgc3Ryb2tlQ29sb3JTY2FsZTogJ3F1YW50aWxlJyxcblxuICAgICAgY3VzdG9tTWFya2Vyc0ZpZWxkOiBudWxsLFxuICAgICAgY3VzdG9tTWFya2Vyc1NjYWxlOiAnb3JkaW5hbCdcbiAgICB9O1xuICB9XG5cbiAgY2FsY3VsYXRlRGF0YUF0dHJpYnV0ZSh7ZmlsdGVyZWRJbmRleH0sIGdldFBvc2l0aW9uKSB7XG4gICAgY29uc3QgZGF0YSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWx0ZXJlZEluZGV4Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBpbmRleCA9IGZpbHRlcmVkSW5kZXhbaV07XG4gICAgICBjb25zdCBwb3MgPSBnZXRQb3NpdGlvbih7aW5kZXh9KTtcblxuICAgICAgLy8gaWYgZG9lc24ndCBoYXZlIHBvaW50IGxhdCBvciBsbmcsIGRvIG5vdCBhZGQgdGhlIHBvaW50XG4gICAgICAvLyBkZWNrLmdsIGNhbid0IGhhbmRsZSBwb3NpdGlvbiA9IG51bGxcbiAgICAgIGlmIChwb3MuZXZlcnkoTnVtYmVyLmlzRmluaXRlKSkge1xuICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgIHBvc2l0aW9uOiBwb3MsXG4gICAgICAgICAgaW5kZXhcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgZm9ybWF0TGF5ZXJEYXRhKGRhdGFzZXRzLCBvbGRMYXllckRhdGEpIHtcbiAgICBjb25zdCB7dGV4dExhYmVsfSA9IHRoaXMuY29uZmlnO1xuICAgIGNvbnN0IHtncHVGaWx0ZXIsIGRhdGFDb250YWluZXJ9ID0gZGF0YXNldHNbdGhpcy5jb25maWcuZGF0YUlkXTtcbiAgICBjb25zdCB7ZGF0YSwgdHJpZ2dlckNoYW5nZWR9ID0gdGhpcy51cGRhdGVEYXRhKGRhdGFzZXRzLCBvbGRMYXllckRhdGEpO1xuICAgIGNvbnN0IGdldFBvc2l0aW9uID0gdGhpcy5nZXRQb3NpdGlvbkFjY2Vzc29yKGRhdGFDb250YWluZXIpO1xuXG4gICAgLy8gZ2V0IGFsbCBkaXN0aW5jdCBjaGFyYWN0ZXJzIGluIHRoZSB0ZXh0IGxhYmVsc1xuICAgIGNvbnN0IHRleHRMYWJlbHMgPSBmb3JtYXRUZXh0TGFiZWxEYXRhKHtcbiAgICAgIHRleHRMYWJlbCxcbiAgICAgIHRyaWdnZXJDaGFuZ2VkLFxuICAgICAgb2xkTGF5ZXJEYXRhLFxuICAgICAgZGF0YSxcbiAgICAgIGRhdGFDb250YWluZXJcbiAgICB9KTtcblxuICAgIGNvbnN0IGFjY2Vzc29ycyA9IHRoaXMuZ2V0QXR0cmlidXRlQWNjZXNzb3JzKHtkYXRhQ29udGFpbmVyfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YSxcbiAgICAgIGdldFBvc2l0aW9uLFxuICAgICAgZ2V0RmlsdGVyVmFsdWU6IGdwdUZpbHRlci5maWx0ZXJWYWx1ZUFjY2Vzc29yKGRhdGFDb250YWluZXIpKCksXG4gICAgICB0ZXh0TGFiZWxzLFxuICAgICAgLi4uYWNjZXNzb3JzXG4gICAgfTtcbiAgfVxuICAvKiBlc2xpbnQtZW5hYmxlIGNvbXBsZXhpdHkgKi9cblxuICB1cGRhdGVMYXllck1ldGEoZGF0YUNvbnRhaW5lcikge1xuICAgIGNvbnN0IGdldFBvc2l0aW9uID0gdGhpcy5nZXRQb3NpdGlvbkFjY2Vzc29yKGRhdGFDb250YWluZXIpO1xuICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMuZ2V0UG9pbnRzQm91bmRzKGRhdGFDb250YWluZXIsIGdldFBvc2l0aW9uKTtcbiAgICB0aGlzLnVwZGF0ZU1ldGEoe2JvdW5kc30pO1xuICB9XG5cbiAgaXNMYXllckhvdmVyZWQob2JqZWN0SW5mbykge1xuICAgIHJldHVybiAoXG4gICAgICAob2JqZWN0SW5mbz8ucGlja2VkICYmIG9iamVjdEluZm8/LmxheWVyPy5wcm9wcz8uaWQgPT09IHRoaXMuaWQpIHx8XG4gICAgICBvYmplY3RJbmZvPy5sYXllcj8ucHJvcHM/LmlkID09PSBgJHt0aGlzLmlkfS1pY29uYFxuICAgICk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eSwgbWF4LXN0YXRlbWVudHNcbiAgcmVuZGVyTGF5ZXIob3B0cykge1xuICAgIGNvbnN0IHtkYXRhLCBncHVGaWx0ZXIsIG9iamVjdEhvdmVyZWQsIGludGVyYWN0aW9uQ29uZmlnfSA9IG9wdHM7XG4gICAgY29uc3Qge2N1c3RvbU1hcmtlcnMsIGN1c3RvbU1hcmtlcnNVcmwsIGN1c3RvbU1hcmtlcnNSYW5nZX0gPSB0aGlzLmNvbmZpZy52aXNDb25maWc7XG5cbiAgICBjb25zdCByYWRpdXNTY2FsZSA9IHRoaXMuZ2V0UmFkaXVzU2NhbGUoKTtcblxuICAgIGNvbnN0IGRlZmF1bHRMYXllclByb3BzID0gdGhpcy5nZXREZWZhdWx0RGVja0xheWVyUHJvcHMob3B0cyk7XG4gICAgY29uc3QgYnJ1c2hpbmdQcm9wcyA9IHRoaXMuZ2V0QnJ1c2hpbmdFeHRlbnNpb25Qcm9wcyhpbnRlcmFjdGlvbkNvbmZpZyk7XG4gICAgY29uc3QgZ2V0UGl4ZWxPZmZzZXQgPSBnZXRUZXh0T2Zmc2V0QnlSYWRpdXMoXG4gICAgICAvLyBUT0RPIHJlbW92ZSB0aGlzIHNjYWxpbmcgYnkgaGFsZiBoZXJlIGFuZCBlbHNld2hlcmVcbiAgICAgIGN1c3RvbU1hcmtlcnMgPyByYWRpdXNTY2FsZSAvIDIgOiByYWRpdXNTY2FsZSxcbiAgICAgIGRhdGEuZ2V0UmFkaXVzXG4gICAgKTtcbiAgICBjb25zdCBleHRlbnNpb25zID0gWy4uLmRlZmF1bHRMYXllclByb3BzLmV4dGVuc2lvbnMsIGJydXNoaW5nRXh0ZW5zaW9uXTtcblxuICAgIGNvbnN0IHVwZGF0ZVRyaWdnZXJzID0ge1xuICAgICAgZ2V0UG9zaXRpb246IHRoaXMuY29uZmlnLmNvbHVtbnMsXG4gICAgICBnZXRGaWx0ZXJWYWx1ZTogZ3B1RmlsdGVyLmZpbHRlclZhbHVlVXBkYXRlVHJpZ2dlcnMsXG4gICAgICAuLi50aGlzLmdldFZpc3VhbENoYW5uZWxVcGRhdGVUcmlnZ2VycygpXG4gICAgfTtcblxuICAgIGNvbnN0IHNoYXJlZFByb3BzID0ge1xuICAgICAgZ2V0RmlsdGVyVmFsdWU6IGRhdGEuZ2V0RmlsdGVyVmFsdWUsXG4gICAgICBleHRlbnNpb25zLFxuICAgICAgZmlsdGVyUmFuZ2U6IGRlZmF1bHRMYXllclByb3BzLmZpbHRlclJhbmdlLFxuICAgICAgdmlzaWJsZTogZGVmYXVsdExheWVyUHJvcHMudmlzaWJsZSxcbiAgICAgIC4uLmJydXNoaW5nUHJvcHNcbiAgICB9O1xuICAgIGNvbnN0IGhvdmVyZWRPYmplY3QgPSB0aGlzLmhhc0hvdmVyZWRPYmplY3Qob2JqZWN0SG92ZXJlZCk7XG5cbiAgICBjb25zdCB0ZXh0TGFiZWxMYXllciA9IHRoaXMucmVuZGVyVGV4dExhYmVsTGF5ZXIoXG4gICAgICB7XG4gICAgICAgIGdldFBvc2l0aW9uOiBkYXRhLmdldFBvc2l0aW9uLFxuICAgICAgICBzaGFyZWRQcm9wcyxcbiAgICAgICAgZ2V0UGl4ZWxPZmZzZXQsXG4gICAgICAgIHVwZGF0ZVRyaWdnZXJzXG4gICAgICB9LFxuICAgICAgb3B0c1xuICAgICk7XG4gICAgY29uc3QgY29tbW9uTGF5ZXJQcm9wcyA9IHtcbiAgICAgIC4uLmRlZmF1bHRMYXllclByb3BzLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAvLyBjaXJjbGVzIHdpbGwgYmUgZmxhdCBvbiB0aGUgbWFwIHdoZW4gdGhlIGFsdGl0dWRlIGNvbHVtbiBpcyBub3QgdXNlZFxuICAgICAgICBkZXB0aFRlc3Q6IHRoaXMuY29uZmlnLmNvbHVtbnMuYWx0aXR1ZGU/LmZpZWxkSWR4ID4gLTFcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgY3VzdG9tTWFya2Vyc0ZpZWxkID0gdGhpcy5jb25maWcuY3VzdG9tTWFya2Vyc0ZpZWxkO1xuICAgIGNvbnN0IGN1c3RvbU1hcmtlcnNDb25maWd1cmVkID1cbiAgICAgIGN1c3RvbU1hcmtlcnMgJiYgQm9vbGVhbihjdXN0b21NYXJrZXJzVXJsIHx8IChjdXN0b21NYXJrZXJzRmllbGQgJiYgY3VzdG9tTWFya2Vyc1JhbmdlKSk7XG4gICAgY29uc3QgY3VzdG9tTWFya2Vyc01pc0NvbmZpZ3VyZWQgPSBjdXN0b21NYXJrZXJzICYmICFjdXN0b21NYXJrZXJzQ29uZmlndXJlZDtcblxuICAgIGlmIChjdXN0b21NYXJrZXJzQ29uZmlndXJlZCkge1xuICAgICAgY29uc3QgbWF4SWNvblNpemUgPSB0aGlzLmdldE1heE1hcmtlclNpemUoKTtcbiAgICAgIGNvbnN0IHVzZU1hc2sgPSBCb29sZWFuKHRoaXMuY29uZmlnLnZpc0NvbmZpZy5maWxsZWQpO1xuICAgICAgY29uc3QgaWNvbkxheWVyUHJvcHMgPSB7XG4gICAgICAgIGdldEljb246IHRoaXMuZ2V0Q3VzdG9tTWFya2VySWNvbkFjY2Vzc29yKGRhdGEuZ2V0SWNvblVybCwgdXNlTWFzayksXG4gICAgICAgIGdldFBvc2l0aW9uOiBkYXRhLmdldFBvc2l0aW9uLFxuICAgICAgICBnZXRTaXplOiBkYXRhLmdldFJhZGl1cyxcbiAgICAgICAgZ2V0QW5nbGU6IG5lZ2F0ZUFjY2Vzc29yKGRhdGEuZ2V0Um90YXRpb24pLFxuICAgICAgICBzaXplU2NhbGU6IHJhZGl1c1NjYWxlLFxuICAgICAgICBzaXplVW5pdHM6ICdwaXhlbHMnLFxuICAgICAgICBsb2FkT3B0aW9uczoge1xuICAgICAgICAgIGltYWdlOiB7XG4gICAgICAgICAgICB0eXBlOiAnaW1hZ2ViaXRtYXAnXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpbWFnZWJpdG1hcDoge1xuICAgICAgICAgICAgcmVzaXplV2lkdGg6IG1heEljb25TaXplLFxuICAgICAgICAgICAgcmVzaXplSGVpZ2h0OiBtYXhJY29uU2l6ZSxcbiAgICAgICAgICAgIHJlc2l6ZVF1YWxpdHk6ICdoaWdoJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIFtcbiAgICAgICAgbmV3IEljb25MYXllcih7XG4gICAgICAgICAgLi4uY29tbW9uTGF5ZXJQcm9wcyxcbiAgICAgICAgICAuLi5pY29uTGF5ZXJQcm9wcyxcbiAgICAgICAgICBpZDogYCR7ZGVmYXVsdExheWVyUHJvcHMuaWR9LWljb25gLFxuICAgICAgICAgIGRhdGE6IGRhdGEuZGF0YSxcbiAgICAgICAgICBnZXRDb2xvcjogdGhpcy5jb25maWcudmlzQ29uZmlnLmZpbGxlZCA/IGRhdGEuZ2V0RmlsbENvbG9yIDogVU5LTk9XTl9DT0xPUixcbiAgICAgICAgICBnZXRGaWx0ZXJWYWx1ZTogZGF0YS5nZXRGaWx0ZXJWYWx1ZSxcbiAgICAgICAgICB1cGRhdGVUcmlnZ2Vyczoge1xuICAgICAgICAgICAgZ2V0RmlsdGVyVmFsdWU6IHVwZGF0ZVRyaWdnZXJzLmdldEZpbHRlclZhbHVlLFxuICAgICAgICAgICAgZ2V0Q29sb3I6IHsuLi51cGRhdGVUcmlnZ2Vycy5nZXRGaWxsQ29sb3IsIGZpbGxlZDogdGhpcy5jb25maWcudmlzQ29uZmlnLmZpbGxlZH0sXG4gICAgICAgICAgICBnZXRJY29uOiB7Li4udXBkYXRlVHJpZ2dlcnMuZ2V0SWNvblVybCwgbWF4SWNvblNpemUsIHVzZU1hc2t9LFxuICAgICAgICAgICAgZ2V0U2l6ZTogdXBkYXRlVHJpZ2dlcnMuZ2V0UmFkaXVzLFxuICAgICAgICAgICAgZ2V0QW5nbGU6IHVwZGF0ZVRyaWdnZXJzLmdldFJvdGF0aW9uXG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgLi4uKGhvdmVyZWRPYmplY3RcbiAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgbmV3IEljb25MYXllcih7XG4gICAgICAgICAgICAgICAgLi4uaWNvbkxheWVyUHJvcHMsXG4gICAgICAgICAgICAgICAgLi4udGhpcy5nZXREZWZhdWx0SG92ZXJMYXllclByb3BzKCksXG4gICAgICAgICAgICAgICAgaWQ6IGAke2RlZmF1bHRMYXllclByb3BzLmlkfS1pY29uLWhvdmVyZWRgLFxuICAgICAgICAgICAgICAgIGRhdGE6IFtob3ZlcmVkT2JqZWN0XSxcbiAgICAgICAgICAgICAgICBnZXRDb2xvcjogdGhpcy5jb25maWcuaGlnaGxpZ2h0Q29sb3JcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF1cbiAgICAgICAgICA6IFtdKSxcbiAgICAgICAgLi4udGV4dExhYmVsTGF5ZXJcbiAgICAgIF07XG4gICAgfVxuXG4gICAgY29uc3Qgc2NhdHRlclBsb3RMYXllclByb3BzID0ge1xuICAgICAgc3Ryb2tlZDogdGhpcy5jb25maWcudmlzQ29uZmlnLm91dGxpbmUsXG4gICAgICBmaWxsZWQ6IHRoaXMuY29uZmlnLnZpc0NvbmZpZy5maWxsZWQsXG4gICAgICBsaW5lV2lkdGhTY2FsZTogdGhpcy5jb25maWcudmlzQ29uZmlnLnRoaWNrbmVzcyxcbiAgICAgIC8vIFRPRE86IGludmVudCBiZXR0ZXIgd2F5IHRvIHJlbmRlciBzb21ldGhpbmcgd2hlbiBjdXN0b21NYXJrZXJzIGFyZSBub3QgeWV0IGNvbmZpZ3VyZWRcbiAgICAgIHJhZGl1c1NjYWxlOiBjdXN0b21NYXJrZXJzTWlzQ29uZmlndXJlZCA/IHJhZGl1c1NjYWxlIC8gMiA6IHJhZGl1c1NjYWxlLFxuICAgICAgcmFkaXVzTWF4UGl4ZWxzOiA1MDBcbiAgICB9O1xuXG4gICAgcmV0dXJuIFtcbiAgICAgIG5ldyBTY2F0dGVycGxvdExheWVyKHtcbiAgICAgICAgLi4uYnJ1c2hpbmdQcm9wcyxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgLi4uY29tbW9uTGF5ZXJQcm9wcyxcbiAgICAgICAgLi4uc2NhdHRlclBsb3RMYXllclByb3BzLFxuICAgICAgICByYWRpdXNVbml0czogJ3BpeGVscycsXG4gICAgICAgIGxpbmVXaWR0aFVuaXRzOiAncGl4ZWxzJyxcbiAgICAgICAgdXBkYXRlVHJpZ2dlcnMsXG4gICAgICAgIGV4dGVuc2lvbnNcbiAgICAgIH0pLFxuICAgICAgLy8gaG92ZXIgbGF5ZXJcbiAgICAgIC4uLihob3ZlcmVkT2JqZWN0XG4gICAgICAgID8gW1xuICAgICAgICAgICAgbmV3IFNjYXR0ZXJwbG90TGF5ZXIoe1xuICAgICAgICAgICAgICAuLi50aGlzLmdldERlZmF1bHRIb3ZlckxheWVyUHJvcHMoKSxcbiAgICAgICAgICAgICAgLi4uc2NhdHRlclBsb3RMYXllclByb3BzLFxuICAgICAgICAgICAgICBkYXRhOiBbaG92ZXJlZE9iamVjdF0sXG4gICAgICAgICAgICAgIGdldExpbmVDb2xvcjogdGhpcy5jb25maWcuaGlnaGxpZ2h0Q29sb3IsXG4gICAgICAgICAgICAgIGdldEZpbGxDb2xvcjogdGhpcy5jb25maWcuaGlnaGxpZ2h0Q29sb3IsXG4gICAgICAgICAgICAgIGdldFJhZGl1czogZGF0YS5nZXRSYWRpdXMsXG4gICAgICAgICAgICAgIGdldFBvc2l0aW9uOiBkYXRhLmdldFBvc2l0aW9uXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICAvLyB0ZXh0IGxhYmVsIGxheWVyXG4gICAgICAuLi50ZXh0TGFiZWxMYXllclxuICAgIF07XG4gIH1cbn1cbiJdfQ==
|
|
475
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYXllcnMvcG9pbnQtbGF5ZXIvcG9pbnQtbGF5ZXIuanMiXSwibmFtZXMiOlsicG9pbnRQb3NBY2Nlc3NvciIsImxhdCIsImxuZyIsImFsdGl0dWRlIiwiZGMiLCJkIiwidmFsdWVBdCIsImluZGV4IiwiZmllbGRJZHgiLCJwb2ludFJlcXVpcmVkQ29sdW1ucyIsInBvaW50T3B0aW9uYWxDb2x1bW5zIiwiYnJ1c2hpbmdFeHRlbnNpb24iLCJCcnVzaGluZ0V4dGVuc2lvbiIsInBvaW50VmlzQ29uZmlncyIsInJhZGl1cyIsImN1c3RvbU1hcmtlcnMiLCJjdXN0b21NYXJrZXJzVXJsIiwiY3VzdG9tTWFya2Vyc1JhbmdlIiwibGFiZWxzRW5hYmxlZCIsIm9wYWNpdHkiLCJvdXRsaW5lIiwidGhpY2tuZXNzIiwic3Ryb2tlQ29sb3IiLCJjb2xvclJhbmdlIiwic3Ryb2tlQ29sb3JSYW5nZSIsInJhZGl1c1JhbmdlIiwiZmlsbGVkIiwidHlwZSIsImxhYmVsIiwiZGVmYXVsdFZhbHVlIiwicHJvcGVydHkiLCJQb2ludExheWVyIiwicHJvcHMiLCJyZWdpc3RlclZpc0NvbmZpZyIsImdldFBvc2l0aW9uQWNjZXNzb3IiLCJkYXRhQ29udGFpbmVyIiwiY29uZmlnIiwiY29sdW1ucyIsIlBvaW50TGF5ZXJJY29uIiwiZGVmYXVsdFBvaW50Q29sdW1uUGFpcnMiLCJjb2xvciIsImFjY2Vzc29yIiwiY29uZGl0aW9uIiwidmlzQ29uZmlnIiwia2V5IiwiZmllbGQiLCJzY2FsZSIsImRvbWFpbiIsInJhbmdlIiwiY2hhbm5lbFNjYWxlVHlwZSIsIkNIQU5ORUxfU0NBTEVTIiwic2l6ZSIsImZpeGVkIiwiY3VzdG9tTWFya2VyIiwic3VwcG9ydGVkRmllbGRUeXBlcyIsInJvdGF0aW9uIiwiaWRlbnRpdHkiLCJudWxsVmFsdWUiLCJyb3RhdGlvbkZpZWxkIiwiZGF0YXNldCIsImRlZmF1bHRDb2xvckZpZWxkIiwidXBkYXRlTGF5ZXJDb25maWciLCJjb2xvckZpZWxkIiwidXBkYXRlTGF5ZXJWaXN1YWxDaGFubmVsIiwic3Ryb2tlQ29sb3JGaWVsZCIsInN0cm9rZUNvbG9yRG9tYWluIiwic3Ryb2tlQ29sb3JTY2FsZSIsImN1c3RvbU1hcmtlcnNGaWVsZCIsImN1c3RvbU1hcmtlcnNTY2FsZSIsImdldFBvc2l0aW9uIiwiZmlsdGVyZWRJbmRleCIsImRhdGEiLCJpIiwibGVuZ3RoIiwicG9zIiwiZXZlcnkiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsInB1c2giLCJwb3NpdGlvbiIsImRhdGFzZXRzIiwib2xkTGF5ZXJEYXRhIiwidGV4dExhYmVsIiwiZGF0YUlkIiwiZ3B1RmlsdGVyIiwidXBkYXRlRGF0YSIsInRyaWdnZXJDaGFuZ2VkIiwidGV4dExhYmVscyIsImFjY2Vzc29ycyIsImdldEF0dHJpYnV0ZUFjY2Vzc29ycyIsImdldEZpbHRlclZhbHVlIiwiZmlsdGVyVmFsdWVBY2Nlc3NvciIsImJvdW5kcyIsImdldFBvaW50c0JvdW5kcyIsInVwZGF0ZU1ldGEiLCJvYmplY3RJbmZvIiwicGlja2VkIiwibGF5ZXIiLCJpZCIsIm9wdHMiLCJvYmplY3RIb3ZlcmVkIiwiaW50ZXJhY3Rpb25Db25maWciLCJyYWRpdXNTY2FsZSIsImdldFJhZGl1c1NjYWxlIiwiZGVmYXVsdExheWVyUHJvcHMiLCJnZXREZWZhdWx0RGVja0xheWVyUHJvcHMiLCJicnVzaGluZ1Byb3BzIiwiZ2V0QnJ1c2hpbmdFeHRlbnNpb25Qcm9wcyIsImV4dGVuc2lvbnMiLCJ1cGRhdGVUcmlnZ2VycyIsImZpbHRlclZhbHVlVXBkYXRlVHJpZ2dlcnMiLCJnZXRWaXN1YWxDaGFubmVsVXBkYXRlVHJpZ2dlcnMiLCJzaGFyZWRQcm9wcyIsImZpbHRlclJhbmdlIiwidmlzaWJsZSIsImhvdmVyZWRPYmplY3QiLCJoYXNIb3ZlcmVkT2JqZWN0IiwidGV4dExhYmVsTGF5ZXIiLCJyZW5kZXJUZXh0TGFiZWxMYXllciIsImdldFJhZGl1cyIsImNvbW1vbkxheWVyUHJvcHMiLCJwYXJhbWV0ZXJzIiwiZGVwdGhUZXN0IiwiY3VzdG9tTWFya2Vyc0NvbmZpZ3VyZWQiLCJCb29sZWFuIiwiY3VzdG9tTWFya2Vyc01pc0NvbmZpZ3VyZWQiLCJtYXhJY29uU2l6ZSIsImdldE1heE1hcmtlclNpemUiLCJ1c2VNYXNrIiwiaWNvbkxheWVyUHJvcHMiLCJnZXRJY29uIiwiZ2V0Q3VzdG9tTWFya2VySWNvbkFjY2Vzc29yIiwiZ2V0SWNvblVybCIsImdldFNpemUiLCJnZXRBbmdsZSIsImdldFJvdGF0aW9uIiwic2l6ZVNjYWxlIiwic2l6ZVVuaXRzIiwibG9hZE9wdGlvbnMiLCJpbWFnZSIsImltYWdlYml0bWFwIiwicmVzaXplV2lkdGgiLCJyZXNpemVIZWlnaHQiLCJyZXNpemVRdWFsaXR5IiwiSWNvbkxheWVyIiwiZ2V0Q29sb3IiLCJnZXRGaWxsQ29sb3IiLCJVTktOT1dOX0NPTE9SIiwiZ2V0RGVmYXVsdEhvdmVyTGF5ZXJQcm9wcyIsImhpZ2hsaWdodENvbG9yIiwic2NhdHRlclBsb3RMYXllclByb3BzIiwic3Ryb2tlZCIsImxpbmVXaWR0aFNjYWxlIiwicmFkaXVzTWF4UGl4ZWxzIiwiU2NhdHRlcnBsb3RMYXllciIsInJhZGl1c1VuaXRzIiwibGluZVdpZHRoVW5pdHMiLCJnZXRMaW5lQ29sb3IiLCJmaWVsZFBhaXJzIiwiZm9yRWFjaCIsInBhaXIiLCJsYXRGaWVsZCIsImxuZ0ZpZWxkIiwibGF5ZXJOYW1lIiwiZGVmYXVsdE5hbWUiLCJwcm9wIiwidmFsdWUiLCJERUZBVUxUX0xBWUVSX0NPTE9SIiwiaXNWaXNpYmxlIiwib3B0aW9uYWwiLCJMYXllciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7OztBQUVPLElBQU1BLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBbUI7QUFBQSxNQUFFQyxHQUFGLFFBQUVBLEdBQUY7QUFBQSxNQUFPQyxHQUFQLFFB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QzFGLE1BQVYsR0FBbUIwRixTQUFuQixHQUErQjtBQUQzQixTQUFiLENBTHlCLENBU3pCOztBQUNBLFlBQUlGLFFBQVEsQ0FBQ0ssS0FBVCxJQUFrQkMsb0NBQXRCLEVBQTJDO0FBQ3pDRixVQUFBQSxJQUFJLENBQUM3SCxLQUFMLEdBQWEsMEJBQVMrSCxxQ0FBb0JOLFFBQVEsQ0FBQ0ssS0FBN0IsQ0FBVCxDQUFiO0FBQ0QsU0Fad0IsQ0FjekI7OztBQUNBLFlBQUl0SSxLQUFLLENBQUN5QyxNQUFOLEtBQWlCLENBQXJCLEVBQXdCO0FBQ3RCNEYsVUFBQUEsSUFBSSxDQUFDRyxTQUFMLEdBQWlCLElBQWpCO0FBQ0Q7O0FBRURILFFBQUFBLElBQUksQ0FBQ2hJLE9BQUwsR0FBZTtBQUNicEMsVUFBQUEsR0FBRyxFQUFFZ0ssUUFEUTtBQUViL0osVUFBQUEsR0FBRyxFQUFFZ0ssUUFGUTtBQUdiL0osVUFBQUEsUUFBUSxFQUFFO0FBQUNtSyxZQUFBQSxLQUFLLEVBQUUsSUFBUjtBQUFjOUosWUFBQUEsUUFBUSxFQUFFLENBQUMsQ0FBekI7QUFBNEJpSyxZQUFBQSxRQUFRLEVBQUU7QUFBdEM7QUFIRyxTQUFmO0FBTUF6SSxRQUFBQSxLQUFLLENBQUM4QyxJQUFOLENBQVd1RixJQUFYO0FBQ0QsT0ExQkQ7QUE0QkEsYUFBTztBQUFDckksUUFBQUEsS0FBSyxFQUFMQTtBQUFELE9BQVA7QUFDRDs7O0VBMUlxQzBJLHFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtCcnVzaGluZ0V4dGVuc2lvbn0gZnJvbSAnQGRlY2suZ2wvZXh0ZW5zaW9ucyc7XG5pbXBvcnQge1NjYXR0ZXJwbG90TGF5ZXJ9IGZyb20gJ0BkZWNrLmdsL2xheWVycyc7XG5pbXBvcnQge0ljb25MYXllcn0gZnJvbSAnQGRlY2suZ2wvbGF5ZXJzJztcblxuaW1wb3J0IExheWVyIGZyb20gJy4uL2Jhc2UtbGF5ZXInO1xuaW1wb3J0IHtoZXhUb1JnYn0gZnJvbSAndXRpbHMvY29sb3ItdXRpbHMnO1xuaW1wb3J0IHtuZWdhdGVBY2Nlc3Nvcn0gZnJvbSAndXRpbHMvbGF5ZXItdXRpbHMnO1xuaW1wb3J0IHtmaW5kRGVmYXVsdENvbG9yRmllbGR9IGZyb20gJ3V0aWxzL2RhdGFzZXQtdXRpbHMnO1xuaW1wb3J0IFBvaW50TGF5ZXJJY29uIGZyb20gJy4vcG9pbnQtbGF5ZXItaWNvbic7XG5pbXBvcnQge0RFRkFVTFRfTEFZRVJfQ09MT1IsIENIQU5ORUxfU0NBTEVTLCBVTktOT1dOX0NPTE9SfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5cbmltcG9ydCB7Zm9ybWF0VGV4dExhYmVsRGF0YX0gZnJvbSAnLi4vbGF5ZXItdGV4dC1sYWJlbCc7XG5cbmV4cG9ydCBjb25zdCBwb2ludFBvc0FjY2Vzc29yID0gKHtsYXQsIGxuZywgYWx0aXR1ZGV9KSA9PiBkYyA9PiBkID0+IFtcbiAgZGMudmFsdWVBdChkLmluZGV4LCBsbmcuZmllbGRJZHgpLFxuICBkYy52YWx1ZUF0KGQuaW5kZXgsIGxhdC5maWVsZElkeCksXG4gIGFsdGl0dWRlICYmIGFsdGl0dWRlLmZpZWxkSWR4ID4gLTEgPyBkYy52YWx1ZUF0KGQuaW5kZXgsIGFsdGl0dWRlLmZpZWxkSWR4KSA6IDBcbl07XG5cbmV4cG9ydCBjb25zdCBwb2ludFJlcXVpcmVkQ29sdW1ucyA9IFsnbGF0JywgJ2xuZyddO1xuZXhwb3J0IGNvbnN0IHBvaW50T3B0aW9uYWxDb2x1bW5zID0gWydhbHRpdHVkZSddO1xuXG5jb25zdCBicnVzaGluZ0V4dGVuc2lvbiA9IG5ldyBCcnVzaGluZ0V4dGVuc2lvbigpO1xuXG5leHBvcnQgY29uc3QgcG9pbnRWaXNDb25maWdzID0ge1xuICByYWRpdXM6ICdyYWRpdXMnLFxuICBjdXN0b21NYXJrZXJzOiAnY3VzdG9tTWFya2VycycsXG4gIGN1c3RvbU1hcmtlcnNVcmw6ICdjdXN0b21NYXJrZXJzVXJsJyxcbiAgY3VzdG9tTWFya2Vyc1JhbmdlOiAnY3VzdG9tTWFya2Vyc1JhbmdlJyxcbiAgbGFiZWxzRW5hYmxlZDogJ2xhYmVsc0VuYWJsZWQnLFxuICBvcGFjaXR5OiAnb3BhY2l0eScsXG4gIG91dGxpbmU6ICdvdXRsaW5lJyxcbiAgdGhpY2tuZXNzOiAndGhpY2tuZXNzJyxcbiAgc3Ryb2tlQ29sb3I6ICdzdHJva2VDb2xvcicsXG4gIGNvbG9yUmFuZ2U6ICdjb2xvclJhbmdlJyxcbiAgc3Ryb2tlQ29sb3JSYW5nZTogJ3N0cm9rZUNvbG9yUmFuZ2UnLFxuICByYWRpdXNSYW5nZTogJ3JhZGl1c1JhbmdlJyxcbiAgZmlsbGVkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXIuZmlsbENvbG9yJyxcbiAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgcHJvcGVydHk6ICdmaWxsZWQnXG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBvaW50TGF5ZXIgZXh0ZW5kcyBMYXllciB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5yZWdpc3RlclZpc0NvbmZpZyhwb2ludFZpc0NvbmZpZ3MpO1xuICAgIHRoaXMuZ2V0UG9zaXRpb25BY2Nlc3NvciA9IGRhdGFDb250YWluZXIgPT5cbiAgICAgIHBvaW50UG9zQWNjZXNzb3IodGhpcy5jb25maWcuY29sdW1ucykoZGF0YUNvbnRhaW5lcik7XG4gIH1cblxuICBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gJ3BvaW50JztcbiAgfVxuXG4gIGdldCBpc0FnZ3JlZ2F0ZWQoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0IGxheWVySWNvbigpIHtcbiAgICByZXR1cm4gUG9pbnRMYXllckljb247XG4gIH1cbiAgZ2V0IHJlcXVpcmVkTGF5ZXJDb2x1bW5zKCkge1xuICAgIHJldHVybiBwb2ludFJlcXVpcmVkQ29sdW1ucztcbiAgfVxuXG4gIGdldCBvcHRpb25hbENvbHVtbnMoKSB7XG4gICAgcmV0dXJuIHBvaW50T3B0aW9uYWxDb2x1bW5zO1xuICB9XG5cbiAgZ2V0IGNvbHVtblBhaXJzKCkge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRQb2ludENvbHVtblBhaXJzO1xuICB9XG5cbiAgZ2V0IG5vbmVMYXllckRhdGFBZmZlY3RpbmdQcm9wcygpIHtcbiAgICByZXR1cm4gWy4uLnN1cGVyLm5vbmVMYXllckRhdGFBZmZlY3RpbmdQcm9wcywgJ3JhZGl1cyddO1xuICB9XG5cbiAgZ2V0IHZpc3VhbENoYW5uZWxzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjb2xvcjoge1xuICAgICAgICAuLi5zdXBlci52aXN1YWxDaGFubmVscy5jb2xvcixcbiAgICAgICAgYWNjZXNzb3I6ICdnZXRGaWxsQ29sb3InLFxuICAgICAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcudmlzQ29uZmlnLmZpbGxlZCxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBjb25maWcgPT4gY29uZmlnLmNvbG9yXG4gICAgICB9LFxuICAgICAgc3Ryb2tlQ29sb3I6IHtcbiAgICAgICAgcHJvcGVydHk6ICdzdHJva2VDb2xvcicsXG4gICAgICAgIGtleTogJ3N0cm9rZUNvbG9yJyxcbiAgICAgICAgZmllbGQ6ICdzdHJva2VDb2xvckZpZWxkJyxcbiAgICAgICAgc2NhbGU6ICdzdHJva2VDb2xvclNjYWxlJyxcbiAgICAgICAgZG9tYWluOiAnc3Ryb2tlQ29sb3JEb21haW4nLFxuICAgICAgICByYW5nZTogJ3N0cm9rZUNvbG9yUmFuZ2UnLFxuICAgICAgICBjaGFubmVsU2NhbGVUeXBlOiBDSEFOTkVMX1NDQUxFUy5jb2xvcixcbiAgICAgICAgYWNjZXNzb3I6ICdnZXRMaW5lQ29sb3InLFxuICAgICAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcudmlzQ29uZmlnLm91dGxpbmUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogY29uZmlnID0+IGNvbmZpZy52aXNDb25maWcuc3Ryb2tlQ29sb3IgfHwgY29uZmlnLmNvbG9yXG4gICAgICB9LFxuICAgICAgc2l6ZToge1xuICAgICAgICAuLi5zdXBlci52aXN1YWxDaGFubmVscy5zaXplLFxuICAgICAgICBwcm9wZXJ0eTogJ3JhZGl1cycsXG4gICAgICAgIHJhbmdlOiAncmFkaXVzUmFuZ2UnLFxuICAgICAgICBjaGFubmVsU2NhbGVUeXBlOiAncmFkaXVzJyxcbiAgICAgICAgYWNjZXNzb3I6ICdnZXRSYWRpdXMnLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IDFcbiAgICAgIH0sXG4gICAgICBjdXN0b21NYXJrZXJzOiB7XG4gICAgICAgIHByb3BlcnR5OiAnY3VzdG9tTWFya2VycycsXG4gICAgICAgIGtleTogJ2N1c3RvbU1hcmtlcnMnLFxuICAgICAgICBmaWVsZDogJ2N1c3RvbU1hcmtlcnNGaWVsZCcsXG4gICAgICAgIHNjYWxlOiAnY3VzdG9tTWFya2Vyc1NjYWxlJyxcbiAgICAgICAgZG9tYWluOiAnY3VzdG9tTWFya2Vyc0RvbWFpbicsXG4gICAgICAgIHJhbmdlOiAnY3VzdG9tTWFya2Vyc1JhbmdlJyxcbiAgICAgICAgZml4ZWQ6ICdjdXN0b21NYXJrZXJzVXJsJyxcbiAgICAgICAgY2hhbm5lbFNjYWxlVHlwZTogQ0hBTk5FTF9TQ0FMRVMuY3VzdG9tTWFya2VyLFxuICAgICAgICBhY2Nlc3NvcjogJ2dldEljb25VcmwnLFxuICAgICAgICBzdXBwb3J0ZWRGaWVsZFR5cGVzOiBbJ3N0cmluZyddLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGNvbmZpZyA9PiBjb25maWcudmlzQ29uZmlnLmN1c3RvbU1hcmtlcnNVcmwsXG4gICAgICAgIGNvbmRpdGlvbjogY29uZmlnID0+IGNvbmZpZy52aXNDb25maWcuY3VzdG9tTWFya2Vyc1xuICAgICAgfSxcbiAgICAgIHJvdGF0aW9uOiB7XG4gICAgICAgIHByb3BlcnR5OiAncm90YXRpb24nLFxuICAgICAgICBrZXk6ICdyb3RhdGlvbicsXG4gICAgICAgIGZpZWxkOiAncm90YXRpb25GaWVsZCcsXG4gICAgICAgIGNoYW5uZWxTY2FsZVR5cGU6IENIQU5ORUxfU0NBTEVTLmlkZW50aXR5LFxuICAgICAgICBhY2Nlc3NvcjogJ2dldFJvdGF0aW9uJyxcbiAgICAgICAgc3VwcG9ydGVkRmllbGRUeXBlczogWydmbG9hdCcsICdpbnRlZ2VyJywgJ3JlYWwnLCAnbnVtYmVyJ10sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogKCkgPT4gMCxcbiAgICAgICAgbnVsbFZhbHVlOiAwLFxuICAgICAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcucm90YXRpb25GaWVsZFxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBzZXRJbml0aWFsTGF5ZXJDb25maWcoZGF0YXNldCkge1xuICAgIGNvbnN0IGRlZmF1bHRDb2xvckZpZWxkID0gZmluZERlZmF1bHRDb2xvckZpZWxkKGRhdGFzZXQpO1xuXG4gICAgaWYgKGRlZmF1bHRDb2xvckZpZWxkKSB7XG4gICAgICB0aGlzLnVwZGF0ZUxheWVyQ29uZmlnKHtcbiAgICAgICAgY29sb3JGaWVsZDogZGVmYXVsdENvbG9yRmllbGRcbiAgICAgIH0pO1xuICAgICAgdGhpcy51cGRhdGVMYXllclZpc3VhbENoYW5uZWwoZGF0YXNldCwgJ2NvbG9yJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzdGF0aWMgZmluZERlZmF1bHRMYXllclByb3BzKHtmaWVsZFBhaXJzID0gW119KSB7XG4gICAgY29uc3QgcHJvcHMgPSBbXTtcblxuICAgIC8vIE1ha2UgbGF5ZXIgZm9yIGVhY2ggcGFpclxuICAgIGZpZWxkUGFpcnMuZm9yRWFjaChwYWlyID0+IHtcbiAgICAgIGNvbnN0IGxhdEZpZWxkID0gcGFpci5wYWlyLmxhdDtcbiAgICAgIGNvbnN0IGxuZ0ZpZWxkID0gcGFpci5wYWlyLmxuZztcbiAgICAgIGNvbnN0IGxheWVyTmFtZSA9IHBhaXIuZGVmYXVsdE5hbWU7XG5cbiAgICAgIGNvbnN0IHByb3AgPSB7XG4gICAgICAgIGxhYmVsOiBsYXllck5hbWUubGVuZ3RoID8gbGF5ZXJOYW1lIDogJ1BvaW50J1xuICAgICAgfTtcblxuICAgICAgLy8gZGVmYXVsdCBsYXllciBjb2xvciBmb3IgYmVnaW50cmlwIGFuZCBkcm9wb2ZmIHBvaW50XG4gICAgICBpZiAobGF0RmllbGQudmFsdWUgaW4gREVGQVVMVF9MQVlFUl9DT0xPUikge1xuICAgICAgICBwcm9wLmNvbG9yID0gaGV4VG9SZ2IoREVGQVVMVF9MQVlFUl9DT0xPUltsYXRGaWVsZC52YWx1ZV0pO1xuICAgICAgfVxuXG4gICAgICAvLyBzZXQgdGhlIGZpcnN0IGxheWVyIHRvIGJlIHZpc2libGVcbiAgICAgIGlmIChwcm9wcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcHJvcC5pc1Zpc2libGUgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBwcm9wLmNvbHVtbnMgPSB7XG4gICAgICAgIGxhdDogbGF0RmllbGQsXG4gICAgICAgIGxuZzogbG5nRmllbGQsXG4gICAgICAgIGFsdGl0dWRlOiB7dmFsdWU6IG51bGwsIGZpZWxkSWR4OiAtMSwgb3B0aW9uYWw6IHRydWV9XG4gICAgICB9O1xuXG4gICAgICBwcm9wcy5wdXNoKHByb3ApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtwcm9wc307XG4gIH1cblxuICBnZXREZWZhdWx0TGF5ZXJDb25maWcocHJvcHMgPSB7fSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdXBlci5nZXREZWZhdWx0TGF5ZXJDb25maWcocHJvcHMpLFxuXG4gICAgICAvLyBhZGQgc3Ryb2tlIGNvbG9yIHZpc3VhbCBjaGFubmVsXG4gICAgICBzdHJva2VDb2xvckZpZWxkOiBudWxsLFxuICAgICAgc3Ryb2tlQ29sb3JEb21haW46IFswLCAxXSxcbiAgICAgIHN0cm9rZUNvbG9yU2NhbGU6ICdxdWFudGlsZScsXG5cbiAgICAgIGN1c3RvbU1hcmtlcnNGaWVsZDogbnVsbCxcbiAgICAgIGN1c3RvbU1hcmtlcnNTY2FsZTogJ29yZGluYWwnXG4gICAgfTtcbiAgfVxuXG4gIGNhbGN1bGF0ZURhdGFBdHRyaWJ1dGUoe2ZpbHRlcmVkSW5kZXh9LCBnZXRQb3NpdGlvbikge1xuICAgIGNvbnN0IGRhdGEgPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsdGVyZWRJbmRleC5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgaW5kZXggPSBmaWx0ZXJlZEluZGV4W2ldO1xuICAgICAgY29uc3QgcG9zID0gZ2V0UG9zaXRpb24oe2luZGV4fSk7XG5cbiAgICAgIC8vIGlmIGRvZXNuJ3QgaGF2ZSBwb2ludCBsYXQgb3IgbG5nLCBkbyBub3QgYWRkIHRoZSBwb2ludFxuICAgICAgLy8gZGVjay5nbCBjYW4ndCBoYW5kbGUgcG9zaXRpb24gPSBudWxsXG4gICAgICBpZiAocG9zLmV2ZXJ5KE51bWJlci5pc0Zpbml0ZSkpIHtcbiAgICAgICAgZGF0YS5wdXNoKHtcbiAgICAgICAgICBwb3NpdGlvbjogcG9zLFxuICAgICAgICAgIGluZGV4XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGZvcm1hdExheWVyRGF0YShkYXRhc2V0cywgb2xkTGF5ZXJEYXRhKSB7XG4gICAgY29uc3Qge3RleHRMYWJlbH0gPSB0aGlzLmNvbmZpZztcbiAgICBjb25zdCB7Z3B1RmlsdGVyLCBkYXRhQ29udGFpbmVyfSA9IGRhdGFzZXRzW3RoaXMuY29uZmlnLmRhdGFJZF07XG4gICAgY29uc3Qge2RhdGEsIHRyaWdnZXJDaGFuZ2VkfSA9IHRoaXMudXBkYXRlRGF0YShkYXRhc2V0cywgb2xkTGF5ZXJEYXRhKTtcbiAgICBjb25zdCBnZXRQb3NpdGlvbiA9IHRoaXMuZ2V0UG9zaXRpb25BY2Nlc3NvcihkYXRhQ29udGFpbmVyKTtcblxuICAgIC8vIGdldCBhbGwgZGlzdGluY3QgY2hhcmFjdGVycyBpbiB0aGUgdGV4dCBsYWJlbHNcbiAgICBjb25zdCB0ZXh0TGFiZWxzID0gZm9ybWF0VGV4dExhYmVsRGF0YSh7dGV4dExhYmVsLCBkYXRhQ29udGFpbmVyfSk7XG5cbiAgICBjb25zdCBhY2Nlc3NvcnMgPSB0aGlzLmdldEF0dHJpYnV0ZUFjY2Vzc29ycyh7ZGF0YUNvbnRhaW5lcn0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGEsXG4gICAgICBnZXRQb3NpdGlvbixcbiAgICAgIGdldEZpbHRlclZhbHVlOiBncHVGaWx0ZXIuZmlsdGVyVmFsdWVBY2Nlc3NvcihkYXRhQ29udGFpbmVyKSgpLFxuICAgICAgdGV4dExhYmVscyxcbiAgICAgIC4uLmFjY2Vzc29yc1xuICAgIH07XG4gIH1cbiAgLyogZXNsaW50LWVuYWJsZSBjb21wbGV4aXR5ICovXG5cbiAgdXBkYXRlTGF5ZXJNZXRhKGRhdGFDb250YWluZXIpIHtcbiAgICBjb25zdCBnZXRQb3NpdGlvbiA9IHRoaXMuZ2V0UG9zaXRpb25BY2Nlc3NvcihkYXRhQ29udGFpbmVyKTtcbiAgICBjb25zdCBib3VuZHMgPSB0aGlzLmdldFBvaW50c0JvdW5kcyhkYXRhQ29udGFpbmVyLCBnZXRQb3NpdGlvbik7XG4gICAgdGhpcy51cGRhdGVNZXRhKHtib3VuZHN9KTtcbiAgfVxuXG4gIGlzTGF5ZXJIb3ZlcmVkKG9iamVjdEluZm8pIHtcbiAgICByZXR1cm4gKFxuICAgICAgKG9iamVjdEluZm8/LnBpY2tlZCAmJiBvYmplY3RJbmZvPy5sYXllcj8ucHJvcHM/LmlkID09PSB0aGlzLmlkKSB8fFxuICAgICAgb2JqZWN0SW5mbz8ubGF5ZXI/LnByb3BzPy5pZCA9PT0gYCR7dGhpcy5pZH0taWNvbmBcbiAgICApO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbXBsZXhpdHksIG1heC1zdGF0ZW1lbnRzXG4gIHJlbmRlckxheWVyKG9wdHMpIHtcbiAgICBjb25zdCB7ZGF0YSwgZ3B1RmlsdGVyLCBvYmplY3RIb3ZlcmVkLCBpbnRlcmFjdGlvbkNvbmZpZ30gPSBvcHRzO1xuICAgIGNvbnN0IHtjdXN0b21NYXJrZXJzLCBjdXN0b21NYXJrZXJzVXJsLCBjdXN0b21NYXJrZXJzUmFuZ2V9ID0gdGhpcy5jb25maWcudmlzQ29uZmlnO1xuXG4gICAgY29uc3QgcmFkaXVzU2NhbGUgPSB0aGlzLmdldFJhZGl1c1NjYWxlKCk7XG5cbiAgICBjb25zdCBkZWZhdWx0TGF5ZXJQcm9wcyA9IHRoaXMuZ2V0RGVmYXVsdERlY2tMYXllclByb3BzKG9wdHMpO1xuICAgIGNvbnN0IGJydXNoaW5nUHJvcHMgPSB0aGlzLmdldEJydXNoaW5nRXh0ZW5zaW9uUHJvcHMoaW50ZXJhY3Rpb25Db25maWcpO1xuICAgIGNvbnN0IGV4dGVuc2lvbnMgPSBbLi4uZGVmYXVsdExheWVyUHJvcHMuZXh0ZW5zaW9ucywgYnJ1c2hpbmdFeHRlbnNpb25dO1xuXG4gICAgY29uc3QgdXBkYXRlVHJpZ2dlcnMgPSB7XG4gICAgICBnZXRQb3NpdGlvbjogdGhpcy5jb25maWcuY29sdW1ucyxcbiAgICAgIGdldEZpbHRlclZhbHVlOiBncHVGaWx0ZXIuZmlsdGVyVmFsdWVVcGRhdGVUcmlnZ2VycyxcbiAgICAgIC4uLnRoaXMuZ2V0VmlzdWFsQ2hhbm5lbFVwZGF0ZVRyaWdnZXJzKClcbiAgICB9O1xuXG4gICAgY29uc3Qgc2hhcmVkUHJvcHMgPSB7XG4gICAgICBnZXRGaWx0ZXJWYWx1ZTogZGF0YS5nZXRGaWx0ZXJWYWx1ZSxcbiAgICAgIGV4dGVuc2lvbnMsXG4gICAgICBmaWx0ZXJSYW5nZTogZGVmYXVsdExheWVyUHJvcHMuZmlsdGVyUmFuZ2UsXG4gICAgICB2aXNpYmxlOiBkZWZhdWx0TGF5ZXJQcm9wcy52aXNpYmxlLFxuICAgICAgLi4uYnJ1c2hpbmdQcm9wc1xuICAgIH07XG4gICAgY29uc3QgaG92ZXJlZE9iamVjdCA9IHRoaXMuaGFzSG92ZXJlZE9iamVjdChvYmplY3RIb3ZlcmVkKTtcblxuICAgIGNvbnN0IHRleHRMYWJlbExheWVyID0gdGhpcy5yZW5kZXJUZXh0TGFiZWxMYXllcihcbiAgICAgIHtcbiAgICAgICAgZ2V0UG9zaXRpb246IGRhdGEuZ2V0UG9zaXRpb24sXG4gICAgICAgIHNoYXJlZFByb3BzLFxuICAgICAgICAvLyBUT0RPIHJlbW92ZSB0aGlzIHNjYWxpbmcgYnkgaGFsZiBoZXJlIGFuZCBlbHNld2hlcmVcbiAgICAgICAgcmFkaXVzU2NhbGU6IGN1c3RvbU1hcmtlcnMgPyByYWRpdXNTY2FsZSAvIDIgOiByYWRpdXNTY2FsZSxcbiAgICAgICAgZ2V0UmFkaXVzOiBkYXRhLmdldFJhZGl1cyxcbiAgICAgICAgdXBkYXRlVHJpZ2dlcnNcbiAgICAgIH0sXG4gICAgICBvcHRzXG4gICAgKTtcbiAgICBjb25zdCBjb21tb25MYXllclByb3BzID0ge1xuICAgICAgLi4uZGVmYXVsdExheWVyUHJvcHMsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIC8vIGNpcmNsZXMgd2lsbCBiZSBmbGF0IG9uIHRoZSBtYXAgd2hlbiB0aGUgYWx0aXR1ZGUgY29sdW1uIGlzIG5vdCB1c2VkXG4gICAgICAgIGRlcHRoVGVzdDogdGhpcy5jb25maWcuY29sdW1ucy5hbHRpdHVkZT8uZmllbGRJZHggPiAtMVxuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBjdXN0b21NYXJrZXJzRmllbGQgPSB0aGlzLmNvbmZpZy5jdXN0b21NYXJrZXJzRmllbGQ7XG4gICAgY29uc3QgY3VzdG9tTWFya2Vyc0NvbmZpZ3VyZWQgPVxuICAgICAgY3VzdG9tTWFya2VycyAmJiBCb29sZWFuKGN1c3RvbU1hcmtlcnNVcmwgfHwgKGN1c3RvbU1hcmtlcnNGaWVsZCAmJiBjdXN0b21NYXJrZXJzUmFuZ2UpKTtcbiAgICBjb25zdCBjdXN0b21NYXJrZXJzTWlzQ29uZmlndXJlZCA9IGN1c3RvbU1hcmtlcnMgJiYgIWN1c3RvbU1hcmtlcnNDb25maWd1cmVkO1xuXG4gICAgaWYgKGN1c3RvbU1hcmtlcnNDb25maWd1cmVkKSB7XG4gICAgICBjb25zdCBtYXhJY29uU2l6ZSA9IHRoaXMuZ2V0TWF4TWFya2VyU2l6ZSgpO1xuICAgICAgY29uc3QgdXNlTWFzayA9IEJvb2xlYW4odGhpcy5jb25maWcudmlzQ29uZmlnLmZpbGxlZCk7XG4gICAgICBjb25zdCBpY29uTGF5ZXJQcm9wcyA9IHtcbiAgICAgICAgZ2V0SWNvbjogdGhpcy5nZXRDdXN0b21NYXJrZXJJY29uQWNjZXNzb3IoZGF0YS5nZXRJY29uVXJsLCB1c2VNYXNrKSxcbiAgICAgICAgZ2V0UG9zaXRpb246IGRhdGEuZ2V0UG9zaXRpb24sXG4gICAgICAgIGdldFNpemU6IGRhdGEuZ2V0UmFkaXVzLFxuICAgICAgICBnZXRBbmdsZTogbmVnYXRlQWNjZXNzb3IoZGF0YS5nZXRSb3RhdGlvbiksXG4gICAgICAgIHNpemVTY2FsZTogcmFkaXVzU2NhbGUsXG4gICAgICAgIHNpemVVbml0czogJ3BpeGVscycsXG4gICAgICAgIGxvYWRPcHRpb25zOiB7XG4gICAgICAgICAgaW1hZ2U6IHtcbiAgICAgICAgICAgIHR5cGU6ICdpbWFnZWJpdG1hcCdcbiAgICAgICAgICB9LFxuICAgICAgICAgIGltYWdlYml0bWFwOiB7XG4gICAgICAgICAgICByZXNpemVXaWR0aDogbWF4SWNvblNpemUsXG4gICAgICAgICAgICByZXNpemVIZWlnaHQ6IG1heEljb25TaXplLFxuICAgICAgICAgICAgcmVzaXplUXVhbGl0eTogJ2hpZ2gnXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gW1xuICAgICAgICBuZXcgSWNvbkxheWVyKHtcbiAgICAgICAgICAuLi5jb21tb25MYXllclByb3BzLFxuICAgICAgICAgIC4uLmljb25MYXllclByb3BzLFxuICAgICAgICAgIGlkOiBgJHtkZWZhdWx0TGF5ZXJQcm9wcy5pZH0taWNvbmAsXG4gICAgICAgICAgZGF0YTogZGF0YS5kYXRhLFxuICAgICAgICAgIGdldENvbG9yOiB0aGlzLmNvbmZpZy52aXNDb25maWcuZmlsbGVkID8gZGF0YS5nZXRGaWxsQ29sb3IgOiBVTktOT1dOX0NPTE9SLFxuICAgICAgICAgIGdldEZpbHRlclZhbHVlOiBkYXRhLmdldEZpbHRlclZhbHVlLFxuICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzOiB7XG4gICAgICAgICAgICBnZXRGaWx0ZXJWYWx1ZTogdXBkYXRlVHJpZ2dlcnMuZ2V0RmlsdGVyVmFsdWUsXG4gICAgICAgICAgICBnZXRDb2xvcjogey4uLnVwZGF0ZVRyaWdnZXJzLmdldEZpbGxDb2xvciwgZmlsbGVkOiB0aGlzLmNvbmZpZy52aXNDb25maWcuZmlsbGVkfSxcbiAgICAgICAgICAgIGdldEljb246IHsuLi51cGRhdGVUcmlnZ2Vycy5nZXRJY29uVXJsLCBtYXhJY29uU2l6ZSwgdXNlTWFza30sXG4gICAgICAgICAgICBnZXRTaXplOiB1cGRhdGVUcmlnZ2Vycy5nZXRSYWRpdXMsXG4gICAgICAgICAgICBnZXRBbmdsZTogdXBkYXRlVHJpZ2dlcnMuZ2V0Um90YXRpb25cbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICAuLi4oaG92ZXJlZE9iamVjdFxuICAgICAgICAgID8gW1xuICAgICAgICAgICAgICBuZXcgSWNvbkxheWVyKHtcbiAgICAgICAgICAgICAgICAuLi5pY29uTGF5ZXJQcm9wcyxcbiAgICAgICAgICAgICAgICAuLi50aGlzLmdldERlZmF1bHRIb3ZlckxheWVyUHJvcHMoKSxcbiAgICAgICAgICAgICAgICBpZDogYCR7ZGVmYXVsdExheWVyUHJvcHMuaWR9LWljb24taG92ZXJlZGAsXG4gICAgICAgICAgICAgICAgZGF0YTogW2hvdmVyZWRPYmplY3RdLFxuICAgICAgICAgICAgICAgIGdldENvbG9yOiB0aGlzLmNvbmZpZy5oaWdobGlnaHRDb2xvclxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXVxuICAgICAgICAgIDogW10pLFxuICAgICAgICAuLi50ZXh0TGFiZWxMYXllclxuICAgICAgXTtcbiAgICB9XG5cbiAgICBjb25zdCBzY2F0dGVyUGxvdExheWVyUHJvcHMgPSB7XG4gICAgICBzdHJva2VkOiB0aGlzLmNvbmZpZy52aXNDb25maWcub3V0bGluZSxcbiAgICAgIGZpbGxlZDogdGhpcy5jb25maWcudmlzQ29uZmlnLmZpbGxlZCxcbiAgICAgIGxpbmVXaWR0aFNjYWxlOiB0aGlzLmNvbmZpZy52aXNDb25maWcudGhpY2tuZXNzLFxuICAgICAgLy8gVE9ETzogaW52ZW50IGJldHRlciB3YXkgdG8gcmVuZGVyIHNvbWV0aGluZyB3aGVuIGN1c3RvbU1hcmtlcnMgYXJlIG5vdCB5ZXQgY29uZmlndXJlZFxuICAgICAgcmFkaXVzU2NhbGU6IGN1c3RvbU1hcmtlcnNNaXNDb25maWd1cmVkID8gcmFkaXVzU2NhbGUgLyAyIDogcmFkaXVzU2NhbGUsXG4gICAgICByYWRpdXNNYXhQaXhlbHM6IDUwMFxuICAgIH07XG5cbiAgICByZXR1cm4gW1xuICAgICAgbmV3IFNjYXR0ZXJwbG90TGF5ZXIoe1xuICAgICAgICAuLi5icnVzaGluZ1Byb3BzLFxuICAgICAgICAuLi5kYXRhLFxuICAgICAgICAuLi5jb21tb25MYXllclByb3BzLFxuICAgICAgICAuLi5zY2F0dGVyUGxvdExheWVyUHJvcHMsXG4gICAgICAgIHJhZGl1c1VuaXRzOiAncGl4ZWxzJyxcbiAgICAgICAgbGluZVdpZHRoVW5pdHM6ICdwaXhlbHMnLFxuICAgICAgICB1cGRhdGVUcmlnZ2VycyxcbiAgICAgICAgZXh0ZW5zaW9uc1xuICAgICAgfSksXG4gICAgICAvLyBob3ZlciBsYXllclxuICAgICAgLi4uKGhvdmVyZWRPYmplY3RcbiAgICAgICAgPyBbXG4gICAgICAgICAgICBuZXcgU2NhdHRlcnBsb3RMYXllcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuZ2V0RGVmYXVsdEhvdmVyTGF5ZXJQcm9wcygpLFxuICAgICAgICAgICAgICAuLi5zY2F0dGVyUGxvdExheWVyUHJvcHMsXG4gICAgICAgICAgICAgIGRhdGE6IFtob3ZlcmVkT2JqZWN0XSxcbiAgICAgICAgICAgICAgZ2V0TGluZUNvbG9yOiB0aGlzLmNvbmZpZy5oaWdobGlnaHRDb2xvcixcbiAgICAgICAgICAgICAgZ2V0RmlsbENvbG9yOiB0aGlzLmNvbmZpZy5oaWdobGlnaHRDb2xvcixcbiAgICAgICAgICAgICAgZ2V0UmFkaXVzOiBkYXRhLmdldFJhZGl1cyxcbiAgICAgICAgICAgICAgZ2V0UG9zaXRpb246IGRhdGEuZ2V0UG9zaXRpb25cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICAgIC8vIHRleHQgbGFiZWwgbGF5ZXJcbiAgICAgIC4uLnRleHRMYWJlbExheWVyXG4gICAgXTtcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@carto/kepler.gl",
|
|
3
3
|
"author": "CARTO",
|
|
4
4
|
"homepage": "https://github.com/CartoDB/carto-kepler#readme",
|
|
5
|
-
"version": "0.0.65-alpha.labels",
|
|
5
|
+
"version": "0.0.65-alpha.labels.2",
|
|
6
6
|
"description": "kepler.gl is a webgl based application to visualize large scale location data in the browser",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"main": "dist/index.js",
|
|
@@ -303,6 +303,7 @@ export default function MapContainerFactory(MapPopover, MapControl, Editor) {
|
|
|
303
303
|
return;
|
|
304
304
|
}
|
|
305
305
|
|
|
306
|
+
throw error;
|
|
306
307
|
const errorMessage = `An error in deck.gl: ${error?.message} in ${layer?.id}`;
|
|
307
308
|
const notificationId = `${layer?.id}-${error?.message}`;
|
|
308
309
|
|