@flowmap.gl/data 8.0.2 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -112,4 +112,4 @@ export default class LocalFlowmapDataProvider {
112
112
  : undefined;
113
113
  }
114
114
  }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxGbG93bWFwRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVyL0xvY2FsRmxvd21hcERhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBY0gsT0FBTyxnQkFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBRUwsd0JBQXdCLEdBQ3pCLE1BQU0sNkJBQTZCLENBQUM7QUFHckMsTUFBTSxDQUFDLE9BQU8sT0FBTyx3QkFBd0I7SUFTM0MsWUFBWSxTQUFxQztRQUMvQyxrRUFBa0U7UUFDbEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGdCQUFnQixDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBcUM7UUFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUE4QjtRQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxZQUEwQjtRQUM5QyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNuQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFXO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMs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QUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FDcEMsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FDakI7WUFDSCxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIEZsb3dtYXAuZ2wgY29udHJpYnV0b3JzXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMCBUZXJhbHl0aWNzXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB0eXBlIEZsb3dtYXBEYXRhUHJvdmlkZXIgZnJvbSAnLi9GbG93bWFwRGF0YVByb3ZpZGVyJztcbmltcG9ydCB0eXBlIHtcbiAgQ2x1c3RlcixcbiAgQ2x1c3Rlck5vZGUsXG4gIEZsb3dtYXBEYXRhLFxuICBGbG93bWFwRGF0YUFjY2Vzc29ycyxcbiAgTGF5ZXJzRGF0YSxcbiAgTG9jYXRpb25Ub3RhbHMsXG4gIFZpZXdwb3J0UHJvcHMsXG4gIEFnZ3JlZ2F0ZUZsb3csXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7Rmxvd21hcFN0YXRlfSBmcm9tICcuLi9GbG93bWFwU3RhdGUnO1xuaW1wb3J0IEZsb3dtYXBTZWxlY3RvcnMgZnJvbSAnLi4vRmxvd21hcFNlbGVjdG9ycyc7XG5pbXBvcnQge1xuICBHZXRWaWV3U3RhdGVPcHRpb25zLFxuICBnZXRWaWV3U3RhdGVGb3JMb2NhdGlvbnMsXG59IGZyb20gJy4uL2dldFZpZXdTdGF0ZUZvckxvY2F0aW9ucyc7XG5pbXBvcnQge0NsdXN0ZXJJbmRleH0gZnJvbSAnLi4vY2x1c3Rlci9DbHVzdGVySW5kZXgnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMb2NhbEZsb3dtYXBEYXRhUHJvdmlkZXI8XG4gIEwgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBGIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pixcbj4gaW1wbGVtZW50cyBGbG93bWFwRGF0YVByb3ZpZGVyPEwsIEY+XG57XG4gIHByaXZhdGUgc2VsZWN0b3JzOiBGbG93bWFwU2VsZWN0b3JzPEwsIEY+O1xuICBwcml2YXRlIGZsb3dtYXBEYXRhOiBGbG93bWFwRGF0YTxMLCBGPiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBmbG93bWFwU3RhdGU6IEZsb3dtYXBTdGF0ZSB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihhY2Nlc3NvcnM6IEZsb3dtYXBEYXRhQWNjZXNzb3JzPEwsIEY+KSB7XG4gICAgLy8gc2NvcGUgc2VsZWN0b3JzIHRvIHRoZSBjb25jcmV0ZSBpbnN0YW5jZSBvZiBGbG93bWFwRGF0YVByb3ZpZGVyXG4gICAgdGhpcy5zZWxlY3RvcnMgPSBuZXcgRmxvd21hcFNlbGVjdG9yczxMLCBGPihhY2Nlc3NvcnMpO1xuICAgIHRoaXMuZmxvd21hcERhdGEgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5mbG93bWFwU3RhdGUgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBzZXRBY2Nlc3NvcnMoYWNjZXNzb3JzOiBGbG93bWFwRGF0YUFjY2Vzc29yczxMLCBGPikge1xuICAgIHRoaXMuc2VsZWN0b3JzLnNldEFjY2Vzc29ycyhhY2Nlc3NvcnMpO1xuICB9XG5cbiAgc2V0Rmxvd21hcERhdGEoZmxvd21hcERhdGE6IEZsb3dtYXBEYXRhPEwsIEY+KTogdm9pZCB7XG4gICAgdGhpcy5mbG93bWFwRGF0YSA9IGZsb3dtYXBEYXRhO1xuICB9XG5cbiAgZ2V0U2VsZWN0b3JzKCk6IEZsb3dtYXBTZWxlY3RvcnM8TCwgRj4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdG9ycztcbiAgfVxuXG4gIGdldEZsb3dtYXBEYXRhKCk6IEZsb3dtYXBEYXRhPEwsIEY+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mbG93bWFwRGF0YTtcbiAgfVxuXG4gIGFzeW5jIHNldEZsb3dtYXBTdGF0ZShmbG93bWFwU3RhdGU6IEZsb3dtYXBTdGF0ZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZmxvd21hcFN0YXRlID0gZmxvd21hcFN0YXRlO1xuICB9XG5cbiAgZ2V0Rmxvd21hcFN0YXRlKCk6IEZsb3dtYXBTdGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZmxvd21hcFN0YXRlO1xuICB9XG5cbiAgYXN5bmMgZ2V0Rmxvd0J5SW5kZXgoaWR4OiBudW1iZXIpOiBQcm9taXNlPEYgfCBBZ2dyZWdhdGVGbG93IHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmZsb3dtYXBTdGF0ZSB8fCAhdGhpcy5mbG93bWFwRGF0YSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgZmxvd3MgPSB0aGlzLnNlbGVjdG9ycy5nZXRGbG93c0ZvckZsb3dtYXBMYXllcihcbiAgICAgIHRoaXMuZmxvd21hcFN0YXRlLFxuICAgICAgdGhpcy5mbG93bWFwRGF0YSxcbiAgICApO1xuICAgIHJldHVybiBmbG93cz8uW2lkeF07XG4gIH1cblxuICAvLyBUT0RPOiB0aGlzIGlzIHVucmVsaWFibGUsIHNob3VsZCByZXBsYWNlIGJ5IHVucWl1ZSBJRFxuICBhc3luYyBnZXRMb2NhdGlvbkJ5SW5kZXgoaWR4OiBudW1iZXIpOiBQcm9taXNlPEwgfCBDbHVzdGVyTm9kZSB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5mbG93bWFwU3RhdGUgfHwgIXRoaXMuZmxvd21hcERhdGEpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGxvY2F0aW9ucyA9IHRoaXMuc2VsZWN0b3JzLmdldExvY2F0aW9uc0ZvckZsb3dtYXBMYXllcihcbiAgICAgIHRoaXMuZmxvd21hcFN0YXRlLFxuICAgICAgdGhpcy5mbG93bWFwRGF0YSxcbiAgICApO1xuICAgIHJldHVybiBsb2NhdGlvbnM/LltpZHhdO1xuICB9XG5cbiAgYXN5bmMgZ2V0TGF5ZXJzRGF0YSgpOiBQcm9taXNlPExheWVyc0RhdGEgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuZmxvd21hcFN0YXRlIHx8ICF0aGlzLmZsb3dtYXBEYXRhKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZWxlY3RvcnMuZ2V0TGF5ZXJzRGF0YSh0aGlzLmZsb3dtYXBTdGF0ZSwgdGhpcy5mbG93bWFwRGF0YSk7XG4gIH1cblxuICBhc3luYyBnZXRMb2NhdGlvbkJ5SWQoaWQ6IHN0cmluZyB8IG51bWJlcik6IFByb21pc2U8TCB8IENsdXN0ZXIgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuZmxvd21hcFN0YXRlIHx8ICF0aGlzLmZsb3dtYXBEYXRhKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBjbHVzdGVySW5kZXggPSB0aGlzLnNlbGVjdG9ycy5nZXRDbHVzdGVySW5kZXgoXG4gICAgICB0aGlzLmZsb3dtYXBTdGF0ZSxcbiAgICAgIHRoaXMuZmxvd21hcERhdGEsXG4gICAgKTtcbiAgICBpZiAoY2x1c3RlckluZGV4KSB7XG4gICAgICBjb25zdCBjbHVzdGVyID0gY2x1c3RlckluZGV4LmdldENsdXN0ZXJCeUlkKGlkKTtcbiAgICAgIGlmIChjbHVzdGVyKSB7XG4gICAgICAgIHJldHVybiBjbHVzdGVyO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBsb2NhdGlvbnNCeUlkID0gdGhpcy5zZWxlY3RvcnMuZ2V0TG9jYXRpb25zQnlJZChcbiAgICAgIHRoaXMuZmxvd21hcFN0YXRlLFxuICAgICAgdGhpcy5mbG93bWFwRGF0YSxcbiAgICApO1xuICAgIHJldHVybiBsb2NhdGlvbnNCeUlkPy5nZXQoaWQpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VG90YWxzRm9yTG9jYXRpb24oXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlcixcbiAgKTogUHJvbWlzZTxMb2NhdGlvblRvdGFscyB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5mbG93bWFwU3RhdGUgfHwgIXRoaXMuZmxvd21hcERhdGEpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlbGVjdG9yc1xuICAgICAgLmdldExvY2F0aW9uVG90YWxzKHRoaXMuZmxvd21hcFN0YXRlLCB0aGlzLmZsb3dtYXBEYXRhKVxuICAgICAgPy5nZXQoaWQpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Vmlld3BvcnRGb3JMb2NhdGlvbnMoXG4gICAgZGltczogW251bWJlciwgbnVtYmVyXSxcbiAgICBvcHRzPzogR2V0Vmlld1N0YXRlT3B0aW9ucyxcbiAgKTogUHJvbWlzZTxWaWV3cG9ydFByb3BzIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmZsb3dtYXBEYXRhPy5sb2NhdGlvbnMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gZ2V0Vmlld1N0YXRlRm9yTG9jYXRpb25zKFxuICAgICAgdGhpcy5mbG93bWFwRGF0YS5sb2NhdGlvbnMsXG4gICAgICAobG9jKSA9PiBbXG4gICAgICAgIHRoaXMuc2VsZWN0b3JzLmFjY2Vzc29ycy5nZXRMb2NhdGlvbkxvbihsb2MpLFxuICAgICAgICB0aGlzLnNlbGVjdG9ycy5hY2Nlc3NvcnMuZ2V0TG9jYXRpb25MYXQobG9jKSxcbiAgICAgIF0sXG4gICAgICBkaW1zLFxuICAgICAgb3B0cyxcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlTGF5ZXJzRGF0YShcbiAgICBzZXRMYXllcnNEYXRhOiAobGF5ZXJzRGF0YTogTGF5ZXJzRGF0YSB8IHVuZGVmaW5lZCkgPT4gdm9pZCxcbiAgKSB7XG4gICAgc2V0TGF5ZXJzRGF0YShhd2FpdCB0aGlzLmdldExheWVyc0RhdGEoKSk7XG4gIH1cblxuICBnZXRDbHVzdGVyWm9vbSgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZsb3dtYXBTdGF0ZSAmJiB0aGlzLmZsb3dtYXBEYXRhXG4gICAgICA/IHRoaXMuc2VsZWN0b3JzLmdldENsdXN0ZXJab29tKHRoaXMuZmxvd21hcFN0YXRlLCB0aGlzLmZsb3dtYXBEYXRhKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRDbHVzdGVySW5kZXgoKTogQ2x1c3RlckluZGV4PEY+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mbG93bWFwU3RhdGUgJiYgdGhpcy5mbG93bWFwRGF0YVxuICAgICAgPyB0aGlzLnNlbGVjdG9ycy5nZXRDbHVzdGVySW5kZXgodGhpcy5mbG93bWFwU3RhdGUsIHRoaXMuZmxvd21hcERhdGEpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldExvY2F0aW9uc0J5SWQoKTogTWFwPHN0cmluZyB8IG51bWJlciwgTD4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZsb3dtYXBTdGF0ZSAmJiB0aGlzLmZsb3dtYXBEYXRhXG4gICAgICA/IHRoaXMuc2VsZWN0b3JzLmdldExvY2F0aW9uc0J5SWQodGhpcy5mbG93bWFwU3RhdGUsIHRoaXMuZmxvd21hcERhdGEpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldExvY2F0aW9uVG90YWxzKCk6IE1hcDxzdHJpbmcgfCBudW1iZXIsIExvY2F0aW9uVG90YWxzPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZmxvd21hcFN0YXRlICYmIHRoaXMuZmxvd21hcERhdGFcbiAgICAgID8gdGhpcy5zZWxlY3RvcnMuZ2V0TG9jYXRpb25Ub3RhbHModGhpcy5mbG93bWFwU3RhdGUsIHRoaXMuZmxvd21hcERhdGEpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldEZsb3dzRm9yRmxvd21hcExheWVyKCk6IEFycmF5PEYgfCBBZ2dyZWdhdGVGbG93PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZmxvd21hcFN0YXRlICYmIHRoaXMuZmxvd21hcERhdGFcbiAgICAgID8gdGhpcy5zZWxlY3RvcnMuZ2V0Rmxvd3NGb3JGbG93bWFwTGF5ZXIoXG4gICAgICAgICAgdGhpcy5mbG93bWFwU3RhdGUsXG4gICAgICAgICAgdGhpcy5mbG93bWFwRGF0YSxcbiAgICAgICAgKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxGbG93bWFwRGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVyL0xvY2FsRmxvd21hcERhdGFQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBY0gsT0FBTyxnQkFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBRUwsd0JBQXdCLEdBQ3pCLE1BQU0sNkJBQTZCLENBQUM7QUFHckMsTUFBTSxDQUFDLE9BQU8sT0FBTyx3QkFBd0I7SUFTM0MsWUFBWSxTQUFxQztRQUMvQyxrRUFBa0U7UUFDbEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGdCQUFnQixDQUFPLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBcUM7UUFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUE4QjtRQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxZQUEwQjtRQUM5QyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUNuQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFXO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMs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SUFFRCx1QkFBdUI7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxXQUFXO1lBQzFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUNwQyxJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsV0FBVyxDQUNqQjtZQUNILENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgRmxvd21hcC5nbCBjb250cmlidXRvcnNcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIwIFRlcmFseXRpY3NcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHR5cGUgRmxvd21hcERhdGFQcm92aWRlciBmcm9tICcuL0Zsb3dtYXBEYXRhUHJvdmlkZXInO1xuaW1wb3J0IHR5cGUge1xuICBDbHVzdGVyLFxuICBDbHVzdGVyTm9kZSxcbiAgRmxvd21hcERhdGEsXG4gIEZsb3dtYXBEYXRhQWNjZXNzb3JzLFxuICBMYXllcnNEYXRhLFxuICBMb2NhdGlvblRvdGFscyxcbiAgVmlld3BvcnRQcm9wcyxcbiAgQWdncmVnYXRlRmxvdyxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtGbG93bWFwU3RhdGV9IGZyb20gJy4uL0Zsb3dtYXBTdGF0ZSc7XG5pbXBvcnQgRmxvd21hcFNlbGVjdG9ycyBmcm9tICcuLi9GbG93bWFwU2VsZWN0b3JzJztcbmltcG9ydCB7XG4gIEdldFZpZXdTdGF0ZU9wdGlvbnMsXG4gIGdldFZpZXdTdGF0ZUZvckxvY2F0aW9ucyxcbn0gZnJvbSAnLi4vZ2V0Vmlld1N0YXRlRm9yTG9jYXRpb25zJztcbmltcG9ydCB7Q2x1c3RlckluZGV4fSBmcm9tICcuLi9jbHVzdGVyL0NsdXN0ZXJJbmRleCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExvY2FsRmxvd21hcERhdGFQcm92aWRlcjxcbiAgTCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIEYgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuPiBpbXBsZW1lbnRzIEZsb3dtYXBEYXRhUHJvdmlkZXI8TCwgRj5cbntcbiAgcHJpdmF0ZSBzZWxlY3RvcnM6IEZsb3dtYXBTZWxlY3RvcnM8TCwgRj47XG4gIHByaXZhdGUgZmxvd21hcERhdGE6IEZsb3dtYXBEYXRhPEwsIEY+IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGZsb3dtYXBTdGF0ZTogRmxvd21hcFN0YXRlIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKGFjY2Vzc29yczogRmxvd21hcERhdGFBY2Nlc3NvcnM8TCwgRj4pIHtcbiAgICAvLyBzY29wZSBzZWxlY3RvcnMgdG8gdGhlIGNvbmNyZXRlIGluc3RhbmNlIG9mIEZsb3dtYXBEYXRhUHJvdmlkZXJcbiAgICB0aGlzLnNlbGVjdG9ycyA9IG5ldyBGbG93bWFwU2VsZWN0b3JzPEwsIEY+KGFjY2Vzc29ycyk7XG4gICAgdGhpcy5mbG93bWFwRGF0YSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmZsb3dtYXBTdGF0ZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNldEFjY2Vzc29ycyhhY2Nlc3NvcnM6IEZsb3dtYXBEYXRhQWNjZXNzb3JzPEwsIEY+KSB7XG4gICAgdGhpcy5zZWxlY3RvcnMuc2V0QWNjZXNzb3JzKGFjY2Vzc29ycyk7XG4gIH1cblxuICBzZXRGbG93bWFwRGF0YShmbG93bWFwRGF0YTogRmxvd21hcERhdGE8TCwgRj4pOiB2b2lkIHtcbiAgICB0aGlzLmZsb3dtYXBEYXRhID0gZmxvd21hcERhdGE7XG4gIH1cblxuICBnZXRTZWxlY3RvcnMoKTogRmxvd21hcFNlbGVjdG9yczxMLCBGPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0b3JzO1xuICB9XG5cbiAgZ2V0Rmxvd21hcERhdGEoKTogRmxvd21hcERhdGE8TCwgRj4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZsb3dtYXBEYXRhO1xuICB9XG5cbiAgYXN5bmMgc2V0Rmxvd21hcFN0YXRlKGZsb3dtYXBTdGF0ZTogRmxvd21hcFN0YXRlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5mbG93bWFwU3RhdGUgPSBmbG93bWFwU3RhdGU7XG4gIH1cblxuICBnZXRGbG93bWFwU3RhdGUoKTogRmxvd21hcFN0YXRlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mbG93bWFwU3RhdGU7XG4gIH1cblxuICBhc3luYyBnZXRGbG93QnlJbmRleChpZHg6IG51bWJlcik6IFByb21pc2U8RiB8IEFnZ3JlZ2F0ZUZsb3cgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuZmxvd21hcFN0YXRlIHx8ICF0aGlzLmZsb3dtYXBEYXRhKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBmbG93cyA9IHRoaXMuc2VsZWN0b3JzLmdldEZsb3dzRm9yRmxvd21hcExheWVyKFxuICAgICAgdGhpcy5mbG93bWFwU3RhdGUsXG4gICAgICB0aGlzLmZsb3dtYXBEYXRhLFxuICAgICk7XG4gICAgcmV0dXJuIGZsb3dzPy5baWR4XTtcbiAgfVxuXG4gIC8vIFRPRE86IHRoaXMgaXMgdW5yZWxpYWJsZSwgc2hvdWxkIHJlcGxhY2UgYnkgdW5xaXVlIElEXG4gIGFzeW5jIGdldExvY2F0aW9uQnlJbmRleChpZHg6IG51bWJlcik6IFByb21pc2U8TCB8IENsdXN0ZXJOb2RlIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmZsb3dtYXBTdGF0ZSB8fCAhdGhpcy5mbG93bWFwRGF0YSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgbG9jYXRpb25zID0gdGhpcy5zZWxlY3RvcnMuZ2V0TG9jYXRpb25zRm9yRmxvd21hcExheWVyKFxuICAgICAgdGhpcy5mbG93bWFwU3RhdGUsXG4gICAgICB0aGlzLmZsb3dtYXBEYXRhLFxuICAgICk7XG4gICAgcmV0dXJuIGxvY2F0aW9ucz8uW2lkeF07XG4gIH1cblxuICBhc3luYyBnZXRMYXllcnNEYXRhKCk6IFByb21pc2U8TGF5ZXJzRGF0YSB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5mbG93bWFwU3RhdGUgfHwgIXRoaXMuZmxvd21hcERhdGEpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlbGVjdG9ycy5nZXRMYXllcnNEYXRhKHRoaXMuZmxvd21hcFN0YXRlLCB0aGlzLmZsb3dtYXBEYXRhKTtcbiAgfVxuXG4gIGFzeW5jIGdldExvY2F0aW9uQnlJZChpZDogc3RyaW5nIHwgbnVtYmVyKTogUHJvbWlzZTxMIHwgQ2x1c3RlciB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy5mbG93bWFwU3RhdGUgfHwgIXRoaXMuZmxvd21hcERhdGEpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGNsdXN0ZXJJbmRleCA9IHRoaXMuc2VsZWN0b3JzLmdldENsdXN0ZXJJbmRleChcbiAgICAgIHRoaXMuZmxvd21hcFN0YXRlLFxuICAgICAgdGhpcy5mbG93bWFwRGF0YSxcbiAgICApO1xuICAgIGlmIChjbHVzdGVySW5kZXgpIHtcbiAgICAgIGNvbnN0IGNsdXN0ZXIgPSBjbHVzdGVySW5kZXguZ2V0Q2x1c3RlckJ5SWQoaWQpO1xuICAgICAgaWYgKGNsdXN0ZXIpIHtcbiAgICAgICAgcmV0dXJuIGNsdXN0ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGxvY2F0aW9uc0J5SWQgPSB0aGlzLnNlbGVjdG9ycy5nZXRMb2NhdGlvbnNCeUlkKFxuICAgICAgdGhpcy5mbG93bWFwU3RhdGUsXG4gICAgICB0aGlzLmZsb3dtYXBEYXRhLFxuICAgICk7XG4gICAgcmV0dXJuIGxvY2F0aW9uc0J5SWQ/LmdldChpZCk7XG4gIH1cblxuICBhc3luYyBnZXRUb3RhbHNGb3JMb2NhdGlvbihcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyLFxuICApOiBQcm9taXNlPExvY2F0aW9uVG90YWxzIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmZsb3dtYXBTdGF0ZSB8fCAhdGhpcy5mbG93bWFwRGF0YSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0b3JzXG4gICAgICAuZ2V0TG9jYXRpb25Ub3RhbHModGhpcy5mbG93bWFwU3RhdGUsIHRoaXMuZmxvd21hcERhdGEpXG4gICAgICA/LmdldChpZCk7XG4gIH1cblxuICBhc3luYyBnZXRWaWV3cG9ydEZvckxvY2F0aW9ucyhcbiAgICBkaW1zOiBbbnVtYmVyLCBudW1iZXJdLFxuICAgIG9wdHM/OiBHZXRWaWV3U3RhdGVPcHRpb25zLFxuICApOiBQcm9taXNlPFZpZXdwb3J0UHJvcHMgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoIXRoaXMuZmxvd21hcERhdGE/LmxvY2F0aW9ucykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBnZXRWaWV3U3RhdGVGb3JMb2NhdGlvbnMoXG4gICAgICB0aGlzLmZsb3dtYXBEYXRhLmxvY2F0aW9ucyxcbiAgICAgIChsb2MpID0+IFtcbiAgICAgICAgdGhpcy5zZWxlY3RvcnMuYWNjZXNzb3JzLmdldExvY2F0aW9uTG9uKGxvYyksXG4gICAgICAgIHRoaXMuc2VsZWN0b3JzLmFjY2Vzc29ycy5nZXRMb2NhdGlvbkxhdChsb2MpLFxuICAgICAgXSxcbiAgICAgIGRpbXMsXG4gICAgICBvcHRzLFxuICAgICk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVMYXllcnNEYXRhKFxuICAgIHNldExheWVyc0RhdGE6IChsYXllcnNEYXRhOiBMYXllcnNEYXRhIHwgdW5kZWZpbmVkKSA9PiB2b2lkLFxuICApIHtcbiAgICBzZXRMYXllcnNEYXRhKGF3YWl0IHRoaXMuZ2V0TGF5ZXJzRGF0YSgpKTtcbiAgfVxuXG4gIGdldENsdXN0ZXJab29tKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZmxvd21hcFN0YXRlICYmIHRoaXMuZmxvd21hcERhdGFcbiAgICAgID8gdGhpcy5zZWxlY3RvcnMuZ2V0Q2x1c3Rlclpvb20odGhpcy5mbG93bWFwU3RhdGUsIHRoaXMuZmxvd21hcERhdGEpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldENsdXN0ZXJJbmRleCgpOiBDbHVzdGVySW5kZXg8Rj4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZsb3dtYXBTdGF0ZSAmJiB0aGlzLmZsb3dtYXBEYXRhXG4gICAgICA/IHRoaXMuc2VsZWN0b3JzLmdldENsdXN0ZXJJbmRleCh0aGlzLmZsb3dtYXBTdGF0ZSwgdGhpcy5mbG93bWFwRGF0YSlcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0TG9jYXRpb25zQnlJZCgpOiBNYXA8c3RyaW5nIHwgbnVtYmVyLCBMPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZmxvd21hcFN0YXRlICYmIHRoaXMuZmxvd21hcERhdGFcbiAgICAgID8gdGhpcy5zZWxlY3RvcnMuZ2V0TG9jYXRpb25zQnlJZCh0aGlzLmZsb3dtYXBTdGF0ZSwgdGhpcy5mbG93bWFwRGF0YSlcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0TG9jYXRpb25Ub3RhbHMoKTogTWFwPHN0cmluZyB8IG51bWJlciwgTG9jYXRpb25Ub3RhbHM+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mbG93bWFwU3RhdGUgJiYgdGhpcy5mbG93bWFwRGF0YVxuICAgICAgPyB0aGlzLnNlbGVjdG9ycy5nZXRMb2NhdGlvblRvdGFscyh0aGlzLmZsb3dtYXBTdGF0ZSwgdGhpcy5mbG93bWFwRGF0YSlcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0Rmxvd3NGb3JGbG93bWFwTGF5ZXIoKTogQXJyYXk8RiB8IEFnZ3JlZ2F0ZUZsb3c+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mbG93bWFwU3RhdGUgJiYgdGhpcy5mbG93bWFwRGF0YVxuICAgICAgPyB0aGlzLnNlbGVjdG9ycy5nZXRGbG93c0ZvckZsb3dtYXBMYXllcihcbiAgICAgICAgICB0aGlzLmZsb3dtYXBTdGF0ZSxcbiAgICAgICAgICB0aGlzLmZsb3dtYXBEYXRhLFxuICAgICAgICApXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"selector-functions.d.ts","sourceRoot":"","sources":["../src/selector-functions.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,YAAY,EAEZ,iBAAiB,EACjB,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAK1E,eAAO,MAAM,sBAAsB,aACvB,aAAa,qCAEtB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAQjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,oBACf,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,sEAa9C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAClC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,aAAa,EAAE,YAAY,EAAE,EAC7B,aAAa,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,EACtC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACvC,iBAAiB,EAAE,oBAAoB,GACtC,IAAI,CAkCN"}
1
+ {"version":3,"file":"selector-functions.d.ts","sourceRoot":"","sources":["../src/selector-functions.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,YAAY,EAEZ,iBAAiB,EACjB,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAK1E,eAAO,MAAM,sBAAsB,GACjC,UAAU,aAAa,EACvB,8BAAyB,KACxB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAQjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,sEAa9C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAClC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,aAAa,EAAE,YAAY,EAAE,EAC7B,aAAa,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,EACtC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACvC,iBAAiB,EAAE,oBAAoB,GACtC,IAAI,CAkCN"}
@@ -62,4 +62,4 @@ export function addClusterNames(clusterIndex, clusterLevels, locationsById, loca
62
62
  }
63
63
  }
64
64
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NlbGVjdG9yLWZ1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUVMLFNBQVMsR0FHVixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXJDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFcEMsd0JBQXdCO0FBRXhCLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQ3BDLFFBQXVCLEVBQ3ZCLHFCQUFxQixHQUFHLENBQUMsRUFDUyxFQUFFO0lBQ3BDLE1BQU0sR0FBRyxHQUFHLHFCQUFxQixDQUFDO0lBQ2xDLE1BQU0sTUFBTSxHQUFHLElBQUksbUJBQW1CLENBQUM7UUFDckMsR0FBRyxRQUFRO1FBQ1gsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDL0IsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUM7S0FDbEMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2YsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQ25DLGVBQTZDLEVBQzdDLEVBQUU7SUFDRixJQUFJLENBQUMsZUFBZTtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ3ZDLE9BQU8sV0FBVyxFQUFFO1NBQ2pCLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNuQixNQUFNLENBQUM7UUFDTixDQUFDO1FBQ0QsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUNaLElBQUksRUFDSixlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDakU7S0FDRixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUM3QixZQUE2QixFQUM3QixhQUE2QixFQUM3QixhQUFzQyxFQUN0QyxpQkFBdUMsRUFDdkMsaUJBQXVDO0lBRXZDLE1BQU0sRUFBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFDLEdBQzVELGlCQUFpQixDQUFDO0lBQ3BCLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBbUIsRUFBRSxFQUFFO1FBQ3RDLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEMsSUFBSSxHQUFHLEVBQUU7WUFDUCxPQUFPLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzFFO1FBQ0QsT0FBTyxJQUFJLEVBQUUsR0FBRyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUNGLEtBQUssTUFBTSxLQUFLLElBQUksYUFBYSxFQUFFO1FBQ2pDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtZQUM5Qix5Q0FBeUM7WUFDekMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ25CLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRWhELE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDbkIsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3ZELENBQUM7Z0JBRUYsSUFBSSxzQkFBc0IsRUFBRTtvQkFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDNUM7cUJBQU07b0JBQ0wsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN4QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQzVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQzVCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsU0FDMUQsRUFBRSxDQUFDO2lCQUNKO2FBQ0Y7aUJBQU07Z0JBQ0osSUFBWSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZDO1NBQ0Y7S0FDRjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSBGbG93bWFwLmdsIGNvbnRyaWJ1dG9yc1xuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjAgVGVyYWx5dGljc1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQge1dlYk1lcmNhdG9yVmlld3BvcnR9IGZyb20gJ0BtYXRoLmdsL3dlYi1tZXJjYXRvcic7XG5pbXBvcnQge1xuICBDbHVzdGVyTGV2ZWwsXG4gIGlzQ2x1c3RlcixcbiAgTG9jYXRpb25BY2Nlc3NvcnMsXG4gIFZpZXdwb3J0UHJvcHMsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtzY2FsZUxpbmVhcn0gZnJvbSAnZDMtc2NhbGUnO1xuaW1wb3J0IHtDbHVzdGVySW5kZXgsIExvY2F0aW9uV2VpZ2h0R2V0dGVyfSBmcm9tICcuL2NsdXN0ZXIvQ2x1c3RlckluZGV4JztcbmltcG9ydCB7ZGVzY2VuZGluZ30gZnJvbSAnZDMtYXJyYXknO1xuXG4vLyBUT0RPOiB1c2UgcmUtcmVzZWxlY3RcblxuZXhwb3J0IGNvbnN0IGdldFZpZXdwb3J0Qm91bmRpbmdCb3ggPSAoXG4gIHZpZXdwb3J0OiBWaWV3cG9ydFByb3BzLFxuICBtYXhMb2NhdGlvbkNpcmNsZVNpemUgPSAwLFxuKTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPT4ge1xuICBjb25zdCBwYWQgPSBtYXhMb2NhdGlvbkNpcmNsZVNpemU7XG4gIGNvbnN0IGJvdW5kcyA9IG5ldyBXZWJNZXJjYXRvclZpZXdwb3J0KHtcbiAgICAuLi52aWV3cG9ydCxcbiAgICB3aWR0aDogdmlld3BvcnQud2lkdGggKyBwYWQgKiAyLFxuICAgIGhlaWdodDogdmlld3BvcnQuaGVpZ2h0ICsgcGFkICogMixcbiAgfSkuZ2V0Qm91bmRzKCk7XG4gIHJldHVybiBbYm91bmRzWzBdWzBdLCBib3VuZHNbMF1bMV0sIGJvdW5kc1sxXVswXSwgYm91bmRzWzFdWzFdXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGbG93VGhpY2tuZXNzU2NhbGUgPSAoXG4gIG1hZ25pdHVkZUV4dGVudDogW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZCxcbikgPT4ge1xuICBpZiAoIW1hZ25pdHVkZUV4dGVudCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgcmV0dXJuIHNjYWxlTGluZWFyKClcbiAgICAucmFuZ2UoWzAuMDI1LCAwLjVdKVxuICAgIC5kb21haW4oW1xuICAgICAgMCxcbiAgICAgIC8vIHNob3VsZCBzdXBwb3J0IGRpZmYgbW9kZSB0b29cbiAgICAgIE1hdGgubWF4LmFwcGx5KFxuICAgICAgICBudWxsLFxuICAgICAgICBtYWduaXR1ZGVFeHRlbnQubWFwKCh4OiBudW1iZXIgfCB1bmRlZmluZWQpID0+IE1hdGguYWJzKHggfHwgMCkpLFxuICAgICAgKSxcbiAgICBdKTtcbn07XG5cbi8qKlxuICogQWRkaW5nIG1lYW5pbmdmdWwgY2x1c3RlciBuYW1lcy5cbiAqIE5PVEU6IHRoaXMgd2lsbCBtdXRhdGUgdGhlIG5vZGVzIGluIGNsdXN0ZXJJbmRleFxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkQ2x1c3Rlck5hbWVzPEwsIEY+KFxuICBjbHVzdGVySW5kZXg6IENsdXN0ZXJJbmRleDxGPixcbiAgY2x1c3RlckxldmVsczogQ2x1c3RlckxldmVsW10sXG4gIGxvY2F0aW9uc0J5SWQ6IE1hcDxzdHJpbmcgfCBudW1iZXIsIEw+LFxuICBsb2NhdGlvbkFjY2Vzc29yczogTG9jYXRpb25BY2Nlc3NvcnM8TD4sXG4gIGdldExvY2F0aW9uV2VpZ2h0OiBMb2NhdGlvbldlaWdodEdldHRlcixcbik6IHZvaWQge1xuICBjb25zdCB7Z2V0TG9jYXRpb25JZCwgZ2V0TG9jYXRpb25OYW1lLCBnZXRMb2NhdGlvbkNsdXN0ZXJOYW1lfSA9XG4gICAgbG9jYXRpb25BY2Nlc3NvcnM7XG4gIGNvbnN0IGdldE5hbWUgPSAoaWQ6IHN0cmluZyB8IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IGxvYyA9IGxvY2F0aW9uc0J5SWQuZ2V0KGlkKTtcbiAgICBpZiAobG9jKSB7XG4gICAgICByZXR1cm4gZ2V0TG9jYXRpb25OYW1lID8gZ2V0TG9jYXRpb25OYW1lKGxvYykgOiBnZXRMb2NhdGlvbklkKGxvYykgfHwgaWQ7XG4gICAgfVxuICAgIHJldHVybiBgXCIke2lkfVwiYDtcbiAgfTtcbiAgZm9yIChjb25zdCBsZXZlbCBvZiBjbHVzdGVyTGV2ZWxzKSB7XG4gICAgZm9yIChjb25zdCBub2RlIG9mIGxldmVsLm5vZGVzKSB7XG4gICAgICAvLyBIZXJlIG11dGF0aW5nIHRoZSBub2RlcyAoYWRkaW5nIG5hbWVzKVxuICAgICAgaWYgKGlzQ2x1c3Rlcihub2RlKSkge1xuICAgICAgICBjb25zdCBsZWF2ZXMgPSBjbHVzdGVySW5kZXguZXhwYW5kQ2x1c3Rlcihub2RlKTtcblxuICAgICAgICBsZWF2ZXMuc29ydCgoYSwgYikgPT5cbiAgICAgICAgICBkZXNjZW5kaW5nKGdldExvY2F0aW9uV2VpZ2h0KGEpLCBnZXRMb2NhdGlvbldlaWdodChiKSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGdldExvY2F0aW9uQ2x1c3Rlck5hbWUpIHtcbiAgICAgICAgICBub2RlLm5hbWUgPSBnZXRMb2NhdGlvbkNsdXN0ZXJOYW1lKGxlYXZlcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgdG9wSWQgPSBsZWF2ZXNbMF07XG4gICAgICAgICAgY29uc3Qgb3RoZXJJZCA9IGxlYXZlcy5sZW5ndGggPT09IDIgPyBsZWF2ZXNbMV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgbm9kZS5uYW1lID0gYFwiJHtnZXROYW1lKHRvcElkKX1cIiBhbmQgJHtcbiAgICAgICAgICAgIG90aGVySWQgPyBgXCIke2dldE5hbWUob3RoZXJJZCl9XCJgIDogYCR7bGVhdmVzLmxlbmd0aCAtIDF9IG90aGVyc2BcbiAgICAgICAgICB9YDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgKG5vZGUgYXMgYW55KS5uYW1lID0gZ2V0TmFtZShub2RlLmlkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NlbGVjdG9yLWZ1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUVMLFNBQVMsR0FHVixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXJDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFcEMsd0JBQXdCO0FBRXhCLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQ3BDLFFBQXVCLEVBQ3ZCLHFCQUFxQixHQUFHLENBQUMsRUFDUyxFQUFFO0lBQ3BDLE1BQU0sR0FBRyxHQUFHLHFCQUFxQixDQUFDO0lBQ2xDLE1BQU0sTUFBTSxHQUFHLElBQUksbUJBQW1CLENBQUM7UUFDckMsR0FBRyxRQUFRO1FBQ1gsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDL0IsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUM7S0FDbEMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2YsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQ25DLGVBQTZDLEVBQzdDLEVBQUU7SUFDRixJQUFJLENBQUMsZUFBZTtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ3ZDLE9BQU8sV0FBVyxFQUFFO1NBQ2pCLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNuQixNQUFNLENBQUM7UUFDTixDQUFDO1FBQ0QsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUNaLElBQUksRUFDSixlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDakU7S0FDRixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUM3QixZQUE2QixFQUM3QixhQUE2QixFQUM3QixhQUFzQyxFQUN0QyxpQkFBdUMsRUFDdkMsaUJBQXVDO0lBRXZDLE1BQU0sRUFBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFDLEdBQzVELGlCQUFpQixDQUFDO0lBQ3BCLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBbUIsRUFBRSxFQUFFO1FBQ3RDLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0UsQ0FBQztRQUNELE9BQU8sSUFBSSxFQUFFLEdBQUcsQ0FBQztJQUNuQixDQUFDLENBQUM7SUFDRixLQUFLLE1BQU0sS0FBSyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2xDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9CLHlDQUF5QztZQUN6QyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNwQixNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUVoRCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ25CLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN2RCxDQUFDO2dCQUVGLElBQUksc0JBQXNCLEVBQUUsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDN0MsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDeEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUM1RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUM1QixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLFNBQzFELEVBQUUsQ0FBQztnQkFDTCxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNMLElBQVksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgRmxvd21hcC5nbCBjb250cmlidXRvcnNcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIwIFRlcmFseXRpY3NcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHtXZWJNZXJjYXRvclZpZXdwb3J0fSBmcm9tICdAbWF0aC5nbC93ZWItbWVyY2F0b3InO1xuaW1wb3J0IHtcbiAgQ2x1c3RlckxldmVsLFxuICBpc0NsdXN0ZXIsXG4gIExvY2F0aW9uQWNjZXNzb3JzLFxuICBWaWV3cG9ydFByb3BzLFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7c2NhbGVMaW5lYXJ9IGZyb20gJ2QzLXNjYWxlJztcbmltcG9ydCB7Q2x1c3RlckluZGV4LCBMb2NhdGlvbldlaWdodEdldHRlcn0gZnJvbSAnLi9jbHVzdGVyL0NsdXN0ZXJJbmRleCc7XG5pbXBvcnQge2Rlc2NlbmRpbmd9IGZyb20gJ2QzLWFycmF5JztcblxuLy8gVE9ETzogdXNlIHJlLXJlc2VsZWN0XG5cbmV4cG9ydCBjb25zdCBnZXRWaWV3cG9ydEJvdW5kaW5nQm94ID0gKFxuICB2aWV3cG9ydDogVmlld3BvcnRQcm9wcyxcbiAgbWF4TG9jYXRpb25DaXJjbGVTaXplID0gMCxcbik6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdID0+IHtcbiAgY29uc3QgcGFkID0gbWF4TG9jYXRpb25DaXJjbGVTaXplO1xuICBjb25zdCBib3VuZHMgPSBuZXcgV2ViTWVyY2F0b3JWaWV3cG9ydCh7XG4gICAgLi4udmlld3BvcnQsXG4gICAgd2lkdGg6IHZpZXdwb3J0LndpZHRoICsgcGFkICogMixcbiAgICBoZWlnaHQ6IHZpZXdwb3J0LmhlaWdodCArIHBhZCAqIDIsXG4gIH0pLmdldEJvdW5kcygpO1xuICByZXR1cm4gW2JvdW5kc1swXVswXSwgYm91bmRzWzBdWzFdLCBib3VuZHNbMV1bMF0sIGJvdW5kc1sxXVsxXV07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rmxvd1RoaWNrbmVzc1NjYWxlID0gKFxuICBtYWduaXR1ZGVFeHRlbnQ6IFtudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWQsXG4pID0+IHtcbiAgaWYgKCFtYWduaXR1ZGVFeHRlbnQpIHJldHVybiB1bmRlZmluZWQ7XG4gIHJldHVybiBzY2FsZUxpbmVhcigpXG4gICAgLnJhbmdlKFswLjAyNSwgMC41XSlcbiAgICAuZG9tYWluKFtcbiAgICAgIDAsXG4gICAgICAvLyBzaG91bGQgc3VwcG9ydCBkaWZmIG1vZGUgdG9vXG4gICAgICBNYXRoLm1heC5hcHBseShcbiAgICAgICAgbnVsbCxcbiAgICAgICAgbWFnbml0dWRlRXh0ZW50Lm1hcCgoeDogbnVtYmVyIHwgdW5kZWZpbmVkKSA9PiBNYXRoLmFicyh4IHx8IDApKSxcbiAgICAgICksXG4gICAgXSk7XG59O1xuXG4vKipcbiAqIEFkZGluZyBtZWFuaW5nZnVsIGNsdXN0ZXIgbmFtZXMuXG4gKiBOT1RFOiB0aGlzIHdpbGwgbXV0YXRlIHRoZSBub2RlcyBpbiBjbHVzdGVySW5kZXhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZENsdXN0ZXJOYW1lczxMLCBGPihcbiAgY2x1c3RlckluZGV4OiBDbHVzdGVySW5kZXg8Rj4sXG4gIGNsdXN0ZXJMZXZlbHM6IENsdXN0ZXJMZXZlbFtdLFxuICBsb2NhdGlvbnNCeUlkOiBNYXA8c3RyaW5nIHwgbnVtYmVyLCBMPixcbiAgbG9jYXRpb25BY2Nlc3NvcnM6IExvY2F0aW9uQWNjZXNzb3JzPEw+LFxuICBnZXRMb2NhdGlvbldlaWdodDogTG9jYXRpb25XZWlnaHRHZXR0ZXIsXG4pOiB2b2lkIHtcbiAgY29uc3Qge2dldExvY2F0aW9uSWQsIGdldExvY2F0aW9uTmFtZSwgZ2V0TG9jYXRpb25DbHVzdGVyTmFtZX0gPVxuICAgIGxvY2F0aW9uQWNjZXNzb3JzO1xuICBjb25zdCBnZXROYW1lID0gKGlkOiBzdHJpbmcgfCBudW1iZXIpID0+IHtcbiAgICBjb25zdCBsb2MgPSBsb2NhdGlvbnNCeUlkLmdldChpZCk7XG4gICAgaWYgKGxvYykge1xuICAgICAgcmV0dXJuIGdldExvY2F0aW9uTmFtZSA/IGdldExvY2F0aW9uTmFtZShsb2MpIDogZ2V0TG9jYXRpb25JZChsb2MpIHx8IGlkO1xuICAgIH1cbiAgICByZXR1cm4gYFwiJHtpZH1cImA7XG4gIH07XG4gIGZvciAoY29uc3QgbGV2ZWwgb2YgY2x1c3RlckxldmVscykge1xuICAgIGZvciAoY29uc3Qgbm9kZSBvZiBsZXZlbC5ub2Rlcykge1xuICAgICAgLy8gSGVyZSBtdXRhdGluZyB0aGUgbm9kZXMgKGFkZGluZyBuYW1lcylcbiAgICAgIGlmIChpc0NsdXN0ZXIobm9kZSkpIHtcbiAgICAgICAgY29uc3QgbGVhdmVzID0gY2x1c3RlckluZGV4LmV4cGFuZENsdXN0ZXIobm9kZSk7XG5cbiAgICAgICAgbGVhdmVzLnNvcnQoKGEsIGIpID0+XG4gICAgICAgICAgZGVzY2VuZGluZyhnZXRMb2NhdGlvbldlaWdodChhKSwgZ2V0TG9jYXRpb25XZWlnaHQoYikpLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChnZXRMb2NhdGlvbkNsdXN0ZXJOYW1lKSB7XG4gICAgICAgICAgbm9kZS5uYW1lID0gZ2V0TG9jYXRpb25DbHVzdGVyTmFtZShsZWF2ZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHRvcElkID0gbGVhdmVzWzBdO1xuICAgICAgICAgIGNvbnN0IG90aGVySWQgPSBsZWF2ZXMubGVuZ3RoID09PSAyID8gbGVhdmVzWzFdIDogdW5kZWZpbmVkO1xuICAgICAgICAgIG5vZGUubmFtZSA9IGBcIiR7Z2V0TmFtZSh0b3BJZCl9XCIgYW5kICR7XG4gICAgICAgICAgICBvdGhlcklkID8gYFwiJHtnZXROYW1lKG90aGVySWQpfVwiYCA6IGAke2xlYXZlcy5sZW5ndGggLSAxfSBvdGhlcnNgXG4gICAgICAgICAgfWA7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIChub2RlIGFzIGFueSkubmFtZSA9IGdldE5hbWUobm9kZS5pZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
package/dist/time.js CHANGED
@@ -128,4 +128,4 @@ export function areRangesEqual(a, b) {
128
128
  return false;
129
129
  return a[0] === b[0] && a[1] === b[1];
130
130
  }
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxPQUFPLEVBQ1AsUUFBUSxFQUVSLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFDUixRQUFRLEdBQ1QsTUFBTSxTQUFTLENBQUM7QUFFakIsTUFBTSxXQUFXLEdBQUc7SUFDbEIsU0FBUyxDQUFDLFVBQVUsQ0FBQztJQUNyQixTQUFTLENBQUMsZ0JBQWdCLENBQUM7SUFDM0IsU0FBUyxDQUFDLG1CQUFtQixDQUFDO0lBQzlCLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDZixTQUFTLENBQUMsT0FBTyxDQUFDO0NBQ25CLENBQUM7QUFFRixNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQWdDO0lBQ3hELElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtRQUNqQixJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUU7WUFDekIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELEtBQUssTUFBTSxLQUFLLElBQUksV0FBVyxFQUFFO1lBQy9CLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixJQUFJLElBQUksRUFBRTtnQkFDUixPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7S0FDRjtJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLENBQU4sSUFBWSxrQkFPWDtBQVBELFdBQVksa0JBQWtCO0lBQzVCLHVDQUFpQixDQUFBO0lBQ2pCLHVDQUFpQixDQUFBO0lBQ2pCLG1DQUFhLENBQUE7SUFDYixpQ0FBVyxDQUFBO0lBQ1gscUNBQWUsQ0FBQTtJQUNmLG1DQUFhLENBQUE7QUFDZixDQUFDLEVBUFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQU83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LENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgRmxvd21hcC5nbCBjb250cmlidXRvcnNcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIwIFRlcmFseXRpY3NcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHt0aW1lRm9ybWF0LCB0aW1lUGFyc2V9IGZyb20gJ2QzLXRpbWUtZm9ybWF0JztcbmltcG9ydCB7XG4gIHRpbWVEYXksXG4gIHRpbWVIb3VyLFxuICBUaW1lSW50ZXJ2YWwsXG4gIHRpbWVNaW51dGUsXG4gIHRpbWVNb250aCxcbiAgdGltZVNlY29uZCxcbiAgdGltZVdlZWssXG4gIHRpbWVZZWFyLFxufSBmcm9tICdkMy10aW1lJztcblxuY29uc3QgZGF0ZVBhcnNlcnMgPSBbXG4gIHRpbWVQYXJzZSgnJVktJW0tJWQnKSxcbiAgdGltZVBhcnNlKCclWS0lbS0lZCAlSDolTScpLFxuICB0aW1lUGFyc2UoJyVZLSVtLSVkICVIOiVNOiVTJyksXG4gIHRpbWVQYXJzZSgnJVknKSxcbiAgdGltZVBhcnNlKCclWS0lbScpLFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVGltZShpbnB1dDogc3RyaW5nIHwgRGF0ZSB8IHVuZGVmaW5lZCk6IERhdGUgfCB1bmRlZmluZWQge1xuICBpZiAoaW5wdXQgIT0gbnVsbCkge1xuICAgIGlmIChpbnB1dCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHJldHVybiBpbnB1dDtcbiAgICB9XG4gICAgZm9yIChjb25zdCBwYXJzZSBvZiBkYXRlUGFyc2Vycykge1xuICAgICAgY29uc3QgZGF0ZSA9IHBhcnNlKGlucHV0KTtcbiAgICAgIGlmIChkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZW51bSBUaW1lR3JhbnVsYXJpdHlLZXkge1xuICBTRUNPTkQgPSAnU0VDT05EJyxcbiAgTUlOVVRFID0gJ01JTlVURScsXG4gIEhPVVIgPSAnSE9VUicsXG4gIERBWSA9ICdEQVknLFxuICBNT05USCA9ICdNT05USCcsXG4gIFlFQVIgPSAnWUVBUicsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZUdyYW51bGFyaXR5IHtcbiAga2V5OiBUaW1lR3JhbnVsYXJpdHlLZXk7XG4gIG9yZGVyOiBudW1iZXI7XG4gIGludGVydmFsOiBUaW1lSW50ZXJ2YWw7XG4gIGZvcm1hdDogKGRhdGU6IERhdGUpID0+IHN0cmluZztcbiAgZm9ybWF0RnVsbDogKGRhdGU6IERhdGUpID0+IHN0cmluZztcbn1cblxuLy8gY29uc3QgcHJlZmVycmVkTG9jYWxlID0gbmF2aWdhdG9yLmxhbmd1YWdlcyA/IG5hdmlnYXRvci5sYW5ndWFnZXNbMF0gOiAnZW4nO1xuXG5jb25zdCBmb3JtYXRNaWxsaXNlY29uZCA9IHRpbWVGb3JtYXQoJy4lTCcpLFxuICBmb3JtYXRTZWNvbmQgPSB0aW1lRm9ybWF0KCc6JVMnKSxcbiAgZm9ybWF0TWludXRlID0gdGltZUZvcm1hdCgnJUk6JU0nKSxcbiAgLy8gZm9ybWF0SG91ciA9IChkOiBEYXRlKSA9PiBkLnRvTG9jYWxlU3RyaW5nKHByZWZlcnJlZExvY2FsZSwgeyBob3VyOiAnbnVtZXJpYycgfSksXG4gIGZvcm1hdEhvdXIgPSB0aW1lRm9ybWF0KCclSSAlcCcpLFxuICBmb3JtYXREYXkgPSB0aW1lRm9ybWF0KCclYSAlZCcpLFxuICBmb3JtYXRXZWVrID0gdGltZUZvcm1hdCgnJWIgJWQnKSxcbiAgZm9ybWF0TW9udGggPSB0aW1lRm9ybWF0KCclYicpLFxuICBmb3JtYXRZZWFyID0gdGltZUZvcm1hdCgnJVknKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRpY2tNdWx0aUZvcm1hdChkYXRlOiBEYXRlKSB7XG4gIHJldHVybiAoXG4gICAgdGltZVNlY29uZChkYXRlKSA8IGRhdGVcbiAgICAgID8gZm9ybWF0TWlsbGlzZWNvbmRcbiAgICAgIDogdGltZU1pbnV0ZShkYXRlKSA8IGRhdGVcbiAgICAgID8gZm9ybWF0U2Vjb25kXG4gICAgICA6IHRpbWVIb3VyKGRhdGUpIDwgZGF0ZVxuICAgICAgPyBmb3JtYXRNaW51dGVcbiAgICAgIDogdGltZURheShkYXRlKSA8IGRhdGVcbiAgICAgID8gZm9ybWF0SG91clxuICAgICAgOiB0aW1lTW9udGgoZGF0ZSkgPCBkYXRlXG4gICAgICA/IHRpbWVXZWVrKGRhdGUpIDwgZGF0ZVxuICAgICAgICA/IGZvcm1hdERheVxuICAgICAgICA6IGZvcm1hdFdlZWtcbiAgICAgIDogdGltZVllYXIoZGF0ZSkgPCBkYXRlXG4gICAgICA/IGZvcm1hdE1vbnRoXG4gICAgICA6IGZvcm1hdFllYXJcbiAgKShkYXRlKTtcbn1cblxuZXhwb3J0IGNvbnN0IFRJTUVfR1JBTlVMQVJJVElFUzogVGltZUdyYW51bGFyaXR5W10gPSBbXG4gIHtcbiAgICBvcmRlcjogMCxcbiAgICBrZXk6IFRpbWVHcmFudWxhcml0eUtleS5TRUNPTkQsXG4gICAgaW50ZXJ2YWw6IHRpbWVTZWNvbmQsXG4gICAgZm9ybWF0OiBmb3JtYXRTZWNvbmQsXG4gICAgZm9ybWF0RnVsbDogdGltZUZvcm1hdCgnJVktJW0tJWQgJUg6JU06JVMnKSxcbiAgfSxcbiAge1xuICAgIG9yZGVyOiAxLFxuICAgIGtleTogVGltZUdyYW51bGFyaXR5S2V5Lk1JTlVURSxcbiAgICBpbnRlcnZhbDogdGltZU1pbnV0ZSxcbiAgICBmb3JtYXQ6IGZvcm1hdE1pbnV0ZSxcbiAgICBmb3JtYXRGdWxsOiB0aW1lRm9ybWF0KCclWS0lbS0lZCAlSDolTScpLFxuICB9LFxuICB7XG4gICAgb3JkZXI6IDIsXG4gICAga2V5OiBUaW1lR3JhbnVsYXJpdHlLZXkuSE9VUixcbiAgICBpbnRlcnZhbDogdGltZUhvdXIsXG4gICAgLy8gZm9ybWF0OiAoZDogRGF0ZSkgPT4gZC50b0xvY2FsZVN0cmluZyhwcmVmZXJyZWRMb2NhbGUsIHsgaG91cjogJ251bWVyaWMnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KSxcbiAgICBmb3JtYXQ6IGZvcm1hdEhvdXIsXG4gICAgZm9ybWF0RnVsbDogdGltZUZvcm1hdCgnJWEgJWQgJWIgJVksICVJICVwJyksXG4gIH0sXG4gIHtcbiAgICBvcmRlcjogMyxcbiAgICBrZXk6IFRpbWVHcmFudWxhcml0eUtleS5EQVksXG4gICAgaW50ZXJ2YWw6IHRpbWVEYXksXG4gICAgZm9ybWF0OiBmb3JtYXREYXksXG4gICAgZm9ybWF0RnVsbDogdGltZUZvcm1hdCgnJWEgJWQgJWIgJVknKSxcbiAgfSxcbiAge1xuICAgIG9yZGVyOiA0LFxuICAgIGtleTogVGltZUdyYW51bGFyaXR5S2V5Lk1PTlRILFxuICAgIGludGVydmFsOiB0aW1lTW9udGgsXG4gICAgZm9ybWF0OiBmb3JtYXRNb250aCxcbiAgICBmb3JtYXRGdWxsOiB0aW1lRm9ybWF0KCclYiAlWScpLFxuICB9LFxuICB7XG4gICAgb3JkZXI6IDUsXG4gICAga2V5OiBUaW1lR3JhbnVsYXJpdHlLZXkuWUVBUixcbiAgICBpbnRlcnZhbDogdGltZVllYXIsXG4gICAgZm9ybWF0OiBmb3JtYXRZZWFyLFxuICAgIGZvcm1hdEZ1bGw6IHRpbWVGb3JtYXQoJyVZJyksXG4gIH0sXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGltZUdyYW51bGFyaXR5QnlLZXkoa2V5OiBUaW1lR3JhbnVsYXJpdHlLZXkpIHtcbiAgcmV0dXJuIFRJTUVfR1JBTlVMQVJJVElFUy5maW5kKChzKSA9PiBzLmtleSA9PT0ga2V5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVHcmFudWxhcml0eUJ5T3JkZXIob3JkZXI6IG51bWJlcikge1xuICByZXR1cm4gVElNRV9HUkFOVUxBUklUSUVTLmZpbmQoKHMpID0+IHMub3JkZXIgPT09IG9yZGVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVHcmFudWxhcml0eUZvckRhdGUoZGF0ZTogRGF0ZSk6IFRpbWVHcmFudWxhcml0eSB7XG4gIGxldCBwcmV2ID0gdW5kZWZpbmVkO1xuICBmb3IgKGNvbnN0IGN1cnJlbnQgb2YgVElNRV9HUkFOVUxBUklUSUVTKSB7XG4gICAgY29uc3Qge2ludGVydmFsfSA9IGN1cnJlbnQ7XG4gICAgY29uc3QgZmxvb3JlZCA9IGludGVydmFsKGRhdGUpO1xuICAgIGlmIChmbG9vcmVkIDwgZGF0ZSkge1xuICAgICAgaWYgKCFwcmV2KSByZXR1cm4gY3VycmVudDtcbiAgICAgIHJldHVybiBwcmV2O1xuICAgIH1cbiAgICBwcmV2ID0gY3VycmVudDtcbiAgfVxuICByZXR1cm4gVElNRV9HUkFOVUxBUklUSUVTW1RJTUVfR1JBTlVMQVJJVElFUy5sZW5ndGggLSAxXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFyZVJhbmdlc0VxdWFsKFxuICBhOiBbRGF0ZSwgRGF0ZV0gfCB1bmRlZmluZWQsXG4gIGI6IFtEYXRlLCBEYXRlXSB8IHVuZGVmaW5lZCxcbik6IGJvb2xlYW4ge1xuICBpZiAoIWEgJiYgIWIpIHJldHVybiB0cnVlO1xuICBpZiAoIWEgfHwgIWIpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIGFbMF0gPT09IGJbMF0gJiYgYVsxXSA9PT0gYlsxXTtcbn1cbiJdfQ==
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxPQUFPLEVBQ1AsUUFBUSxFQUVSLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFDUixRQUFRLEdBQ1QsTUFBTSxTQUFTLENBQUM7QUFFakIsTUFBTSxXQUFXLEdBQUc7SUFDbEIsU0FBUyxDQUFDLFVBQVUsQ0FBQztJQUNyQixTQUFTLENBQUMsZ0JBQWdCLENBQUM7SUFDM0IsU0FBUyxDQUFDLG1CQUFtQixDQUFDO0lBQzlCLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDZixTQUFTLENBQUMsT0FBTyxDQUFDO0NBQ25CLENBQUM7QUFFRixNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQWdDO0lBQ3hELElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xCLElBQUksS0FBSyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQzFCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELEtBQUssTUFBTSxLQUFLLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBT1g7QUFQRCxXQUFZLGtCQUFrQjtJQUM1Qix1Q0FBaUIsQ0FBQTtJQUNqQix1Q0FBaUIsQ0FBQTtJQUNqQixtQ0FBYSxDQUFBO0lBQ2IsaUNBQVcsQ0FBQTtJQUNYLHFDQUFlLENBQUE7SUFDZixtQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQVBXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFPN0I7QUFVRCwrRUFBK0U7QUFFL0UsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQ3pDLFlBQVksR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQ2hDLFlBQVksR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO0FBQ2xDLG9GQUFvRjtBQUNwRixVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUNoQyxTQUFTLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUMvQixVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUNoQyxXQUFXLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUM5QixVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRWhDLE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBVTtJQUN4QyxPQUFPLENBQ0wsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUk7UUFDckIsQ0FBQyxDQUFDLGlCQUFpQjtRQUNuQixDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUk7WUFDekIsQ0FBQyxDQUFDLFlBQVk7WUFDZCxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUk7Z0JBQ3ZCLENBQUMsQ0FBQyxZQUFZO2dCQUNkLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSTtvQkFDdEIsQ0FBQyxDQUFDLFVBQVU7b0JBQ1osQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJO3dCQUN4QixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUk7NEJBQ3JCLENBQUMsQ0FBQyxTQUFTOzRCQUNYLENBQUMsQ0FBQyxVQUFVO3dCQUNkLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSTs0QkFDdkIsQ0FBQyxDQUFDLFdBQVc7NEJBQ2IsQ0FBQyxDQUFDLFVBQVUsQ0FDZixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ1YsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFzQjtJQUNuRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsR0FBRyxFQUFFLGtCQUFrQixDQUFDLE1BQU07UUFDOUIsUUFBUSxFQUFFLFVBQVU7UUFDcEIsTUFBTSxFQUFFLFlBQVk7UUFDcEIsVUFBVSxFQUFFLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQztLQUM1QztJQUNEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixHQUFHLEVBQUUsa0JBQWtCLENBQUMsTUFBTTtRQUM5QixRQUFRLEVBQUUsVUFBVTtRQUNwQixNQUFNLEVBQUUsWUFBWTtRQUNwQixVQUFVLEVBQUUsVUFBVSxDQUFDLGdCQUFnQixDQUFDO0tBQ3pDO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJO1FBQzVCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLGtHQUFrRztRQUNsRyxNQUFNLEVBQUUsVUFBVTtRQUNsQixVQUFVLEVBQUUsVUFBVSxDQUFDLG9CQUFvQixDQUFDO0tBQzdDO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxHQUFHO1FBQzNCLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLFVBQVUsRUFBRSxVQUFVLENBQUMsYUFBYSxDQUFDO0tBQ3RDO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLO1FBQzdCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLE1BQU0sRUFBRSxXQUFXO1FBQ25CLFVBQVUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO0tBQ2hDO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJO1FBQzVCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLFVBQVUsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDO0tBQzdCO0NBQ0YsQ0FBQztBQUVGLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxHQUF1QjtJQUM3RCxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLEtBQWE7SUFDckQsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxJQUFVO0lBQ2xELElBQUksSUFBSSxHQUFHLFNBQVMsQ0FBQztJQUNyQixLQUFLLE1BQU0sT0FBTyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDekMsTUFBTSxFQUFDLFFBQVEsRUFBQyxHQUFHLE9BQU8sQ0FBQztRQUMzQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLElBQUk7Z0JBQUUsT0FBTyxPQUFPLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxHQUFHLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBQ0QsT0FBTyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQzVCLENBQTJCLEVBQzNCLENBQTJCO0lBRTNCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDMUIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUMzQixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgRmxvd21hcC5nbCBjb250cmlidXRvcnNcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIwIFRlcmFseXRpY3NcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHt0aW1lRm9ybWF0LCB0aW1lUGFyc2V9IGZyb20gJ2QzLXRpbWUtZm9ybWF0JztcbmltcG9ydCB7XG4gIHRpbWVEYXksXG4gIHRpbWVIb3VyLFxuICBUaW1lSW50ZXJ2YWwsXG4gIHRpbWVNaW51dGUsXG4gIHRpbWVNb250aCxcbiAgdGltZVNlY29uZCxcbiAgdGltZVdlZWssXG4gIHRpbWVZZWFyLFxufSBmcm9tICdkMy10aW1lJztcblxuY29uc3QgZGF0ZVBhcnNlcnMgPSBbXG4gIHRpbWVQYXJzZSgnJVktJW0tJWQnKSxcbiAgdGltZVBhcnNlKCclWS0lbS0lZCAlSDolTScpLFxuICB0aW1lUGFyc2UoJyVZLSVtLSVkICVIOiVNOiVTJyksXG4gIHRpbWVQYXJzZSgnJVknKSxcbiAgdGltZVBhcnNlKCclWS0lbScpLFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVGltZShpbnB1dDogc3RyaW5nIHwgRGF0ZSB8IHVuZGVmaW5lZCk6IERhdGUgfCB1bmRlZmluZWQge1xuICBpZiAoaW5wdXQgIT0gbnVsbCkge1xuICAgIGlmIChpbnB1dCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHJldHVybiBpbnB1dDtcbiAgICB9XG4gICAgZm9yIChjb25zdCBwYXJzZSBvZiBkYXRlUGFyc2Vycykge1xuICAgICAgY29uc3QgZGF0ZSA9IHBhcnNlKGlucHV0KTtcbiAgICAgIGlmIChkYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZW51bSBUaW1lR3JhbnVsYXJpdHlLZXkge1xuICBTRUNPTkQgPSAnU0VDT05EJyxcbiAgTUlOVVRFID0gJ01JTlVURScsXG4gIEhPVVIgPSAnSE9VUicsXG4gIERBWSA9ICdEQVknLFxuICBNT05USCA9ICdNT05USCcsXG4gIFlFQVIgPSAnWUVBUicsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZUdyYW51bGFyaXR5IHtcbiAga2V5OiBUaW1lR3JhbnVsYXJpdHlLZXk7XG4gIG9yZGVyOiBudW1iZXI7XG4gIGludGVydmFsOiBUaW1lSW50ZXJ2YWw7XG4gIGZvcm1hdDogKGRhdGU6IERhdGUpID0+IHN0cmluZztcbiAgZm9ybWF0RnVsbDogKGRhdGU6IERhdGUpID0+IHN0cmluZztcbn1cblxuLy8gY29uc3QgcHJlZmVycmVkTG9jYWxlID0gbmF2aWdhdG9yLmxhbmd1YWdlcyA/IG5hdmlnYXRvci5sYW5ndWFnZXNbMF0gOiAnZW4nO1xuXG5jb25zdCBmb3JtYXRNaWxsaXNlY29uZCA9IHRpbWVGb3JtYXQoJy4lTCcpLFxuICBmb3JtYXRTZWNvbmQgPSB0aW1lRm9ybWF0KCc6JVMnKSxcbiAgZm9ybWF0TWludXRlID0gdGltZUZvcm1hdCgnJUk6JU0nKSxcbiAgLy8gZm9ybWF0SG91ciA9IChkOiBEYXRlKSA9PiBkLnRvTG9jYWxlU3RyaW5nKHByZWZlcnJlZExvY2FsZSwgeyBob3VyOiAnbnVtZXJpYycgfSksXG4gIGZvcm1hdEhvdXIgPSB0aW1lRm9ybWF0KCclSSAlcCcpLFxuICBmb3JtYXREYXkgPSB0aW1lRm9ybWF0KCclYSAlZCcpLFxuICBmb3JtYXRXZWVrID0gdGltZUZvcm1hdCgnJWIgJWQnKSxcbiAgZm9ybWF0TW9udGggPSB0aW1lRm9ybWF0KCclYicpLFxuICBmb3JtYXRZZWFyID0gdGltZUZvcm1hdCgnJVknKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRpY2tNdWx0aUZvcm1hdChkYXRlOiBEYXRlKSB7XG4gIHJldHVybiAoXG4gICAgdGltZVNlY29uZChkYXRlKSA8IGRhdGVcbiAgICAgID8gZm9ybWF0TWlsbGlzZWNvbmRcbiAgICAgIDogdGltZU1pbnV0ZShkYXRlKSA8IGRhdGVcbiAgICAgID8gZm9ybWF0U2Vjb25kXG4gICAgICA6IHRpbWVIb3VyKGRhdGUpIDwgZGF0ZVxuICAgICAgPyBmb3JtYXRNaW51dGVcbiAgICAgIDogdGltZURheShkYXRlKSA8IGRhdGVcbiAgICAgID8gZm9ybWF0SG91clxuICAgICAgOiB0aW1lTW9udGgoZGF0ZSkgPCBkYXRlXG4gICAgICA/IHRpbWVXZWVrKGRhdGUpIDwgZGF0ZVxuICAgICAgICA/IGZvcm1hdERheVxuICAgICAgICA6IGZvcm1hdFdlZWtcbiAgICAgIDogdGltZVllYXIoZGF0ZSkgPCBkYXRlXG4gICAgICA/IGZvcm1hdE1vbnRoXG4gICAgICA6IGZvcm1hdFllYXJcbiAgKShkYXRlKTtcbn1cblxuZXhwb3J0IGNvbnN0IFRJTUVfR1JBTlVMQVJJVElFUzogVGltZUdyYW51bGFyaXR5W10gPSBbXG4gIHtcbiAgICBvcmRlcjogMCxcbiAgICBrZXk6IFRpbWVHcmFudWxhcml0eUtleS5TRUNPTkQsXG4gICAgaW50ZXJ2YWw6IHRpbWVTZWNvbmQsXG4gICAgZm9ybWF0OiBmb3JtYXRTZWNvbmQsXG4gICAgZm9ybWF0RnVsbDogdGltZUZvcm1hdCgnJVktJW0tJWQgJUg6JU06JVMnKSxcbiAgfSxcbiAge1xuICAgIG9yZGVyOiAxLFxuICAgIGtleTogVGltZUdyYW51bGFyaXR5S2V5Lk1JTlVURSxcbiAgICBpbnRlcnZhbDogdGltZU1pbnV0ZSxcbiAgICBmb3JtYXQ6IGZvcm1hdE1pbnV0ZSxcbiAgICBmb3JtYXRGdWxsOiB0aW1lRm9ybWF0KCclWS0lbS0lZCAlSDolTScpLFxuICB9LFxuICB7XG4gICAgb3JkZXI6IDIsXG4gICAga2V5OiBUaW1lR3JhbnVsYXJpdHlLZXkuSE9VUixcbiAgICBpbnRlcnZhbDogdGltZUhvdXIsXG4gICAgLy8gZm9ybWF0OiAoZDogRGF0ZSkgPT4gZC50b0xvY2FsZVN0cmluZyhwcmVmZXJyZWRMb2NhbGUsIHsgaG91cjogJ251bWVyaWMnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KSxcbiAgICBmb3JtYXQ6IGZvcm1hdEhvdXIsXG4gICAgZm9ybWF0RnVsbDogdGltZUZvcm1hdCgnJWEgJWQgJWIgJVksICVJICVwJyksXG4gIH0sXG4gIHtcbiAgICBvcmRlcjogMyxcbiAgICBrZXk6IFRpbWVHcmFudWxhcml0eUtleS5EQVksXG4gICAgaW50ZXJ2YWw6IHRpbWVEYXksXG4gICAgZm9ybWF0OiBmb3JtYXREYXksXG4gICAgZm9ybWF0RnVsbDogdGltZUZvcm1hdCgnJWEgJWQgJWIgJVknKSxcbiAgfSxcbiAge1xuICAgIG9yZGVyOiA0LFxuICAgIGtleTogVGltZUdyYW51bGFyaXR5S2V5Lk1PTlRILFxuICAgIGludGVydmFsOiB0aW1lTW9udGgsXG4gICAgZm9ybWF0OiBmb3JtYXRNb250aCxcbiAgICBmb3JtYXRGdWxsOiB0aW1lRm9ybWF0KCclYiAlWScpLFxuICB9LFxuICB7XG4gICAgb3JkZXI6IDUsXG4gICAga2V5OiBUaW1lR3JhbnVsYXJpdHlLZXkuWUVBUixcbiAgICBpbnRlcnZhbDogdGltZVllYXIsXG4gICAgZm9ybWF0OiBmb3JtYXRZZWFyLFxuICAgIGZvcm1hdEZ1bGw6IHRpbWVGb3JtYXQoJyVZJyksXG4gIH0sXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGltZUdyYW51bGFyaXR5QnlLZXkoa2V5OiBUaW1lR3JhbnVsYXJpdHlLZXkpIHtcbiAgcmV0dXJuIFRJTUVfR1JBTlVMQVJJVElFUy5maW5kKChzKSA9PiBzLmtleSA9PT0ga2V5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVHcmFudWxhcml0eUJ5T3JkZXIob3JkZXI6IG51bWJlcikge1xuICByZXR1cm4gVElNRV9HUkFOVUxBUklUSUVTLmZpbmQoKHMpID0+IHMub3JkZXIgPT09IG9yZGVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVHcmFudWxhcml0eUZvckRhdGUoZGF0ZTogRGF0ZSk6IFRpbWVHcmFudWxhcml0eSB7XG4gIGxldCBwcmV2ID0gdW5kZWZpbmVkO1xuICBmb3IgKGNvbnN0IGN1cnJlbnQgb2YgVElNRV9HUkFOVUxBUklUSUVTKSB7XG4gICAgY29uc3Qge2ludGVydmFsfSA9IGN1cnJlbnQ7XG4gICAgY29uc3QgZmxvb3JlZCA9IGludGVydmFsKGRhdGUpO1xuICAgIGlmIChmbG9vcmVkIDwgZGF0ZSkge1xuICAgICAgaWYgKCFwcmV2KSByZXR1cm4gY3VycmVudDtcbiAgICAgIHJldHVybiBwcmV2O1xuICAgIH1cbiAgICBwcmV2ID0gY3VycmVudDtcbiAgfVxuICByZXR1cm4gVElNRV9HUkFOVUxBUklUSUVTW1RJTUVfR1JBTlVMQVJJVElFUy5sZW5ndGggLSAxXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFyZVJhbmdlc0VxdWFsKFxuICBhOiBbRGF0ZSwgRGF0ZV0gfCB1bmRlZmluZWQsXG4gIGI6IFtEYXRlLCBEYXRlXSB8IHVuZGVmaW5lZCxcbik6IGJvb2xlYW4ge1xuICBpZiAoIWEgJiYgIWIpIHJldHVybiB0cnVlO1xuICBpZiAoIWEgfHwgIWIpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIGFbMF0gPT09IGJbMF0gJiYgYVsxXSA9PT0gYlsxXTtcbn1cbiJdfQ==
package/dist/types.d.ts CHANGED
@@ -91,7 +91,7 @@ export declare enum LocationFilterMode {
91
91
  export interface FlowCirclesLayerAttributes {
92
92
  length: number;
93
93
  attributes: {
94
- getPosition: LayersDataAttrValues<Float32Array>;
94
+ getPosition: LayersDataAttrValues<Float64Array>;
95
95
  getColor: LayersDataAttrValues<Uint8Array>;
96
96
  getInRadius: LayersDataAttrValues<Float32Array>;
97
97
  getOutRadius: LayersDataAttrValues<Float32Array>;
@@ -100,8 +100,8 @@ export interface FlowCirclesLayerAttributes {
100
100
  export interface FlowLinesLayerAttributes {
101
101
  length: number;
102
102
  attributes: {
103
- getSourcePosition: LayersDataAttrValues<Float32Array>;
104
- getTargetPosition: LayersDataAttrValues<Float32Array>;
103
+ getSourcePosition: LayersDataAttrValues<Float64Array>;
104
+ getTargetPosition: LayersDataAttrValues<Float64Array>;
105
105
  getThickness: LayersDataAttrValues<Float32Array>;
106
106
  getColor: LayersDataAttrValues<Uint8Array>;
107
107
  getEndpointOffsets: LayersDataAttrValues<Float32Array>;
package/dist/types.js CHANGED
@@ -25,4 +25,4 @@ export var LocationFilterMode;
25
25
  LocationFilterMode["OUTGOING"] = "OUTGOING";
26
26
  LocationFilterMode["BETWEEN"] = "BETWEEN";
27
27
  })(LocationFilterMode || (LocationFilterMode = {}));
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQWtHSCxNQUFNLFVBQVUsU0FBUyxDQUFDLENBQWM7SUFDdEMsTUFBTSxFQUFDLFFBQVEsRUFBQyxHQUFHLENBQVksQ0FBQztJQUNoQyxPQUFPLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFJLENBQWtCO0lBQ3pELE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxDQUFnQixDQUFDO0lBQ2hDLE9BQU8sSUFBSSxLQUFLLFNBQVMsQ0FBQztBQUM1QixDQUFDO0FBU0QsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsSUFBeUI7SUFFekIsT0FBTyxDQUNMLElBQUk7UUFDSiwrQkFBK0I7UUFDL0IsNkJBQTZCO1FBQzdCLDhCQUE4QjtRQUM5QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQ2hDLENBQUM7QUFDSixDQUFDO0FBT0QsTUFBTSxDQUFOLElBQVksa0JBS1g7QUFMRCxXQUFZLGtCQUFrQjtJQUM1QixpQ0FBVyxDQUFBO0lBQ1gsMkNBQXFCLENBQUE7SUFDckIsMkNBQXFCLENBQUE7SUFDckIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFLN0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSBGbG93bWFwLmdsIGNvbnRyaWJ1dG9yc1xuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjAgVGVyYWx5dGljc1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5leHBvcnQgdHlwZSBGbG93bWFwRGF0YTxMLCBGPiA9IHtcbiAgbG9jYXRpb25zOiBJdGVyYWJsZTxMPiB8IHVuZGVmaW5lZDtcbiAgZmxvd3M6IEl0ZXJhYmxlPEY+IHwgdW5kZWZpbmVkO1xuICBjbHVzdGVyTGV2ZWxzPzogQ2x1c3RlckxldmVscztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld1N0YXRlIHtcbiAgbGF0aXR1ZGU6IG51bWJlcjtcbiAgbG9uZ2l0dWRlOiBudW1iZXI7XG4gIHpvb206IG51bWJlcjtcbiAgYmVhcmluZz86IG51bWJlcjtcbiAgcGl0Y2g/OiBudW1iZXI7XG4gIGFsdGl0dWRlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBGbG93QWNjZXNzb3I8RiwgVD4gPSAoZmxvdzogRikgPT4gVDsgLy8gb2JqZWN0SW5mbz86IEFjY2Vzc29yT2JqZWN0SW5mbyxcbmV4cG9ydCB0eXBlIExvY2F0aW9uQWNjZXNzb3I8TCwgVD4gPSAobG9jYXRpb246IEwpID0+IFQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0FjY2Vzc29yczxGPiB7XG4gIGdldEZsb3dPcmlnaW5JZDogRmxvd0FjY2Vzc29yPEYsIHN0cmluZyB8IG51bWJlcj47XG4gIGdldEZsb3dEZXN0SWQ6IEZsb3dBY2Nlc3NvcjxGLCBzdHJpbmcgfCBudW1iZXI+O1xuICBnZXRGbG93TWFnbml0dWRlOiBGbG93QWNjZXNzb3I8RiwgbnVtYmVyPjtcbiAgZ2V0Rmxvd1RpbWU/OiBGbG93QWNjZXNzb3I8RiwgRGF0ZT47IC8vIFRPRE86IHVzZSBudW1iZXIgaW5zdGVhZCBvZiBEYXRlXG4gIC8vIGdldEZsb3dDb2xvcj86IEZsb3dBY2Nlc3NvcjxzdHJpbmcgfCB1bmRlZmluZWQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uQWNjZXNzb3JzPEw+IHtcbiAgZ2V0TG9jYXRpb25JZDogTG9jYXRpb25BY2Nlc3NvcjxMLCBzdHJpbmcgfCBudW1iZXI+O1xuICBnZXRMb2NhdGlvbk5hbWU/OiBMb2NhdGlvbkFjY2Vzc29yPEwsIHN0cmluZz47XG4gIGdldExvY2F0aW9uTGF0OiBMb2NhdGlvbkFjY2Vzc29yPEwsIG51bWJlcj47XG4gIGdldExvY2F0aW9uTG9uOiBMb2NhdGlvbkFjY2Vzc29yPEwsIG51bWJlcj47XG4gIGdldExvY2F0aW9uQ2x1c3Rlck5hbWU/OiAobG9jYXRpb25JZHM6IChzdHJpbmcgfCBudW1iZXIpW10pID0+IHN0cmluZztcbiAgLy8gZ2V0TG9jYXRpb25Ub3RhbEluPzogTG9jYXRpb25BY2Nlc3NvcjxudW1iZXI+O1xuICAvLyBnZXRMb2NhdGlvblRvdGFsT3V0PzogTG9jYXRpb25BY2Nlc3NvcjxudW1iZXI+O1xuICAvLyBnZXRMb2NhdGlvblRvdGFsSW50ZXJuYWw/OiBMb2NhdGlvbkFjY2Vzc29yPG51bWJlcj47XG59XG5cbmV4cG9ydCB0eXBlIEZsb3dtYXBEYXRhQWNjZXNzb3JzPEwsIEY+ID0gTG9jYXRpb25BY2Nlc3NvcnM8TD4gJlxuICBGbG93QWNjZXNzb3JzPEY+O1xuXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uVG90YWxzIHtcbiAgaW5jb21pbmdDb3VudDogbnVtYmVyO1xuICBvdXRnb2luZ0NvdW50OiBudW1iZXI7XG4gIGludGVybmFsQ291bnQ6IG51bWJlcjtcbn1cblxuLy8gZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvbnNUb3RhbHMge1xuLy8gICBpbmNvbWluZzoge1tpZDogc3RyaW5nXTogbnVtYmVyfTtcbi8vICAgb3V0Z29pbmc6IHtbaWQ6IHN0cmluZ106IG51bWJlcn07XG4vLyAgIGludGVybmFsOiB7W2lkOiBzdHJpbmddOiBudW1iZXJ9O1xuLy8gfVxuXG5leHBvcnQgaW50ZXJmYWNlIENvdW50QnlUaW1lIHtcbiAgdGltZTogRGF0ZTtcbiAgY291bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWV3cG9ydFByb3BzIHtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIGxhdGl0dWRlOiBudW1iZXI7XG4gIGxvbmdpdHVkZTogbnVtYmVyO1xuICB6b29tPzogbnVtYmVyO1xuICBiZWFyaW5nPzogbnVtYmVyO1xuICBwaXRjaD86IG51bWJlcjtcbiAgYWx0aXR1ZGU/OiBudW1iZXI7XG4gIG1heFpvb20/OiBudW1iZXI7XG4gIG1pblpvb20/OiBudW1iZXI7XG4gIG1heFBpdGNoPzogbnVtYmVyO1xuICBtaW5QaXRjaD86IG51bWJlcjtcbiAgdHJhbnNpdGlvbkR1cmF0aW9uPzogbnVtYmVyIHwgJ2F1dG8nO1xuICB0cmFuc2l0aW9uSW50ZXJwb2xhdG9yPzogYW55O1xuICB0cmFuc2l0aW9uSW50ZXJydXB0aW9uPzogYW55O1xuICB0cmFuc2l0aW9uRWFzaW5nPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXJOb2RlIHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgem9vbTogbnVtYmVyO1xuICBsYXQ6IG51bWJlcjtcbiAgbG9uOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlckxldmVsIHtcbiAgem9vbTogbnVtYmVyO1xuICBub2RlczogQ2x1c3Rlck5vZGVbXTtcbn1cblxuZXhwb3J0IHR5cGUgQ2x1c3RlckxldmVscyA9IENsdXN0ZXJMZXZlbFtdO1xuXG4vLyBub24tbGVhZiBjbHVzdGVyIG5vZGVcbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlciBleHRlbmRzIENsdXN0ZXJOb2RlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgY2hpbGRyZW46IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDbHVzdGVyKGM6IENsdXN0ZXJOb2RlKTogYyBpcyBDbHVzdGVyIHtcbiAgY29uc3Qge2NoaWxkcmVufSA9IGMgYXMgQ2x1c3RlcjtcbiAgcmV0dXJuIGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA+IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xvY2F0aW9uQ2x1c3Rlck5vZGU8TD4obDogTCB8IENsdXN0ZXJOb2RlKTogbCBpcyBDbHVzdGVyTm9kZSB7XG4gIGNvbnN0IHt6b29tfSA9IGwgYXMgQ2x1c3Rlck5vZGU7XG4gIHJldHVybiB6b29tICE9PSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWdncmVnYXRlRmxvdyB7XG4gIG9yaWdpbjogc3RyaW5nIHwgbnVtYmVyO1xuICBkZXN0OiBzdHJpbmcgfCBudW1iZXI7XG4gIGNvdW50OiBudW1iZXI7XG4gIGFnZ3JlZ2F0ZTogdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWdncmVnYXRlRmxvdyhcbiAgZmxvdzogUmVjb3JkPHN0cmluZywgYW55Pixcbik6IGZsb3cgaXMgQWdncmVnYXRlRmxvdyB7XG4gIHJldHVybiAoXG4gICAgZmxvdyAmJlxuICAgIC8vIGZsb3cub3JpZ2luICE9PSB1bmRlZmluZWQgJiZcbiAgICAvLyBmbG93LmRlc3QgIT09IHVuZGVmaW5lZCAmJlxuICAgIC8vIGZsb3cuY291bnQgIT09IHVuZGVmaW5lZCAmJlxuICAgIChmbG93LmFnZ3JlZ2F0ZSA/IHRydWUgOiBmYWxzZSlcbiAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG93Q291bnRzTWFwUmVkdWNlPEYsIFQgPSBhbnk+IHtcbiAgbWFwOiAoZmxvdzogRikgPT4gVDtcbiAgcmVkdWNlOiAoYWNjdW11bGF0ZWQ6IFQsIHZhbDogVCkgPT4gVDtcbn1cblxuZXhwb3J0IGVudW0gTG9jYXRpb25GaWx0ZXJNb2RlIHtcbiAgQUxMID0gJ0FMTCcsXG4gIElOQ09NSU5HID0gJ0lOQ09NSU5HJyxcbiAgT1VUR09JTkcgPSAnT1VUR09JTkcnLFxuICBCRVRXRUVOID0gJ0JFVFdFRU4nLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dDaXJjbGVzTGF5ZXJBdHRyaWJ1dGVzIHtcbiAgbGVuZ3RoOiBudW1iZXI7XG4gIGF0dHJpYnV0ZXM6IHtcbiAgICBnZXRQb3NpdGlvbjogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQzMkFycmF5PjtcbiAgICBnZXRDb2xvcjogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8VWludDhBcnJheT47XG4gICAgZ2V0SW5SYWRpdXM6IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gICAgZ2V0T3V0UmFkaXVzOiBMYXllcnNEYXRhQXR0clZhbHVlczxGbG9hdDMyQXJyYXk+O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dMaW5lc0xheWVyQXR0cmlidXRlcyB7XG4gIGxlbmd0aDogbnVtYmVyO1xuICBhdHRyaWJ1dGVzOiB7XG4gICAgZ2V0U291cmNlUG9zaXRpb246IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gICAgZ2V0VGFyZ2V0UG9zaXRpb246IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gICAgZ2V0VGhpY2tuZXNzOiBMYXllcnNEYXRhQXR0clZhbHVlczxGbG9hdDMyQXJyYXk+O1xuICAgIGdldENvbG9yOiBMYXllcnNEYXRhQXR0clZhbHVlczxVaW50OEFycmF5PjtcbiAgICBnZXRFbmRwb2ludE9mZnNldHM6IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gICAgZ2V0U3RhZ2dlcmluZz86IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJzRGF0YSB7XG4gIGNpcmNsZUF0dHJpYnV0ZXM6IEZsb3dDaXJjbGVzTGF5ZXJBdHRyaWJ1dGVzO1xuICBsaW5lQXR0cmlidXRlczogRmxvd0xpbmVzTGF5ZXJBdHRyaWJ1dGVzO1xuICBsb2NhdGlvbkxhYmVscz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgdHlwZSBMYXllcnNEYXRhQXR0clZhbHVlczxUPiA9IHt2YWx1ZTogVDsgc2l6ZTogbnVtYmVyfTtcbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQWtHSCxNQUFNLFVBQVUsU0FBUyxDQUFDLENBQWM7SUFDdEMsTUFBTSxFQUFDLFFBQVEsRUFBQyxHQUFHLENBQVksQ0FBQztJQUNoQyxPQUFPLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFJLENBQWtCO0lBQ3pELE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxDQUFnQixDQUFDO0lBQ2hDLE9BQU8sSUFBSSxLQUFLLFNBQVMsQ0FBQztBQUM1QixDQUFDO0FBU0QsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsSUFBeUI7SUFFekIsT0FBTyxDQUNMLElBQUk7UUFDSiwrQkFBK0I7UUFDL0IsNkJBQTZCO1FBQzdCLDhCQUE4QjtRQUM5QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQ2hDLENBQUM7QUFDSixDQUFDO0FBT0QsTUFBTSxDQUFOLElBQVksa0JBS1g7QUFMRCxXQUFZLGtCQUFrQjtJQUM1QixpQ0FBVyxDQUFBO0lBQ1gsMkNBQXFCLENBQUE7SUFDckIsMkNBQXFCLENBQUE7SUFDckIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFLN0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSBGbG93bWFwLmdsIGNvbnRyaWJ1dG9yc1xuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjAgVGVyYWx5dGljc1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5leHBvcnQgdHlwZSBGbG93bWFwRGF0YTxMLCBGPiA9IHtcbiAgbG9jYXRpb25zOiBJdGVyYWJsZTxMPiB8IHVuZGVmaW5lZDtcbiAgZmxvd3M6IEl0ZXJhYmxlPEY+IHwgdW5kZWZpbmVkO1xuICBjbHVzdGVyTGV2ZWxzPzogQ2x1c3RlckxldmVscztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld1N0YXRlIHtcbiAgbGF0aXR1ZGU6IG51bWJlcjtcbiAgbG9uZ2l0dWRlOiBudW1iZXI7XG4gIHpvb206IG51bWJlcjtcbiAgYmVhcmluZz86IG51bWJlcjtcbiAgcGl0Y2g/OiBudW1iZXI7XG4gIGFsdGl0dWRlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBGbG93QWNjZXNzb3I8RiwgVD4gPSAoZmxvdzogRikgPT4gVDsgLy8gb2JqZWN0SW5mbz86IEFjY2Vzc29yT2JqZWN0SW5mbyxcbmV4cG9ydCB0eXBlIExvY2F0aW9uQWNjZXNzb3I8TCwgVD4gPSAobG9jYXRpb246IEwpID0+IFQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0FjY2Vzc29yczxGPiB7XG4gIGdldEZsb3dPcmlnaW5JZDogRmxvd0FjY2Vzc29yPEYsIHN0cmluZyB8IG51bWJlcj47XG4gIGdldEZsb3dEZXN0SWQ6IEZsb3dBY2Nlc3NvcjxGLCBzdHJpbmcgfCBudW1iZXI+O1xuICBnZXRGbG93TWFnbml0dWRlOiBGbG93QWNjZXNzb3I8RiwgbnVtYmVyPjtcbiAgZ2V0Rmxvd1RpbWU/OiBGbG93QWNjZXNzb3I8RiwgRGF0ZT47IC8vIFRPRE86IHVzZSBudW1iZXIgaW5zdGVhZCBvZiBEYXRlXG4gIC8vIGdldEZsb3dDb2xvcj86IEZsb3dBY2Nlc3NvcjxzdHJpbmcgfCB1bmRlZmluZWQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uQWNjZXNzb3JzPEw+IHtcbiAgZ2V0TG9jYXRpb25JZDogTG9jYXRpb25BY2Nlc3NvcjxMLCBzdHJpbmcgfCBudW1iZXI+O1xuICBnZXRMb2NhdGlvbk5hbWU/OiBMb2NhdGlvbkFjY2Vzc29yPEwsIHN0cmluZz47XG4gIGdldExvY2F0aW9uTGF0OiBMb2NhdGlvbkFjY2Vzc29yPEwsIG51bWJlcj47XG4gIGdldExvY2F0aW9uTG9uOiBMb2NhdGlvbkFjY2Vzc29yPEwsIG51bWJlcj47XG4gIGdldExvY2F0aW9uQ2x1c3Rlck5hbWU/OiAobG9jYXRpb25JZHM6IChzdHJpbmcgfCBudW1iZXIpW10pID0+IHN0cmluZztcbiAgLy8gZ2V0TG9jYXRpb25Ub3RhbEluPzogTG9jYXRpb25BY2Nlc3NvcjxudW1iZXI+O1xuICAvLyBnZXRMb2NhdGlvblRvdGFsT3V0PzogTG9jYXRpb25BY2Nlc3NvcjxudW1iZXI+O1xuICAvLyBnZXRMb2NhdGlvblRvdGFsSW50ZXJuYWw/OiBMb2NhdGlvbkFjY2Vzc29yPG51bWJlcj47XG59XG5cbmV4cG9ydCB0eXBlIEZsb3dtYXBEYXRhQWNjZXNzb3JzPEwsIEY+ID0gTG9jYXRpb25BY2Nlc3NvcnM8TD4gJlxuICBGbG93QWNjZXNzb3JzPEY+O1xuXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uVG90YWxzIHtcbiAgaW5jb21pbmdDb3VudDogbnVtYmVyO1xuICBvdXRnb2luZ0NvdW50OiBudW1iZXI7XG4gIGludGVybmFsQ291bnQ6IG51bWJlcjtcbn1cblxuLy8gZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvbnNUb3RhbHMge1xuLy8gICBpbmNvbWluZzoge1tpZDogc3RyaW5nXTogbnVtYmVyfTtcbi8vICAgb3V0Z29pbmc6IHtbaWQ6IHN0cmluZ106IG51bWJlcn07XG4vLyAgIGludGVybmFsOiB7W2lkOiBzdHJpbmddOiBudW1iZXJ9O1xuLy8gfVxuXG5leHBvcnQgaW50ZXJmYWNlIENvdW50QnlUaW1lIHtcbiAgdGltZTogRGF0ZTtcbiAgY291bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWV3cG9ydFByb3BzIHtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIGxhdGl0dWRlOiBudW1iZXI7XG4gIGxvbmdpdHVkZTogbnVtYmVyO1xuICB6b29tPzogbnVtYmVyO1xuICBiZWFyaW5nPzogbnVtYmVyO1xuICBwaXRjaD86IG51bWJlcjtcbiAgYWx0aXR1ZGU/OiBudW1iZXI7XG4gIG1heFpvb20/OiBudW1iZXI7XG4gIG1pblpvb20/OiBudW1iZXI7XG4gIG1heFBpdGNoPzogbnVtYmVyO1xuICBtaW5QaXRjaD86IG51bWJlcjtcbiAgdHJhbnNpdGlvbkR1cmF0aW9uPzogbnVtYmVyIHwgJ2F1dG8nO1xuICB0cmFuc2l0aW9uSW50ZXJwb2xhdG9yPzogYW55O1xuICB0cmFuc2l0aW9uSW50ZXJydXB0aW9uPzogYW55O1xuICB0cmFuc2l0aW9uRWFzaW5nPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsdXN0ZXJOb2RlIHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgem9vbTogbnVtYmVyO1xuICBsYXQ6IG51bWJlcjtcbiAgbG9uOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlckxldmVsIHtcbiAgem9vbTogbnVtYmVyO1xuICBub2RlczogQ2x1c3Rlck5vZGVbXTtcbn1cblxuZXhwb3J0IHR5cGUgQ2x1c3RlckxldmVscyA9IENsdXN0ZXJMZXZlbFtdO1xuXG4vLyBub24tbGVhZiBjbHVzdGVyIG5vZGVcbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlciBleHRlbmRzIENsdXN0ZXJOb2RlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgY2hpbGRyZW46IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDbHVzdGVyKGM6IENsdXN0ZXJOb2RlKTogYyBpcyBDbHVzdGVyIHtcbiAgY29uc3Qge2NoaWxkcmVufSA9IGMgYXMgQ2x1c3RlcjtcbiAgcmV0dXJuIGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA+IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xvY2F0aW9uQ2x1c3Rlck5vZGU8TD4obDogTCB8IENsdXN0ZXJOb2RlKTogbCBpcyBDbHVzdGVyTm9kZSB7XG4gIGNvbnN0IHt6b29tfSA9IGwgYXMgQ2x1c3Rlck5vZGU7XG4gIHJldHVybiB6b29tICE9PSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWdncmVnYXRlRmxvdyB7XG4gIG9yaWdpbjogc3RyaW5nIHwgbnVtYmVyO1xuICBkZXN0OiBzdHJpbmcgfCBudW1iZXI7XG4gIGNvdW50OiBudW1iZXI7XG4gIGFnZ3JlZ2F0ZTogdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWdncmVnYXRlRmxvdyhcbiAgZmxvdzogUmVjb3JkPHN0cmluZywgYW55Pixcbik6IGZsb3cgaXMgQWdncmVnYXRlRmxvdyB7XG4gIHJldHVybiAoXG4gICAgZmxvdyAmJlxuICAgIC8vIGZsb3cub3JpZ2luICE9PSB1bmRlZmluZWQgJiZcbiAgICAvLyBmbG93LmRlc3QgIT09IHVuZGVmaW5lZCAmJlxuICAgIC8vIGZsb3cuY291bnQgIT09IHVuZGVmaW5lZCAmJlxuICAgIChmbG93LmFnZ3JlZ2F0ZSA/IHRydWUgOiBmYWxzZSlcbiAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG93Q291bnRzTWFwUmVkdWNlPEYsIFQgPSBhbnk+IHtcbiAgbWFwOiAoZmxvdzogRikgPT4gVDtcbiAgcmVkdWNlOiAoYWNjdW11bGF0ZWQ6IFQsIHZhbDogVCkgPT4gVDtcbn1cblxuZXhwb3J0IGVudW0gTG9jYXRpb25GaWx0ZXJNb2RlIHtcbiAgQUxMID0gJ0FMTCcsXG4gIElOQ09NSU5HID0gJ0lOQ09NSU5HJyxcbiAgT1VUR09JTkcgPSAnT1VUR09JTkcnLFxuICBCRVRXRUVOID0gJ0JFVFdFRU4nLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dDaXJjbGVzTGF5ZXJBdHRyaWJ1dGVzIHtcbiAgbGVuZ3RoOiBudW1iZXI7XG4gIGF0dHJpYnV0ZXM6IHtcbiAgICBnZXRQb3NpdGlvbjogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8RmxvYXQ2NEFycmF5PjtcbiAgICBnZXRDb2xvcjogTGF5ZXJzRGF0YUF0dHJWYWx1ZXM8VWludDhBcnJheT47XG4gICAgZ2V0SW5SYWRpdXM6IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gICAgZ2V0T3V0UmFkaXVzOiBMYXllcnNEYXRhQXR0clZhbHVlczxGbG9hdDMyQXJyYXk+O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dMaW5lc0xheWVyQXR0cmlidXRlcyB7XG4gIGxlbmd0aDogbnVtYmVyO1xuICBhdHRyaWJ1dGVzOiB7XG4gICAgZ2V0U291cmNlUG9zaXRpb246IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0NjRBcnJheT47XG4gICAgZ2V0VGFyZ2V0UG9zaXRpb246IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0NjRBcnJheT47XG4gICAgZ2V0VGhpY2tuZXNzOiBMYXllcnNEYXRhQXR0clZhbHVlczxGbG9hdDMyQXJyYXk+O1xuICAgIGdldENvbG9yOiBMYXllcnNEYXRhQXR0clZhbHVlczxVaW50OEFycmF5PjtcbiAgICBnZXRFbmRwb2ludE9mZnNldHM6IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gICAgZ2V0U3RhZ2dlcmluZz86IExheWVyc0RhdGFBdHRyVmFsdWVzPEZsb2F0MzJBcnJheT47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJzRGF0YSB7XG4gIGNpcmNsZUF0dHJpYnV0ZXM6IEZsb3dDaXJjbGVzTGF5ZXJBdHRyaWJ1dGVzO1xuICBsaW5lQXR0cmlidXRlczogRmxvd0xpbmVzTGF5ZXJBdHRyaWJ1dGVzO1xuICBsb2NhdGlvbkxhYmVscz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgdHlwZSBMYXllcnNEYXRhQXR0clZhbHVlczxUPiA9IHt2YWx1ZTogVDsgc2l6ZTogbnVtYmVyfTtcbiJdfQ==
package/dist/util.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- import { defaultMemoize } from 'reselect';
2
- export declare const createDebugSelector: import("reselect").CreateSelectorFunction<(...args: unknown[]) => unknown, typeof defaultMemoize, [equalityCheckOrOptions?: import("reselect").EqualityFn | import("reselect").DefaultMemoizeOptions | undefined], {
3
- clearCache: () => void;
4
- }>;
1
+ import { lruMemoize } from 'reselect';
2
+ export declare const createDebugSelector: import("reselect").CreateSelectorFunction<typeof lruMemoize, typeof import("reselect").weakMapMemoize, any>;
5
3
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwB,cAAc,EAAC,MAAM,UAAU,CAAC;AAE/D,eAAO,MAAM,mBAAmB;;EAQ9B,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwB,UAAU,EAAC,MAAM,UAAU,CAAC;AAE3D,eAAO,MAAM,mBAAmB,6GAQ9B,CAAC"}
package/dist/util.js CHANGED
@@ -3,8 +3,8 @@
3
3
  * Copyright (c) 2018-2020 Teralytics
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { createSelectorCreator, defaultMemoize } from 'reselect';
7
- export const createDebugSelector = createSelectorCreator(defaultMemoize, {
6
+ import { createSelectorCreator, lruMemoize } from 'reselect';
7
+ export const createDebugSelector = createSelectorCreator(lruMemoize, {
8
8
  equalityCheck: (previousVal, currentVal) => {
9
9
  const rv = currentVal === previousVal;
10
10
  if (!rv) {
@@ -13,4 +13,4 @@ export const createDebugSelector = createSelectorCreator(defaultMemoize, {
13
13
  return rv;
14
14
  },
15
15
  });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUMscUJBQXFCLEVBQUUsY0FBYyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHFCQUFxQixDQUFDLGNBQWMsRUFBRTtJQUN2RSxhQUFhLEVBQUUsQ0FBQyxXQUFnQixFQUFFLFVBQWUsRUFBRSxFQUFFO1FBQ25ELE1BQU0sRUFBRSxHQUFHLFVBQVUsS0FBSyxXQUFXLENBQUM7UUFDdEMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDekQ7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSBGbG93bWFwLmdsIGNvbnRyaWJ1dG9yc1xuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjAgVGVyYWx5dGljc1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQge2NyZWF0ZVNlbGVjdG9yQ3JlYXRvciwgZGVmYXVsdE1lbW9pemV9IGZyb20gJ3Jlc2VsZWN0JztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZURlYnVnU2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvckNyZWF0b3IoZGVmYXVsdE1lbW9pemUsIHtcbiAgZXF1YWxpdHlDaGVjazogKHByZXZpb3VzVmFsOiBhbnksIGN1cnJlbnRWYWw6IGFueSkgPT4ge1xuICAgIGNvbnN0IHJ2ID0gY3VycmVudFZhbCA9PT0gcHJldmlvdXNWYWw7XG4gICAgaWYgKCFydikge1xuICAgICAgY29uc29sZS5sb2coJ1NlbGVjdG9yIHBhcmFtIHZhbHVlIGNoYW5nZWQnLCBjdXJyZW50VmFsKTtcbiAgICB9XG4gICAgcmV0dXJuIHJ2O1xuICB9LFxufSk7XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUMscUJBQXFCLEVBQUUsVUFBVSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHFCQUFxQixDQUFDLFVBQVUsRUFBRTtJQUNuRSxhQUFhLEVBQUUsQ0FBQyxXQUFnQixFQUFFLFVBQWUsRUFBRSxFQUFFO1FBQ25ELE1BQU0sRUFBRSxHQUFHLFVBQVUsS0FBSyxXQUFXLENBQUM7UUFDdEMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgRmxvd21hcC5nbCBjb250cmlidXRvcnNcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIwIFRlcmFseXRpY3NcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHtjcmVhdGVTZWxlY3RvckNyZWF0b3IsIGxydU1lbW9pemV9IGZyb20gJ3Jlc2VsZWN0JztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZURlYnVnU2VsZWN0b3IgPSBjcmVhdGVTZWxlY3RvckNyZWF0b3IobHJ1TWVtb2l6ZSwge1xuICBlcXVhbGl0eUNoZWNrOiAocHJldmlvdXNWYWw6IGFueSwgY3VycmVudFZhbDogYW55KSA9PiB7XG4gICAgY29uc3QgcnYgPSBjdXJyZW50VmFsID09PSBwcmV2aW91c1ZhbDtcbiAgICBpZiAoIXJ2KSB7XG4gICAgICBjb25zb2xlLmxvZygnU2VsZWN0b3IgcGFyYW0gdmFsdWUgY2hhbmdlZCcsIGN1cnJlbnRWYWwpO1xuICAgIH1cbiAgICByZXR1cm4gcnY7XG4gIH0sXG59KTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowmap.gl/data",
3
- "version": "8.0.2",
3
+ "version": "9.0.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -15,33 +15,33 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "d3-array": "^3.2.4",
18
- "d3-color": "2 - 3",
19
- "d3-geo": "^3.1.0",
20
- "d3-interpolate": "2 - 3",
21
- "d3-scale": "3 - 4",
22
- "d3-scale-chromatic": "2 - 3",
18
+ "d3-color": "^3.1.0",
19
+ "d3-geo": "^3.1.1",
20
+ "d3-interpolate": "^3.0.1",
21
+ "d3-scale": "^4.0.2",
22
+ "d3-scale-chromatic": "^3.1.0",
23
23
  "d3-time": "^3.1.0",
24
- "d3-time-format": "3 - 4",
24
+ "d3-time-format": "^4.1.0",
25
25
  "kdbush": "^4.0.2",
26
- "reselect": "^4.1.6",
26
+ "reselect": "^5.1.1",
27
27
  "seedrandom": "^3.0.5"
28
28
  },
29
29
  "devDependencies": {
30
- "@types/d3-array": "^3.0.7",
31
- "@types/d3-collection": "^1.0.10",
32
- "@types/d3-color": "^3.1.0",
33
- "@types/d3-geo": "^3.0.4",
34
- "@types/d3-interpolate": "^3.0.1",
35
- "@types/d3-scale": "^4.0.4",
36
- "@types/d3-scale-chromatic": "^3.0.0",
37
- "@types/d3-time": "^3.0.0",
38
- "@types/d3-time-format": "^4.0.0",
39
- "@types/geojson": "^7946.0.10",
40
- "@types/kdbush": "^3.0.3",
41
- "@types/mapbox__geo-viewport": "^0.5.0",
42
- "@types/seedrandom": "^3.0.5"
30
+ "@types/d3-array": "^3.2.2",
31
+ "@types/d3-collection": "^1.0.13",
32
+ "@types/d3-color": "^3.1.3",
33
+ "@types/d3-geo": "^3.1.0",
34
+ "@types/d3-interpolate": "^3.0.4",
35
+ "@types/d3-scale": "^4.0.9",
36
+ "@types/d3-scale-chromatic": "^3.1.0",
37
+ "@types/d3-time": "^3.0.4",
38
+ "@types/d3-time-format": "^4.0.3",
39
+ "@types/geojson": "^7946.0.16",
40
+ "@types/kdbush": "^3.0.5",
41
+ "@types/mapbox__geo-viewport": "^0.5.3",
42
+ "@types/seedrandom": "^3.0.8"
43
43
  },
44
- "gitHead": "b55bad6919f236f7e38def565e27f231b9323e38",
44
+ "gitHead": "67779cffb9b9bebeb44de51c7321236f4a8b707d",
45
45
  "publishConfig": {
46
46
  "access": "public"
47
47
  }
@@ -7,12 +7,7 @@
7
7
  import {ascending, descending, extent, min, rollup} from 'd3-array';
8
8
  import {ScaleLinear, scaleSqrt} from 'd3-scale';
9
9
  import KDBush from 'kdbush';
10
- import {
11
- ParametricSelector,
12
- createSelector,
13
- createSelectorCreator,
14
- defaultMemoize,
15
- } from 'reselect';
10
+ import {createSelector, createSelectorCreator, lruMemoize} from 'reselect';
16
11
  import {alea} from 'seedrandom';
17
12
  import FlowmapAggregateAccessors from './FlowmapAggregateAccessors';
18
13
  import {FlowmapState} from './FlowmapState';
@@ -64,11 +59,10 @@ import {
64
59
  const MAX_CLUSTER_ZOOM_LEVEL = 20;
65
60
  type KDBushTree = any;
66
61
 
67
- export type Selector<L, F, T> = ParametricSelector<
68
- FlowmapState,
69
- FlowmapData<L, F>,
70
- T
71
- >;
62
+ export type Selector<L, F, T> = (
63
+ state: FlowmapState,
64
+ props: FlowmapData<L, F>,
65
+ ) => T;
72
66
 
73
67
  export default class FlowmapSelectors<
74
68
  L extends Record<string, any>,
@@ -101,6 +95,10 @@ export default class FlowmapSelectors<
101
95
  };
102
96
  getMaxTopFlowsDisplayNum = (state: FlowmapState, props: FlowmapData<L, F>) =>
103
97
  state.settings.maxTopFlowsDisplayNum;
98
+ getFlowEndpointsInViewportMode = (
99
+ state: FlowmapState,
100
+ props: FlowmapData<L, F>,
101
+ ) => state.settings.flowEndpointsInViewportMode;
104
102
  getSelectedLocations = (state: FlowmapState, props: FlowmapData<L, F>) =>
105
103
  state.filter?.selectedLocations;
106
104
  getLocationFilterMode = (state: FlowmapState, props: FlowmapData<L, F>) =>
@@ -242,7 +240,7 @@ export default class FlowmapSelectors<
242
240
  (flows, timeExtent) => {
243
241
  if (!flows || !timeExtent) return undefined;
244
242
 
245
- const minOrder = min(flows, (d) => {
243
+ const minOrder = min(flows, (d: F) => {
246
244
  const t = this.accessors.getFlowTime(d);
247
245
  return t ? getTimeGranularityForDate(t).order : null;
248
246
  });
@@ -282,7 +280,7 @@ export default class FlowmapSelectors<
282
280
  ) {
283
281
  return flows;
284
282
  }
285
- return flows.filter((flow) => {
283
+ return flows.filter((flow: F) => {
286
284
  const time = this.accessors.getFlowTime(flow);
287
285
  return time && timeRange[0] <= time && time < timeRange[1];
288
286
  });
@@ -399,7 +397,7 @@ export default class FlowmapSelectors<
399
397
  }
400
398
 
401
399
  return clusterIndex.availableZoomLevels.filter(
402
- (level) => minZoom <= level && level <= maxZoom,
400
+ (level: number) => minZoom <= level && level <= maxZoom,
403
401
  );
404
402
  },
405
403
  );
@@ -623,7 +621,7 @@ export default class FlowmapSelectors<
623
621
  ? getTimeGranularityByKey(timeGranularityKey)
624
622
  : undefined;
625
623
  if (!flows || !timeGranularity || !timeExtent) return undefined;
626
- const byTime = flows.reduce((m, flow) => {
624
+ const byTime = flows.reduce((m: Map<number, number>, flow: F) => {
627
625
  if (
628
626
  this.isFlowInSelection(
629
627
  flow,
@@ -642,10 +640,12 @@ export default class FlowmapSelectors<
642
640
  return m;
643
641
  }, new Map<number, number>());
644
642
 
645
- return Array.from(byTime.entries()).map(([millis, count]) => ({
646
- time: new Date(millis),
647
- count,
648
- }));
643
+ return Array.from(byTime.entries()).map(
644
+ ([millis, count]: [number, number]) => ({
645
+ time: new Date(millis),
646
+ count,
647
+ }),
648
+ );
649
649
  },
650
650
  );
651
651
 
@@ -762,21 +762,21 @@ export default class FlowmapSelectors<
762
762
  );
763
763
 
764
764
  getLocationIdsInViewport: Selector<L, F, Set<string | number> | undefined> =
765
- createSelectorCreator(
766
- defaultMemoize,
767
- // @ts-ignore
768
- (
769
- s1: Set<string> | undefined,
770
- s2: Set<string> | undefined,
771
- index: number,
772
- ) => {
773
- if (s1 === s2) return true;
774
- if (s1 == null || s2 == null) return false;
775
- if (s1.size !== s2.size) return false;
776
- for (const item of s1) if (!s2.has(item)) return false;
777
- return true;
765
+ createSelectorCreator({
766
+ memoize: lruMemoize,
767
+ memoizeOptions: {
768
+ equalityCheck: (
769
+ s1: Set<string> | undefined,
770
+ s2: Set<string> | undefined,
771
+ ) => {
772
+ if (s1 === s2) return true;
773
+ if (s1 == null || s2 == null) return false;
774
+ if (s1.size !== s2.size) return false;
775
+ for (const item of s1) if (!s2.has(item)) return false;
776
+ return true;
777
+ },
778
778
  },
779
- )(
779
+ })(
780
780
  this._getLocationIdsInViewport,
781
781
  (locationIds: Set<string> | undefined) => {
782
782
  if (!locationIds) return undefined;
@@ -789,7 +789,7 @@ export default class FlowmapSelectors<
789
789
  (flows) => {
790
790
  if (!flows) return undefined;
791
791
  return flows.reduce(
792
- (m, flow) => m + this.accessors.getFlowMagnitude(flow),
792
+ (m: number, flow: F) => m + this.accessors.getFlowMagnitude(flow),
793
793
  0,
794
794
  );
795
795
  },
@@ -801,7 +801,7 @@ export default class FlowmapSelectors<
801
801
  this.getLocationFilterMode,
802
802
  (flows, selectedLocationSet, locationFilterMode) => {
803
803
  if (!flows) return undefined;
804
- const count = flows.reduce((m, flow) => {
804
+ const count = flows.reduce((m: number, flow: F | AggregateFlow) => {
805
805
  if (
806
806
  this.isFlowInSelection(flow, selectedLocationSet, locationFilterMode)
807
807
  ) {
@@ -847,12 +847,14 @@ export default class FlowmapSelectors<
847
847
  this.getSelectedLocationsSet,
848
848
  this.getLocationFilterMode,
849
849
  this.getMaxTopFlowsDisplayNum,
850
+ this.getFlowEndpointsInViewportMode,
850
851
  (
851
852
  flows,
852
853
  locationIdsInViewport,
853
854
  selectedLocationsSet,
854
855
  locationFilterMode,
855
856
  maxTopFlowsDisplayNum,
857
+ flowEndpointsInViewportMode,
856
858
  ) => {
857
859
  if (!flows || !locationIdsInViewport) return undefined;
858
860
  const picked: (F | AggregateFlow)[] = [];
@@ -860,10 +862,13 @@ export default class FlowmapSelectors<
860
862
  for (const flow of flows) {
861
863
  const origin = this.accessors.getFlowOriginId(flow);
862
864
  const dest = this.accessors.getFlowDestId(flow);
863
- if (
864
- locationIdsInViewport.has(origin) ||
865
- locationIdsInViewport.has(dest)
866
- ) {
865
+ const originInView = locationIdsInViewport.has(origin);
866
+ const destInView = locationIdsInViewport.has(dest);
867
+ const isInViewport =
868
+ flowEndpointsInViewportMode === 'both'
869
+ ? originInView && destInView
870
+ : originInView || destInView;
871
+ if (isInViewport) {
867
872
  if (
868
873
  this.isFlowInSelection(
869
874
  flow,
@@ -1066,11 +1071,14 @@ export default class FlowmapSelectors<
1066
1071
  getLocationsForFlowmapLayerById: Selector<
1067
1072
  L,
1068
1073
  F,
1069
- Map<string, L | ClusterNode> | undefined
1074
+ Map<string | number, L | ClusterNode> | undefined
1070
1075
  > = createSelector(this.getLocationsForFlowmapLayer, (locations) => {
1071
1076
  if (!locations) return undefined;
1072
1077
  return locations.reduce(
1073
- (m, d) => (m.set(this.accessors.getLocationId(d), d), m),
1078
+ (m: Map<string | number, L | ClusterNode>, d: L | ClusterNode) => (
1079
+ m.set(this.accessors.getLocationId(d), d),
1080
+ m
1081
+ ),
1074
1082
  new Map(),
1075
1083
  );
1076
1084
  });
@@ -1125,7 +1133,9 @@ export default class FlowmapSelectors<
1125
1133
  prepareLayersData(state: FlowmapState, props: FlowmapData<L, F>): LayersData {
1126
1134
  const locations = this.getLocationsForFlowmapLayer(state, props) || [];
1127
1135
  const flows = this.getFlowsForFlowmapLayer(state, props) || [];
1128
- const flowmapColors = this.getFlowmapColorsRGBA(state, props);
1136
+ const flowmapColors = (
1137
+ this.getFlowmapColorsRGBA as Selector<L, F, DiffColorsRGBA | ColorsRGBA>
1138
+ )(state, props);
1129
1139
  const locationsById = this.getLocationsForFlowmapLayerById(state, props);
1130
1140
  const locationIdsInViewport = this.getLocationIdsInViewport(state, props);
1131
1141
  const getInCircleSize = this.getInCircleSizeGetter(state, props);
@@ -1181,11 +1191,12 @@ export default class FlowmapSelectors<
1181
1191
  );
1182
1192
 
1183
1193
  // Using a generator here helps to avoid creating intermediary arrays
1184
- const circlePositions = Float32Array.from(
1194
+ const circlePositions = Float64Array.from(
1185
1195
  (function* () {
1186
1196
  for (const location of locations) {
1187
1197
  yield getLocationLon(location);
1188
1198
  yield getLocationLat(location);
1199
+ yield 0;
1189
1200
  }
1190
1201
  })(),
1191
1202
  );
@@ -1220,21 +1231,23 @@ export default class FlowmapSelectors<
1220
1231
  })(),
1221
1232
  );
1222
1233
 
1223
- const sourcePositions = Float32Array.from(
1234
+ const sourcePositions = Float64Array.from(
1224
1235
  (function* () {
1225
1236
  for (const flow of flows) {
1226
1237
  const loc = locationsById?.get(getFlowOriginId(flow));
1227
1238
  yield loc ? getLocationLon(loc) : 0;
1228
1239
  yield loc ? getLocationLat(loc) : 0;
1240
+ yield 0;
1229
1241
  }
1230
1242
  })(),
1231
1243
  );
1232
- const targetPositions = Float32Array.from(
1244
+ const targetPositions = Float64Array.from(
1233
1245
  (function* () {
1234
1246
  for (const flow of flows) {
1235
1247
  const loc = locationsById?.get(getFlowDestId(flow));
1236
1248
  yield loc ? getLocationLon(loc) : 0;
1237
1249
  yield loc ? getLocationLat(loc) : 0;
1250
+ yield 0;
1238
1251
  }
1239
1252
  })(),
1240
1253
  );
@@ -1280,7 +1293,7 @@ export default class FlowmapSelectors<
1280
1293
  circleAttributes: {
1281
1294
  length: locations.length,
1282
1295
  attributes: {
1283
- getPosition: {value: circlePositions, size: 2},
1296
+ getPosition: {value: circlePositions, size: 3},
1284
1297
  getColor: {value: circleColors, size: 4},
1285
1298
  getInRadius: {value: inCircleRadii, size: 1},
1286
1299
  getOutRadius: {value: outCircleRadii, size: 1},
@@ -1289,8 +1302,8 @@ export default class FlowmapSelectors<
1289
1302
  lineAttributes: {
1290
1303
  length: flows.length,
1291
1304
  attributes: {
1292
- getSourcePosition: {value: sourcePositions, size: 2},
1293
- getTargetPosition: {value: targetPositions, size: 2},
1305
+ getSourcePosition: {value: sourcePositions, size: 3},
1306
+ getTargetPosition: {value: targetPositions, size: 3},
1294
1307
  getThickness: {value: thicknesses, size: 1},
1295
1308
  getColor: {value: flowLineColors, size: 4},
1296
1309
  getEndpointOffsets: {value: endpointOffsets, size: 2},
@@ -1479,7 +1492,8 @@ export function getLocationCoordsByIndex(
1479
1492
  index: number,
1480
1493
  ): [number, number] {
1481
1494
  const {getPosition} = circleAttributes.attributes;
1482
- return [getPosition.value[index * 2], getPosition.value[index * 2 + 1]];
1495
+ const offset = index * getPosition.size;
1496
+ return [getPosition.value[offset], getPosition.value[offset + 1]];
1483
1497
  }
1484
1498
 
1485
1499
  export function getFlowLineAttributesByIndex(
@@ -1506,12 +1520,18 @@ export function getFlowLineAttributesByIndex(
1506
1520
  size: 2,
1507
1521
  },
1508
1522
  getSourcePosition: {
1509
- value: getSourcePosition.value.subarray(index * 2, (index + 1) * 2),
1510
- size: 2,
1523
+ value: getSourcePosition.value.subarray(
1524
+ index * getSourcePosition.size,
1525
+ (index + 1) * getSourcePosition.size,
1526
+ ),
1527
+ size: getSourcePosition.size,
1511
1528
  },
1512
1529
  getTargetPosition: {
1513
- value: getTargetPosition.value.subarray(index * 2, (index + 1) * 2),
1514
- size: 2,
1530
+ value: getTargetPosition.value.subarray(
1531
+ index * getTargetPosition.size,
1532
+ (index + 1) * getTargetPosition.size,
1533
+ ),
1534
+ size: getTargetPosition.size,
1515
1535
  },
1516
1536
  getThickness: {
1517
1537
  value: getThickness.value.subarray(index, index + 1),
@@ -6,6 +6,8 @@
6
6
 
7
7
  import {LocationFilterMode, ViewportProps} from './types';
8
8
 
9
+ export type FlowEndpointsInViewportMode = 'any' | 'both';
10
+
9
11
  export interface FilterState {
10
12
  selectedLocations?: (string | number)[];
11
13
  locationFilterMode?: LocationFilterMode;
@@ -26,8 +28,9 @@ export interface SettingsState {
26
28
  darkMode: boolean;
27
29
  fadeAmount: number;
28
30
  colorScheme: string | string[] | undefined;
29
- highlightColor: string;
31
+ highlightColor: string | number[];
30
32
  maxTopFlowsDisplayNum: number;
33
+ flowEndpointsInViewportMode: FlowEndpointsInViewportMode;
31
34
  }
32
35
 
33
36
  export interface FlowmapState {