text-to-map 1.1.42 → 1.1.43

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.
@@ -1,7 +1,10 @@
1
1
  import { downloadAndImportStreets } from "../open-data-sync/streets";
2
2
  import { defaultBinOptions } from "./constants";
3
+ // Parse command line arguments
4
+ const args = process.argv.slice(2);
5
+ const noCache = args.includes('--no-cache');
3
6
  console.time("downloadAndImportAllStreets");
4
- downloadAndImportStreets(defaultBinOptions)
7
+ downloadAndImportStreets(defaultBinOptions, noCache)
5
8
  .then(() => {
6
9
  console.timeEnd("downloadAndImportAllStreets");
7
10
  })
@@ -13,4 +16,4 @@ downloadAndImportStreets(defaultBinOptions)
13
16
  console.log(error);
14
17
  }
15
18
  });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vc3RyZWV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBQzVDLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDO0tBQ3hDLElBQUksQ0FBQyxHQUFHLEVBQUU7SUFDVCxPQUFPLENBQUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDakQsQ0FBQyxDQUFDO0tBQ0QsS0FBSyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7SUFDcEIsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNqQztTQUFNO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNwQjtBQUNILENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZG93bmxvYWRBbmRJbXBvcnRTdHJlZXRzIH0gZnJvbSBcIi4uL29wZW4tZGF0YS1zeW5jL3N0cmVldHNcIjtcclxuaW1wb3J0IHsgZGVmYXVsdEJpbk9wdGlvbnMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcclxuXHJcbmNvbnNvbGUudGltZShcImRvd25sb2FkQW5kSW1wb3J0QWxsU3RyZWV0c1wiKTtcclxuZG93bmxvYWRBbmRJbXBvcnRTdHJlZXRzKGRlZmF1bHRCaW5PcHRpb25zKVxyXG4gIC50aGVuKCgpID0+IHtcclxuICAgIGNvbnNvbGUudGltZUVuZChcImRvd25sb2FkQW5kSW1wb3J0QWxsU3RyZWV0c1wiKTtcclxuICB9KVxyXG4gIC5jYXRjaCgoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgaWYgKGVycm9yLmhhc093blByb3BlcnR5KFwic3RhY2tcIikpIHtcclxuICAgICAgY29uc29sZS5sb2coZXJyb3IsIGVycm9yLnN0YWNrKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgIH1cclxuICB9KTtcclxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vc3RyZWV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsK0JBQStCO0FBQy9CLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFNUMsT0FBTyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBQzVDLHdCQUF3QixDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQztLQUNqRCxJQUFJLENBQUMsR0FBRyxFQUFFO0lBQ1QsT0FBTyxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBQ2pELENBQUMsQ0FBQztLQUNELEtBQUssQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO0lBQ3BCLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDakM7U0FBTTtRQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDcEI7QUFDSCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRvd25sb2FkQW5kSW1wb3J0U3RyZWV0cyB9IGZyb20gXCIuLi9vcGVuLWRhdGEtc3luYy9zdHJlZXRzXCI7XHJcbmltcG9ydCB7IGRlZmF1bHRCaW5PcHRpb25zIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XHJcblxyXG4vLyBQYXJzZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzXHJcbmNvbnN0IGFyZ3MgPSBwcm9jZXNzLmFyZ3Yuc2xpY2UoMik7XHJcbmNvbnN0IG5vQ2FjaGUgPSBhcmdzLmluY2x1ZGVzKCctLW5vLWNhY2hlJyk7XHJcblxyXG5jb25zb2xlLnRpbWUoXCJkb3dubG9hZEFuZEltcG9ydEFsbFN0cmVldHNcIik7XHJcbmRvd25sb2FkQW5kSW1wb3J0U3RyZWV0cyhkZWZhdWx0QmluT3B0aW9ucywgbm9DYWNoZSlcclxuICAudGhlbigoKSA9PiB7XHJcbiAgICBjb25zb2xlLnRpbWVFbmQoXCJkb3dubG9hZEFuZEltcG9ydEFsbFN0cmVldHNcIik7XHJcbiAgfSlcclxuICAuY2F0Y2goKGVycm9yOiBhbnkpID0+IHtcclxuICAgIGlmIChlcnJvci5oYXNPd25Qcm9wZXJ0eShcInN0YWNrXCIpKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yLCBlcnJvci5zdGFjayk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICB9XHJcbiAgfSk7XHJcbiJdfQ==
@@ -3,3 +3,4 @@ export declare const setStreetAsSynced: (streetFeedUrl: string) => Promise<void>
3
3
  export declare const getAllSyncedStreets: () => Promise<Set<string>>;
4
4
  export declare const deleteStreets: (streetUrls: string[]) => Promise<void>;
5
5
  export declare const insertStreetsFromDbf: (data: DbfStreet[]) => Promise<number>;
6
+ export declare const clearStreetSyncTable: () => Promise<void>;
@@ -16,4 +16,7 @@ export const deleteStreets = async (streetUrls) => {
16
16
  export const insertStreetsFromDbf = async (data) => {
17
17
  return await insertMultipleRows(data.map((street) => [street.KOD, street.OBEC_KOD, street.NAZEV]), "street", ["code", "city_code", "name"]);
18
18
  };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0LXN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGIvc3RyZWV0LXN5bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixTQUFTLEVBQ1Qsa0JBQWtCLEVBQ25CLE1BQU0sTUFBTSxDQUFDO0FBR2QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxFQUNwQyxhQUFxQixFQUNOLEVBQUU7SUFDakIsTUFBTSxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7U0FDN0IsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDO1NBQ25DLFVBQVUsQ0FBQyxVQUFVLENBQUM7U0FDdEIsTUFBTSxFQUFFLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLElBQTBCLEVBQUU7SUFDbEUsT0FBTyxJQUFJLEdBQUcsQ0FDWixNQUFNLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztTQUM3QixNQUFNLENBQUMsVUFBVSxDQUFDO1NBQ2xCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQ25ELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLFVBQW9CLEVBQWlCLEVBQUU7SUFDekUsTUFBTSxzQkFBc0IsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3RFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEtBQUssRUFDdkMsSUFBaUIsRUFDQSxFQUFFO0lBQ25CLE9BQU8sTUFBTSxrQkFBa0IsQ0FDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ2pFLFFBQVEsRUFDUixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQzlCLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIGRlbGV0ZU11bHRpcGxlUm93c0tuZXgsXHJcbiAgZ2V0S25leERiLFxyXG4gIGluc2VydE11bHRpcGxlUm93c1xyXG59IGZyb20gXCIuL2RiXCI7XHJcbmltcG9ydCB7IERiZlN0cmVldCB9IGZyb20gXCIuL3R5cGVzXCI7XHJcblxyXG5leHBvcnQgY29uc3Qgc2V0U3RyZWV0QXNTeW5jZWQgPSBhc3luYyAoXHJcbiAgc3RyZWV0RmVlZFVybDogc3RyaW5nXHJcbik6IFByb21pc2U8dm9pZD4gPT4ge1xyXG4gIGF3YWl0IGdldEtuZXhEYigpKFwic3RyZWV0X3N5bmNcIilcclxuICAgIC5pbnNlcnQoeyBmZWVkX3VybDogc3RyZWV0RmVlZFVybCB9KVxyXG4gICAgLm9uQ29uZmxpY3QoXCJmZWVkX3VybFwiKVxyXG4gICAgLmlnbm9yZSgpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEFsbFN5bmNlZFN0cmVldHMgPSBhc3luYyAoKTogUHJvbWlzZTxTZXQ8c3RyaW5nPj4gPT4ge1xyXG4gIHJldHVybiBuZXcgU2V0PHN0cmluZz4oXHJcbiAgICBhd2FpdCBnZXRLbmV4RGIoKShcInN0cmVldF9zeW5jXCIpXHJcbiAgICAgIC5zZWxlY3QoXCJmZWVkX3VybFwiKVxyXG4gICAgICAudGhlbigocm93cykgPT4gcm93cy5tYXAoKHJvdykgPT4gcm93LmZlZWRfdXJsKSlcclxuICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGRlbGV0ZVN0cmVldHMgPSBhc3luYyAoc3RyZWV0VXJsczogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICBhd2FpdCBkZWxldGVNdWx0aXBsZVJvd3NLbmV4KHN0cmVldFVybHMsIFwic3RyZWV0X3N5bmNcIiwgXCJmZWVkX3VybFwiKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpbnNlcnRTdHJlZXRzRnJvbURiZiA9IGFzeW5jIChcclxuICBkYXRhOiBEYmZTdHJlZXRbXVxyXG4pOiBQcm9taXNlPG51bWJlcj4gPT4ge1xyXG4gIHJldHVybiBhd2FpdCBpbnNlcnRNdWx0aXBsZVJvd3MoXHJcbiAgICBkYXRhLm1hcCgoc3RyZWV0KSA9PiBbc3RyZWV0LktPRCwgc3RyZWV0Lk9CRUNfS09ELCBzdHJlZXQuTkFaRVZdKSxcclxuICAgIFwic3RyZWV0XCIsXHJcbiAgICBbXCJjb2RlXCIsIFwiY2l0eV9jb2RlXCIsIFwibmFtZVwiXVxyXG4gICk7XHJcbn07XHJcbiJdfQ==
19
+ export const clearStreetSyncTable = async () => {
20
+ await getKnexDb()("street_sync").del();
21
+ };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0LXN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGIvc3RyZWV0LXN5bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixTQUFTLEVBQ1Qsa0JBQWtCLEVBQ25CLE1BQU0sTUFBTSxDQUFDO0FBR2QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxFQUNwQyxhQUFxQixFQUNOLEVBQUU7SUFDakIsTUFBTSxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7U0FDN0IsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDO1NBQ25DLFVBQVUsQ0FBQyxVQUFVLENBQUM7U0FDdEIsTUFBTSxFQUFFLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLElBQTBCLEVBQUU7SUFDbEUsT0FBTyxJQUFJLEdBQUcsQ0FDWixNQUFNLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztTQUM3QixNQUFNLENBQUMsVUFBVSxDQUFDO1NBQ2xCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQ25ELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLFVBQW9CLEVBQWlCLEVBQUU7SUFDekUsTUFBTSxzQkFBc0IsQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3RFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEtBQUssRUFDdkMsSUFBaUIsRUFDQSxFQUFFO0lBQ25CLE9BQU8sTUFBTSxrQkFBa0IsQ0FDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ2pFLFFBQVEsRUFDUixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQzlCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLElBQW1CLEVBQUU7SUFDNUQsTUFBTSxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUN6QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIGRlbGV0ZU11bHRpcGxlUm93c0tuZXgsXHJcbiAgZ2V0S25leERiLFxyXG4gIGluc2VydE11bHRpcGxlUm93c1xyXG59IGZyb20gXCIuL2RiXCI7XHJcbmltcG9ydCB7IERiZlN0cmVldCB9IGZyb20gXCIuL3R5cGVzXCI7XHJcblxyXG5leHBvcnQgY29uc3Qgc2V0U3RyZWV0QXNTeW5jZWQgPSBhc3luYyAoXHJcbiAgc3RyZWV0RmVlZFVybDogc3RyaW5nXHJcbik6IFByb21pc2U8dm9pZD4gPT4ge1xyXG4gIGF3YWl0IGdldEtuZXhEYigpKFwic3RyZWV0X3N5bmNcIilcclxuICAgIC5pbnNlcnQoeyBmZWVkX3VybDogc3RyZWV0RmVlZFVybCB9KVxyXG4gICAgLm9uQ29uZmxpY3QoXCJmZWVkX3VybFwiKVxyXG4gICAgLmlnbm9yZSgpO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldEFsbFN5bmNlZFN0cmVldHMgPSBhc3luYyAoKTogUHJvbWlzZTxTZXQ8c3RyaW5nPj4gPT4ge1xyXG4gIHJldHVybiBuZXcgU2V0PHN0cmluZz4oXHJcbiAgICBhd2FpdCBnZXRLbmV4RGIoKShcInN0cmVldF9zeW5jXCIpXHJcbiAgICAgIC5zZWxlY3QoXCJmZWVkX3VybFwiKVxyXG4gICAgICAudGhlbigocm93cykgPT4gcm93cy5tYXAoKHJvdykgPT4gcm93LmZlZWRfdXJsKSlcclxuICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGRlbGV0ZVN0cmVldHMgPSBhc3luYyAoc3RyZWV0VXJsczogc3RyaW5nW10pOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICBhd2FpdCBkZWxldGVNdWx0aXBsZVJvd3NLbmV4KHN0cmVldFVybHMsIFwic3RyZWV0X3N5bmNcIiwgXCJmZWVkX3VybFwiKTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpbnNlcnRTdHJlZXRzRnJvbURiZiA9IGFzeW5jIChcclxuICBkYXRhOiBEYmZTdHJlZXRbXVxyXG4pOiBQcm9taXNlPG51bWJlcj4gPT4ge1xyXG4gIHJldHVybiBhd2FpdCBpbnNlcnRNdWx0aXBsZVJvd3MoXHJcbiAgICBkYXRhLm1hcCgoc3RyZWV0KSA9PiBbc3RyZWV0LktPRCwgc3RyZWV0Lk9CRUNfS09ELCBzdHJlZXQuTkFaRVZdKSxcclxuICAgIFwic3RyZWV0XCIsXHJcbiAgICBbXCJjb2RlXCIsIFwiY2l0eV9jb2RlXCIsIFwibmFtZVwiXVxyXG4gICk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY2xlYXJTdHJlZXRTeW5jVGFibGUgPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgYXdhaXQgZ2V0S25leERiKCkoXCJzdHJlZXRfc3luY1wiKS5kZWwoKTtcclxufTtcclxuIl19
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ import { downloadAndImportAddressPoints } from "./open-data-sync/address-points"
3
3
  import { importCities } from "./open-data-sync/cities";
4
4
  import { downloadAndImportRegions } from "./open-data-sync/regions";
5
5
  import { downloadAndImportSchools } from "./open-data-sync/schools";
6
+ import { downloadAndImportStreets } from "./open-data-sync/streets";
6
7
  import { municipalitiesToPolygons } from "./street-markdown/polygons";
7
8
  import { OpenDataSyncOptionsPartial } from "./utils/helpers";
8
9
  export * from "./street-markdown/smd";
@@ -19,4 +20,4 @@ export * from "./street-markdown/types";
19
20
  * ```
20
21
  */
21
22
  export declare function downloadAndImportEverything(options?: OpenDataSyncOptionsPartial, syncStreets?: boolean): Promise<void>;
22
- export { clearDb, downloadAndImportAddressPoints, downloadAndImportRegions, downloadAndImportSchools, importCities, municipalitiesToPolygons, initDb, };
23
+ export { clearDb, downloadAndImportAddressPoints, downloadAndImportRegions, downloadAndImportSchools, downloadAndImportStreets, importCities, municipalitiesToPolygons, initDb, };
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import { downloadAndImportAddressPoints } from "./open-data-sync/address-points"
3
3
  import { importCities } from "./open-data-sync/cities";
4
4
  import { downloadAndImportRegions } from "./open-data-sync/regions";
5
5
  import { downloadAndImportSchools } from "./open-data-sync/schools";
6
- // import { downloadAndImportStreets } from "./open-data-sync/streets";
6
+ import { downloadAndImportStreets } from "./open-data-sync/streets";
7
7
  import { municipalitiesToPolygons } from "./street-markdown/polygons";
8
8
  export * from "./street-markdown/smd";
9
9
  export * from "./street-markdown/types";
@@ -25,10 +25,8 @@ export async function downloadAndImportEverything(options = {}, syncStreets = tr
25
25
  await downloadAndImportRegions(options);
26
26
  await importCities(options);
27
27
  if (syncStreets) {
28
- // await downloadAndImportStreets(options);
28
+ await downloadAndImportStreets(options);
29
29
  }
30
30
  }
31
- export { clearDb, downloadAndImportAddressPoints, downloadAndImportRegions, downloadAndImportSchools,
32
- // downloadAndImportStreets,
33
- importCities, municipalitiesToPolygons, initDb, };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLHVFQUF1RTtBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUd0RSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFFeEM7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsMkJBQTJCLENBQy9DLFVBQXNDLEVBQUUsRUFDeEMsY0FBdUIsSUFBSTtJQUUzQixNQUFNLE1BQU0sRUFBRSxDQUFDO0lBQ2YsTUFBTSw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxNQUFNLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsTUFBTSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsSUFBSSxXQUFXLEVBQUU7UUFDZiwyQ0FBMkM7S0FDNUM7QUFDSCxDQUFDO0FBRUQsT0FBTyxFQUNMLE9BQU8sRUFDUCw4QkFBOEIsRUFDOUIsd0JBQXdCLEVBQ3hCLHdCQUF3QjtBQUN4Qiw0QkFBNEI7QUFDNUIsWUFBWSxFQUNaLHdCQUF3QixFQUN4QixNQUFNLEdBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsZWFyRGIsIGluaXREYiB9IGZyb20gXCIuL2RiL2RiXCI7XHJcbmltcG9ydCB7IGRvd25sb2FkQW5kSW1wb3J0QWRkcmVzc1BvaW50cyB9IGZyb20gXCIuL29wZW4tZGF0YS1zeW5jL2FkZHJlc3MtcG9pbnRzXCI7XHJcbmltcG9ydCB7IGltcG9ydENpdGllcyB9IGZyb20gXCIuL29wZW4tZGF0YS1zeW5jL2NpdGllc1wiO1xyXG5pbXBvcnQgeyBkb3dubG9hZEFuZEltcG9ydFJlZ2lvbnMgfSBmcm9tIFwiLi9vcGVuLWRhdGEtc3luYy9yZWdpb25zXCI7XHJcbmltcG9ydCB7IGRvd25sb2FkQW5kSW1wb3J0U2Nob29scyB9IGZyb20gXCIuL29wZW4tZGF0YS1zeW5jL3NjaG9vbHNcIjtcclxuLy8gaW1wb3J0IHsgZG93bmxvYWRBbmRJbXBvcnRTdHJlZXRzIH0gZnJvbSBcIi4vb3Blbi1kYXRhLXN5bmMvc3RyZWV0c1wiO1xyXG5pbXBvcnQgeyBtdW5pY2lwYWxpdGllc1RvUG9seWdvbnMgfSBmcm9tIFwiLi9zdHJlZXQtbWFya2Rvd24vcG9seWdvbnNcIjtcclxuaW1wb3J0IHsgT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwgfSBmcm9tIFwiLi91dGlscy9oZWxwZXJzXCI7XHJcblxyXG5leHBvcnQgKiBmcm9tIFwiLi9zdHJlZXQtbWFya2Rvd24vc21kXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3N0cmVldC1tYXJrZG93bi90eXBlc1wiO1xyXG5cclxuLyoqXHJcbiAqIERvd25sb2FkIGFuZCBpbXBvcnQgYWxsIG9wZW4gZGF0YSB0byBTUUxpdGUgREIuIFRoZSBEQiBmaWxlIHdpbGwgYmUgbG9jYXRlZFxyXG4gKiBpbiB0aGUgYGRhdGFEaXJgIGZvbGRlci5cclxuICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHN5bmNcclxuICogQHBhcmFtIHN5bmNTdHJlZXRzIFN0cmVldHMgc3luYyB0YWtlcyBhcm91bmQgMSBob3VyLCBzbyBpdCBtaWdodCBiZSBza2lwcGVkLlxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGltcG9ydCB7IGRvd25sb2FkQW5kSW1wb3J0RXZlcnl0aGluZyB9IGZyb20gXCJ0ZXh0LXRvLW1hcFwiO1xyXG4gKlxyXG4gKiBhd2FpdCBkb3dubG9hZEFuZEltcG9ydEV2ZXJ5dGhpbmcoeyB0bXBEaXI6IFwiLi90bXBcIiwgZGF0YURpcjogXCIuL2RhdGFcIiB9KTtcclxuICogYGBgXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG93bmxvYWRBbmRJbXBvcnRFdmVyeXRoaW5nKFxyXG4gIG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnNQYXJ0aWFsID0ge30sXHJcbiAgc3luY1N0cmVldHM6IGJvb2xlYW4gPSB0cnVlXHJcbikge1xyXG4gIGF3YWl0IGluaXREYigpO1xyXG4gIGF3YWl0IGRvd25sb2FkQW5kSW1wb3J0QWRkcmVzc1BvaW50cyhvcHRpb25zKTtcclxuICBhd2FpdCBkb3dubG9hZEFuZEltcG9ydFNjaG9vbHMob3B0aW9ucyk7XHJcbiAgYXdhaXQgZG93bmxvYWRBbmRJbXBvcnRSZWdpb25zKG9wdGlvbnMpO1xyXG4gIGF3YWl0IGltcG9ydENpdGllcyhvcHRpb25zKTtcclxuICBpZiAoc3luY1N0cmVldHMpIHtcclxuICAgIC8vIGF3YWl0IGRvd25sb2FkQW5kSW1wb3J0U3RyZWV0cyhvcHRpb25zKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB7XHJcbiAgY2xlYXJEYixcclxuICBkb3dubG9hZEFuZEltcG9ydEFkZHJlc3NQb2ludHMsXHJcbiAgZG93bmxvYWRBbmRJbXBvcnRSZWdpb25zLFxyXG4gIGRvd25sb2FkQW5kSW1wb3J0U2Nob29scyxcclxuICAvLyBkb3dubG9hZEFuZEltcG9ydFN0cmVldHMsXHJcbiAgaW1wb3J0Q2l0aWVzLFxyXG4gIG11bmljaXBhbGl0aWVzVG9Qb2x5Z29ucyxcclxuICBpbml0RGIsXHJcbn07XHJcbiJdfQ==
31
+ export { clearDb, downloadAndImportAddressPoints, downloadAndImportRegions, downloadAndImportSchools, downloadAndImportStreets, importCities, municipalitiesToPolygons, initDb, };
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3RFLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4Qzs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSwyQkFBMkIsQ0FDL0MsVUFBc0MsRUFBRSxFQUN4QyxjQUF1QixJQUFJO0lBRTNCLE1BQU0sTUFBTSxFQUFFLENBQUM7SUFDZixNQUFNLDhCQUE4QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLE1BQU0sd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsTUFBTSx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxNQUFNLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixJQUFJLFdBQVcsRUFBRTtRQUNmLE1BQU0sd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDekM7QUFDSCxDQUFDO0FBRUQsT0FBTyxFQUNMLE9BQU8sRUFDUCw4QkFBOEIsRUFDOUIsd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsWUFBWSxFQUNaLHdCQUF3QixFQUN4QixNQUFNLEdBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNsZWFyRGIsIGluaXREYiB9IGZyb20gXCIuL2RiL2RiXCI7XHJcbmltcG9ydCB7IGRvd25sb2FkQW5kSW1wb3J0QWRkcmVzc1BvaW50cyB9IGZyb20gXCIuL29wZW4tZGF0YS1zeW5jL2FkZHJlc3MtcG9pbnRzXCI7XHJcbmltcG9ydCB7IGltcG9ydENpdGllcyB9IGZyb20gXCIuL29wZW4tZGF0YS1zeW5jL2NpdGllc1wiO1xyXG5pbXBvcnQgeyBkb3dubG9hZEFuZEltcG9ydFJlZ2lvbnMgfSBmcm9tIFwiLi9vcGVuLWRhdGEtc3luYy9yZWdpb25zXCI7XHJcbmltcG9ydCB7IGRvd25sb2FkQW5kSW1wb3J0U2Nob29scyB9IGZyb20gXCIuL29wZW4tZGF0YS1zeW5jL3NjaG9vbHNcIjtcclxuaW1wb3J0IHsgZG93bmxvYWRBbmRJbXBvcnRTdHJlZXRzIH0gZnJvbSBcIi4vb3Blbi1kYXRhLXN5bmMvc3RyZWV0c1wiO1xyXG5pbXBvcnQgeyBtdW5pY2lwYWxpdGllc1RvUG9seWdvbnMgfSBmcm9tIFwiLi9zdHJlZXQtbWFya2Rvd24vcG9seWdvbnNcIjtcclxuaW1wb3J0IHsgT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwgfSBmcm9tIFwiLi91dGlscy9oZWxwZXJzXCI7XHJcblxyXG5leHBvcnQgKiBmcm9tIFwiLi9zdHJlZXQtbWFya2Rvd24vc21kXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3N0cmVldC1tYXJrZG93bi90eXBlc1wiO1xyXG5cclxuLyoqXHJcbiAqIERvd25sb2FkIGFuZCBpbXBvcnQgYWxsIG9wZW4gZGF0YSB0byBTUUxpdGUgREIuIFRoZSBEQiBmaWxlIHdpbGwgYmUgbG9jYXRlZFxyXG4gKiBpbiB0aGUgYGRhdGFEaXJgIGZvbGRlci5cclxuICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHN5bmNcclxuICogQHBhcmFtIHN5bmNTdHJlZXRzIFN0cmVldHMgc3luYyB0YWtlcyBhcm91bmQgMSBob3VyLCBzbyBpdCBtaWdodCBiZSBza2lwcGVkLlxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGltcG9ydCB7IGRvd25sb2FkQW5kSW1wb3J0RXZlcnl0aGluZyB9IGZyb20gXCJ0ZXh0LXRvLW1hcFwiO1xyXG4gKlxyXG4gKiBhd2FpdCBkb3dubG9hZEFuZEltcG9ydEV2ZXJ5dGhpbmcoeyB0bXBEaXI6IFwiLi90bXBcIiwgZGF0YURpcjogXCIuL2RhdGFcIiB9KTtcclxuICogYGBgXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG93bmxvYWRBbmRJbXBvcnRFdmVyeXRoaW5nKFxyXG4gIG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnNQYXJ0aWFsID0ge30sXHJcbiAgc3luY1N0cmVldHM6IGJvb2xlYW4gPSB0cnVlXHJcbikge1xyXG4gIGF3YWl0IGluaXREYigpO1xyXG4gIGF3YWl0IGRvd25sb2FkQW5kSW1wb3J0QWRkcmVzc1BvaW50cyhvcHRpb25zKTtcclxuICBhd2FpdCBkb3dubG9hZEFuZEltcG9ydFNjaG9vbHMob3B0aW9ucyk7XHJcbiAgYXdhaXQgZG93bmxvYWRBbmRJbXBvcnRSZWdpb25zKG9wdGlvbnMpO1xyXG4gIGF3YWl0IGltcG9ydENpdGllcyhvcHRpb25zKTtcclxuICBpZiAoc3luY1N0cmVldHMpIHtcclxuICAgIGF3YWl0IGRvd25sb2FkQW5kSW1wb3J0U3RyZWV0cyhvcHRpb25zKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB7XHJcbiAgY2xlYXJEYixcclxuICBkb3dubG9hZEFuZEltcG9ydEFkZHJlc3NQb2ludHMsXHJcbiAgZG93bmxvYWRBbmRJbXBvcnRSZWdpb25zLFxyXG4gIGRvd25sb2FkQW5kSW1wb3J0U2Nob29scyxcclxuICBkb3dubG9hZEFuZEltcG9ydFN0cmVldHMsXHJcbiAgaW1wb3J0Q2l0aWVzLFxyXG4gIG11bmljaXBhbGl0aWVzVG9Qb2x5Z29ucyxcclxuICBpbml0RGIsXHJcbn07XHJcbiJdfQ==
@@ -61,8 +61,8 @@ export const downloadAndImportAddressPoints = async (options = {}) => {
61
61
  const completeOptions = prepareOptions(options);
62
62
  const datasetFeedLink = await getLatestUrlFromAtomFeed(completeOptions.addressPointsAtomUrl);
63
63
  const zipUrl = await getLatestUrlFromAtomFeed(datasetFeedLink);
64
- // await downloadAndUnzip(zipUrl, completeOptions);
64
+ await downloadAndUnzip(zipUrl, completeOptions);
65
65
  await importDataToDb(completeOptions);
66
66
  });
67
67
  };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1wb2ludHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3Blbi1kYXRhLXN5bmMvYWRkcmVzcy1wb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDOUUsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDakMsT0FBTyxFQUNMLG1CQUFtQixFQUNuQiw2QkFBNkIsR0FDOUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBR0wsY0FBYyxHQUNmLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUM7QUFFM0IsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLEVBQzVCLEdBQVcsRUFDWCxPQUE0QixFQUNiLEVBQUU7SUFDakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFM0UsT0FBTyxDQUFDLEdBQUcsQ0FBQywwREFBMEQsQ0FBQyxDQUFDO0lB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QUMsTUFBTSxDQUFDLENBQUM7SUFFNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUNqRSxDQUFDLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHLENBQUMsT0FBNEIsRUFBRSxFQUFFLENBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLEtBQUssRUFDakQsVUFBc0MsRUFBRSxFQUN6QixFQUFFO0lBQ2pCLE1BQU0sV0FBVyxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsRUFBRSxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3ZELE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxNQUFNLGVBQWUsR0FBRyxNQUFNLHdCQUF3QixDQUNwRCxlQUFlLENBQUMsb0JBQW9CLENBQ3JDLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9ELG1EQUFtRDtRQUNuRCxNQUFNLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN4QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBZG1aaXAgZnJvbSBcImFkbS16aXBcIjtcclxuaW1wb3J0IHsgcGFyc2UgfSBmcm9tIFwiY3N2LXBhcnNlXCI7XHJcbmltcG9ydCB7IGNyZWF0ZVJlYWRTdHJlYW0sIGNyZWF0ZVdyaXRlU3RyZWFtLCByZWFkZGlyU3luYywgcm1TeW5jIH0gZnJvbSBcImZzXCI7XHJcbmltcG9ydCBpY29udiBmcm9tIFwiaWNvbnYtbGl0ZVwiO1xyXG5pbXBvcnQgZmV0Y2ggZnJvbSBcIm5vZGUtZmV0Y2hcIjtcclxuaW1wb3J0IHsgam9pbiB9IGZyb20gXCJwYXRoXCI7XHJcbmltcG9ydCB7IHBpcGVsaW5lIH0gZnJvbSBcInN0cmVhbS9wcm9taXNlc1wiO1xyXG5pbXBvcnQgY2h1bmsgZnJvbSBcImxvZGFzaC9jaHVua1wiO1xyXG5pbXBvcnQge1xyXG4gIGNvbW1pdEFkZHJlc3NQb2ludHMsXHJcbiAgcmVtb3ZlRGVwcmVjYXRlZEFkZHJlc3NQb2ludHMsXHJcbn0gZnJvbSBcIi4uL2RiL2FkZHJlc3MtcG9pbnRzXCI7XHJcbmltcG9ydCB7IFN5bmNQYXJ0IH0gZnJvbSBcIi4uL2RiL3R5cGVzXCI7XHJcbmltcG9ydCB7IGdldExhdGVzdFVybEZyb21BdG9tRmVlZCB9IGZyb20gXCIuLi91dGlscy9hdG9tXCI7XHJcbmltcG9ydCB7XHJcbiAgT3BlbkRhdGFTeW5jT3B0aW9ucyxcclxuICBPcGVuRGF0YVN5bmNPcHRpb25zUGFydGlhbCxcclxuICBwcmVwYXJlT3B0aW9ucyxcclxufSBmcm9tIFwiLi4vdXRpbHMvaGVscGVyc1wiO1xyXG5pbXBvcnQgeyBydW5TeW5jUGFydCB9IGZyb20gXCIuL2NvbW1vblwiO1xyXG5cclxuY29uc3QgbWF4QnVmZmVyU2l6ZSA9IDEwMDA7XHJcblxyXG5jb25zdCBkb3dubG9hZEFuZFVuemlwID0gYXN5bmMgKFxyXG4gIHVybDogc3RyaW5nLFxyXG4gIG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnNcclxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgY29uc3QgemlwRmlsZVBhdGggPSBqb2luKG9wdGlvbnMudG1wRGlyLCBvcHRpb25zLmFkZHJlc3NQb2ludHNaaXBGaWxlTmFtZSk7XHJcblxyXG4gIGNvbnNvbGUubG9nKFwiRG93bmxvYWRpbmcgYSBsYXJnZSBaSVAgZmlsZSB3aXRoIFJVSUFOIGRhdGEgKH42NSBNQikuLi5cIik7XHJcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpO1xyXG4gIGlmIChyZXNwb25zZS5zdGF0dXMgIT09IDIwMCkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICBgVGhlIFpJUCBmaWxlIGNvdWxkIG5vdCBiZSBkb3dubG9hZGVkLiBIVFRQIENvZGU6ICR7cmVzcG9uc2Uuc3RhdHVzfWBcclxuICAgICk7XHJcbiAgfVxyXG4gIGF3YWl0IHBpcGVsaW5lKHJlc3BvbnNlLmJvZHksIGNyZWF0ZVdyaXRlU3RyZWFtKHppcEZpbGVQYXRoKSk7XHJcblxyXG4gIGNvbnNvbGUubG9nKFwiRmluaXNoZWQgZG93bmxvYWRpbmcuXCIpO1xyXG4gIGNvbnN0IHppcCA9IG5ldyBBZG1aaXAoemlwRmlsZVBhdGgpO1xyXG5cclxuICBjb25zb2xlLmxvZyhgU3RhcnRpbmcgdG8gdW56aXAgQ1NWIGZpbGVzIHRvICcke29wdGlvbnMudG1wRGlyfSdgKTtcclxuICB6aXAuZXh0cmFjdEFsbFRvKG9wdGlvbnMudG1wRGlyLCB0cnVlKTtcclxuICBjb25zb2xlLmxvZyhcIlVuemlwIGNvbXBsZXRlZC5cIik7XHJcblxyXG4gIHJtU3luYyh6aXBGaWxlUGF0aCk7XHJcbiAgY29uc29sZS5sb2coXCJSZW1vdmVkIHRoZSBaSVAgZmlsZS5cIik7XHJcbn07XHJcblxyXG5jb25zdCBpbXBvcnREYXRhVG9EYiA9IGFzeW5jIChvcHRpb25zOiBPcGVuRGF0YVN5bmNPcHRpb25zKSA9PiB7XHJcbiAgY29uc3QgZXh0cmFjdGlvbkZvbGRlciA9IGdldEV4dHJhY3Rpb25Gb2xkZXIob3B0aW9ucyk7XHJcblxyXG4gIGNvbnN0IGZpbGVzID0gcmVhZGRpclN5bmMoZXh0cmFjdGlvbkZvbGRlcik7XHJcblxyXG4gIGxldCB0b3RhbCA9IDA7XHJcbiAgbGV0IG5leHQgPSAwO1xyXG5cclxuICBjb25zb2xlLmxvZyhcclxuICAgIFwiSW5pdGlhdGluZyBpbXBvcnQgb2YgUlVJQU4gZGF0YSB0byBzZWFyY2ggREIgKH4zIG1pbGxpb24gcm93cyB0byBiZSBpbXBvcnRlZCkuXCJcclxuICApO1xyXG5cclxuICBjb25zdCBhbGxJZHMgPSBuZXcgU2V0PG51bWJlcj4oKTtcclxuXHJcbiAgZm9yIChjb25zdCBbaSwgZmlsZV0gb2YgZmlsZXMuZW50cmllcygpKSB7XHJcbiAgICBjb25zdCByb3dzOiBzdHJpbmdbXVtdID0gW107XHJcbiAgICBjb25zdCBwYXJzZVN0cmVhbSA9IHBhcnNlKHsgZGVsaW1pdGVyOiBcIjtcIiwgZnJvbUxpbmU6IDIgfSkub24oXHJcbiAgICAgIFwiZGF0YVwiLFxyXG4gICAgICBhc3luYyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHJvd3MucHVzaChkYXRhKTtcclxuICAgICAgICBhbGxJZHMuYWRkKHBhcnNlSW50KGRhdGFbMF0pKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICBhd2FpdCBwaXBlbGluZShcclxuICAgICAgY3JlYXRlUmVhZFN0cmVhbShqb2luKGV4dHJhY3Rpb25Gb2xkZXIsIGZpbGUpKSxcclxuICAgICAgaWNvbnYuZGVjb2RlU3RyZWFtKFwid2luMTI1MFwiKSxcclxuICAgICAgcGFyc2VTdHJlYW1cclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgY2h1bmtzID0gY2h1bmsocm93cywgbWF4QnVmZmVyU2l6ZSk7XHJcblxyXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXHJcbiAgICAgIGNodW5rcy5tYXAoYXN5bmMgKGNodW5rKSA9PiB7XHJcbiAgICAgICAgdG90YWwgKz0gYXdhaXQgY29tbWl0QWRkcmVzc1BvaW50cyhjaHVuayk7XHJcblxyXG4gICAgICAgIGlmICh0b3RhbCAtIG5leHQgPj0gMTAwMDAwKSB7XHJcbiAgICAgICAgICBuZXh0ICs9IDEwMDAwMDtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGBUb3RhbCBpbXBvcnRlZCByb3dzOiAke25leHR9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zb2xlLmxvZyhgJHtpICsgMX0vJHtmaWxlcy5sZW5ndGh9IGZpbGVzIGltcG9ydGVkLmApO1xyXG4gIH1cclxuXHJcbiAgYXdhaXQgcmVtb3ZlRGVwcmVjYXRlZEFkZHJlc3NQb2ludHMoYWxsSWRzKTtcclxuXHJcbiAgY29uc29sZS5sb2coYEltcG9ydCBjb21wbGV0ZWQuIFRvdGFsIGltcG9ydGVkIHJvd3M6ICR7dG90YWx9YCk7XHJcbn07XHJcblxyXG5jb25zdCBnZXRFeHRyYWN0aW9uRm9sZGVyID0gKG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnMpID0+XHJcbiAgam9pbihvcHRpb25zLnRtcERpciwgb3B0aW9ucy5hZGRyZXNzUG9pbnRzQ3N2Rm9sZGVyTmFtZSk7XHJcblxyXG5leHBvcnQgY29uc3QgZG93bmxvYWRBbmRJbXBvcnRBZGRyZXNzUG9pbnRzID0gYXN5bmMgKFxyXG4gIG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnNQYXJ0aWFsID0ge31cclxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgYXdhaXQgcnVuU3luY1BhcnQoU3luY1BhcnQuQWRkcmVzc1BvaW50cywgW10sIGFzeW5jICgpID0+IHtcclxuICAgIGNvbnN0IGNvbXBsZXRlT3B0aW9ucyA9IHByZXBhcmVPcHRpb25zKG9wdGlvbnMpO1xyXG4gICAgY29uc3QgZGF0YXNldEZlZWRMaW5rID0gYXdhaXQgZ2V0TGF0ZXN0VXJsRnJvbUF0b21GZWVkKFxyXG4gICAgICBjb21wbGV0ZU9wdGlvbnMuYWRkcmVzc1BvaW50c0F0b21VcmxcclxuICAgICk7XHJcbiAgICBjb25zdCB6aXBVcmwgPSBhd2FpdCBnZXRMYXRlc3RVcmxGcm9tQXRvbUZlZWQoZGF0YXNldEZlZWRMaW5rKTtcclxuICAgIC8vIGF3YWl0IGRvd25sb2FkQW5kVW56aXAoemlwVXJsLCBjb21wbGV0ZU9wdGlvbnMpO1xyXG4gICAgYXdhaXQgaW1wb3J0RGF0YVRvRGIoY29tcGxldGVPcHRpb25zKTtcclxuICB9KTtcclxufTtcclxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1wb2ludHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3Blbi1kYXRhLXN5bmMvYWRkcmVzcy1wb2ludHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDOUUsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDakMsT0FBTyxFQUNMLG1CQUFtQixFQUNuQiw2QkFBNkIsR0FDOUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBR0wsY0FBYyxHQUNmLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUM7QUFFM0IsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLEVBQzVCLEdBQVcsRUFDWCxPQUE0QixFQUNiLEVBQUU7SUFDakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFM0UsT0FBTyxDQUFDLEdBQUcsQ0FBQywwREFBMEQsQ0FBQyxDQUFDO0lB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QUMsTUFBTSxDQUFDLENBQUM7SUFFNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUNqRSxDQUFDLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHLENBQUMsT0FBNEIsRUFBRSxFQUFFLENBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLEtBQUssRUFDakQsVUFBc0MsRUFBRSxFQUN6QixFQUFFO0lBQ2pCLE1BQU0sV0FBVyxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsRUFBRSxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3ZELE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxNQUFNLGVBQWUsR0FBRyxNQUFNLHdCQUF3QixDQUNwRCxlQUFlLENBQUMsb0JBQW9CLENBQ3JDLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sZ0JBQWdCLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFkbVppcCBmcm9tIFwiYWRtLXppcFwiO1xyXG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gXCJjc3YtcGFyc2VcIjtcclxuaW1wb3J0IHsgY3JlYXRlUmVhZFN0cmVhbSwgY3JlYXRlV3JpdGVTdHJlYW0sIHJlYWRkaXJTeW5jLCBybVN5bmMgfSBmcm9tIFwiZnNcIjtcclxuaW1wb3J0IGljb252IGZyb20gXCJpY29udi1saXRlXCI7XHJcbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xyXG5pbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGhcIjtcclxuaW1wb3J0IHsgcGlwZWxpbmUgfSBmcm9tIFwic3RyZWFtL3Byb21pc2VzXCI7XHJcbmltcG9ydCBjaHVuayBmcm9tIFwibG9kYXNoL2NodW5rXCI7XHJcbmltcG9ydCB7XHJcbiAgY29tbWl0QWRkcmVzc1BvaW50cyxcclxuICByZW1vdmVEZXByZWNhdGVkQWRkcmVzc1BvaW50cyxcclxufSBmcm9tIFwiLi4vZGIvYWRkcmVzcy1wb2ludHNcIjtcclxuaW1wb3J0IHsgU3luY1BhcnQgfSBmcm9tIFwiLi4vZGIvdHlwZXNcIjtcclxuaW1wb3J0IHsgZ2V0TGF0ZXN0VXJsRnJvbUF0b21GZWVkIH0gZnJvbSBcIi4uL3V0aWxzL2F0b21cIjtcclxuaW1wb3J0IHtcclxuICBPcGVuRGF0YVN5bmNPcHRpb25zLFxyXG4gIE9wZW5EYXRhU3luY09wdGlvbnNQYXJ0aWFsLFxyXG4gIHByZXBhcmVPcHRpb25zLFxyXG59IGZyb20gXCIuLi91dGlscy9oZWxwZXJzXCI7XHJcbmltcG9ydCB7IHJ1blN5bmNQYXJ0IH0gZnJvbSBcIi4vY29tbW9uXCI7XHJcblxyXG5jb25zdCBtYXhCdWZmZXJTaXplID0gMTAwMDtcclxuXHJcbmNvbnN0IGRvd25sb2FkQW5kVW56aXAgPSBhc3luYyAoXHJcbiAgdXJsOiBzdHJpbmcsXHJcbiAgb3B0aW9uczogT3BlbkRhdGFTeW5jT3B0aW9uc1xyXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICBjb25zdCB6aXBGaWxlUGF0aCA9IGpvaW4ob3B0aW9ucy50bXBEaXIsIG9wdGlvbnMuYWRkcmVzc1BvaW50c1ppcEZpbGVOYW1lKTtcclxuXHJcbiAgY29uc29sZS5sb2coXCJEb3dubG9hZGluZyBhIGxhcmdlIFpJUCBmaWxlIHdpdGggUlVJQU4gZGF0YSAofjY1IE1CKS4uLlwiKTtcclxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCk7XHJcbiAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPT0gMjAwKSB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgIGBUaGUgWklQIGZpbGUgY291bGQgbm90IGJlIGRvd25sb2FkZWQuIEhUVFAgQ29kZTogJHtyZXNwb25zZS5zdGF0dXN9YFxyXG4gICAgKTtcclxuICB9XHJcbiAgYXdhaXQgcGlwZWxpbmUocmVzcG9uc2UuYm9keSwgY3JlYXRlV3JpdGVTdHJlYW0oemlwRmlsZVBhdGgpKTtcclxuXHJcbiAgY29uc29sZS5sb2coXCJGaW5pc2hlZCBkb3dubG9hZGluZy5cIik7XHJcbiAgY29uc3QgemlwID0gbmV3IEFkbVppcCh6aXBGaWxlUGF0aCk7XHJcblxyXG4gIGNvbnNvbGUubG9nKGBTdGFydGluZyB0byB1bnppcCBDU1YgZmlsZXMgdG8gJyR7b3B0aW9ucy50bXBEaXJ9J2ApO1xyXG4gIHppcC5leHRyYWN0QWxsVG8ob3B0aW9ucy50bXBEaXIsIHRydWUpO1xyXG4gIGNvbnNvbGUubG9nKFwiVW56aXAgY29tcGxldGVkLlwiKTtcclxuXHJcbiAgcm1TeW5jKHppcEZpbGVQYXRoKTtcclxuICBjb25zb2xlLmxvZyhcIlJlbW92ZWQgdGhlIFpJUCBmaWxlLlwiKTtcclxufTtcclxuXHJcbmNvbnN0IGltcG9ydERhdGFUb0RiID0gYXN5bmMgKG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnMpID0+IHtcclxuICBjb25zdCBleHRyYWN0aW9uRm9sZGVyID0gZ2V0RXh0cmFjdGlvbkZvbGRlcihvcHRpb25zKTtcclxuXHJcbiAgY29uc3QgZmlsZXMgPSByZWFkZGlyU3luYyhleHRyYWN0aW9uRm9sZGVyKTtcclxuXHJcbiAgbGV0IHRvdGFsID0gMDtcclxuICBsZXQgbmV4dCA9IDA7XHJcblxyXG4gIGNvbnNvbGUubG9nKFxyXG4gICAgXCJJbml0aWF0aW5nIGltcG9ydCBvZiBSVUlBTiBkYXRhIHRvIHNlYXJjaCBEQiAofjMgbWlsbGlvbiByb3dzIHRvIGJlIGltcG9ydGVkKS5cIlxyXG4gICk7XHJcblxyXG4gIGNvbnN0IGFsbElkcyA9IG5ldyBTZXQ8bnVtYmVyPigpO1xyXG5cclxuICBmb3IgKGNvbnN0IFtpLCBmaWxlXSBvZiBmaWxlcy5lbnRyaWVzKCkpIHtcclxuICAgIGNvbnN0IHJvd3M6IHN0cmluZ1tdW10gPSBbXTtcclxuICAgIGNvbnN0IHBhcnNlU3RyZWFtID0gcGFyc2UoeyBkZWxpbWl0ZXI6IFwiO1wiLCBmcm9tTGluZTogMiB9KS5vbihcclxuICAgICAgXCJkYXRhXCIsXHJcbiAgICAgIGFzeW5jIChkYXRhKSA9PiB7XHJcbiAgICAgICAgcm93cy5wdXNoKGRhdGEpO1xyXG4gICAgICAgIGFsbElkcy5hZGQocGFyc2VJbnQoZGF0YVswXSkpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIGF3YWl0IHBpcGVsaW5lKFxyXG4gICAgICBjcmVhdGVSZWFkU3RyZWFtKGpvaW4oZXh0cmFjdGlvbkZvbGRlciwgZmlsZSkpLFxyXG4gICAgICBpY29udi5kZWNvZGVTdHJlYW0oXCJ3aW4xMjUwXCIpLFxyXG4gICAgICBwYXJzZVN0cmVhbVxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBjaHVua3MgPSBjaHVuayhyb3dzLCBtYXhCdWZmZXJTaXplKTtcclxuXHJcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgICAgY2h1bmtzLm1hcChhc3luYyAoY2h1bmspID0+IHtcclxuICAgICAgICB0b3RhbCArPSBhd2FpdCBjb21taXRBZGRyZXNzUG9pbnRzKGNodW5rKTtcclxuXHJcbiAgICAgICAgaWYgKHRvdGFsIC0gbmV4dCA+PSAxMDAwMDApIHtcclxuICAgICAgICAgIG5leHQgKz0gMTAwMDAwO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coYFRvdGFsIGltcG9ydGVkIHJvd3M6ICR7bmV4dH1gKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKGAke2kgKyAxfS8ke2ZpbGVzLmxlbmd0aH0gZmlsZXMgaW1wb3J0ZWQuYCk7XHJcbiAgfVxyXG5cclxuICBhd2FpdCByZW1vdmVEZXByZWNhdGVkQWRkcmVzc1BvaW50cyhhbGxJZHMpO1xyXG5cclxuICBjb25zb2xlLmxvZyhgSW1wb3J0IGNvbXBsZXRlZC4gVG90YWwgaW1wb3J0ZWQgcm93czogJHt0b3RhbH1gKTtcclxufTtcclxuXHJcbmNvbnN0IGdldEV4dHJhY3Rpb25Gb2xkZXIgPSAob3B0aW9uczogT3BlbkRhdGFTeW5jT3B0aW9ucykgPT5cclxuICBqb2luKG9wdGlvbnMudG1wRGlyLCBvcHRpb25zLmFkZHJlc3NQb2ludHNDc3ZGb2xkZXJOYW1lKTtcclxuXHJcbmV4cG9ydCBjb25zdCBkb3dubG9hZEFuZEltcG9ydEFkZHJlc3NQb2ludHMgPSBhc3luYyAoXHJcbiAgb3B0aW9uczogT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwgPSB7fVxyXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcclxuICBhd2FpdCBydW5TeW5jUGFydChTeW5jUGFydC5BZGRyZXNzUG9pbnRzLCBbXSwgYXN5bmMgKCkgPT4ge1xyXG4gICAgY29uc3QgY29tcGxldGVPcHRpb25zID0gcHJlcGFyZU9wdGlvbnMob3B0aW9ucyk7XHJcbiAgICBjb25zdCBkYXRhc2V0RmVlZExpbmsgPSBhd2FpdCBnZXRMYXRlc3RVcmxGcm9tQXRvbUZlZWQoXHJcbiAgICAgIGNvbXBsZXRlT3B0aW9ucy5hZGRyZXNzUG9pbnRzQXRvbVVybFxyXG4gICAgKTtcclxuICAgIGNvbnN0IHppcFVybCA9IGF3YWl0IGdldExhdGVzdFVybEZyb21BdG9tRmVlZChkYXRhc2V0RmVlZExpbmspO1xyXG4gICAgYXdhaXQgZG93bmxvYWRBbmRVbnppcCh6aXBVcmwsIGNvbXBsZXRlT3B0aW9ucyk7XHJcbiAgICBhd2FpdCBpbXBvcnREYXRhVG9EYihjb21wbGV0ZU9wdGlvbnMpO1xyXG4gIH0pO1xyXG59O1xyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  import { OpenDataSyncOptionsPartial } from "../utils/helpers";
2
- export declare const downloadAndImportStreets: (options?: OpenDataSyncOptionsPartial) => Promise<void>;
2
+ export declare const downloadAndImportStreets: (options?: OpenDataSyncOptionsPartial, noCache?: boolean) => Promise<void>;
@@ -7,7 +7,7 @@ import ShpToGeoJson from "shp-to-geojson";
7
7
  import { pipeline } from "stream/promises";
8
8
  import { coordEach } from "@turf/meta";
9
9
  import { setCityPolygonGeojson } from "../db/cities";
10
- import { deleteStreets, getAllSyncedStreets, insertStreetsFromDbf, setStreetAsSynced, } from "../db/street-sync";
10
+ import { clearStreetSyncTable, deleteStreets, getAllSyncedStreets, insertStreetsFromDbf, setStreetAsSynced, } from "../db/street-sync";
11
11
  import { SyncPart } from "../db/types";
12
12
  import { getAllUrlsFromAtomFeed, getLatestUrlFromAtomFeed, } from "../utils/atom";
13
13
  import { prepareOptions, } from "../utils/helpers";
@@ -70,11 +70,16 @@ const importDataToDb = async ({ streetData, cityCode, polygonData, districtsPoly
70
70
  await setCityPolygonGeojson(cityCode, polygonData, districtsPolygonData);
71
71
  };
72
72
  const attempts = 5;
73
- export const downloadAndImportStreets = async (options = {}) => {
73
+ export const downloadAndImportStreets = async (options = {}, noCache = false) => {
74
74
  await runSyncPart(SyncPart.Streets, [SyncPart.AddressPoints], async () => {
75
75
  console.log("Starting to download and import streets. This takes up to 1 hour.");
76
76
  const completeOptions = prepareOptions(options);
77
77
  prepareFolders(completeOptions);
78
+ // Clear street sync table if no-cache flag is set
79
+ if (noCache) {
80
+ console.log("Clearing street sync cache...");
81
+ await clearStreetSyncTable();
82
+ }
78
83
  const allDatasetFeedLinks = await getAllUrlsFromAtomFeed(completeOptions.streetsAtomUrl);
79
84
  console.log(`Total of ${allDatasetFeedLinks.length} links to ZIP files.`);
80
85
  const syncedStreetLinks = await getAllSyncedStreets();
@@ -124,4 +129,4 @@ export const downloadAndImportStreets = async (options = {}) => {
124
129
  const wait = async (ms) => {
125
130
  await new Promise((resolve) => setTimeout(resolve, ms));
126
131
  };
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVuLWRhdGEtc3luYy9zdHJlZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUU3QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDdEUsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQztBQUNoQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsaUJBQWlCLEdBQ2xCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFhLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHdCQUF3QixHQUN6QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsY0FBYyxHQUNmLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxVQUFVLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQTRCLEVBQUUsRUFBRTtJQUN0RCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxV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QUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDMUQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFkbVppcCBmcm9tIFwiYWRtLXppcFwiO1xyXG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tIFwiYnVmZmVyXCI7XHJcbmltcG9ydCB7IGNyZWF0ZVdyaXRlU3RyZWFtLCBleGlzdHNTeW5jLCBta2RpclN5bmMsIHJtU3luYyB9IGZyb20gXCJmc1wiO1xyXG5pbXBvcnQgZmV0Y2ggZnJvbSBcIm5vZGUtZmV0Y2hcIjtcclxuaW1wb3J0IHBhcnNlREJGIGZyb20gXCJwYXJzZWRiZlwiO1xyXG5pbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGhcIjtcclxuaW1wb3J0IFNocFRvR2VvSnNvbiBmcm9tIFwic2hwLXRvLWdlb2pzb25cIjtcclxuaW1wb3J0IHsgcGlwZWxpbmUgfSBmcm9tIFwic3RyZWFtL3Byb21pc2VzXCI7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlQ29sbGVjdGlvbiB9IGZyb20gXCJAdHVyZi9oZWxwZXJzXCI7XHJcbmltcG9ydCB7IGNvb3JkRWFjaCB9IGZyb20gXCJAdHVyZi9tZXRhXCI7XHJcbmltcG9ydCB7IHNldENpdHlQb2x5Z29uR2VvanNvbiB9IGZyb20gXCIuLi9kYi9jaXRpZXNcIjtcclxuaW1wb3J0IHtcclxuICBkZWxldGVTdHJlZXRzLFxyXG4gIGdldEFsbFN5bmNlZFN0cmVldHMsXHJcbiAgaW5zZXJ0U3RyZWV0c0Zyb21EYmYsXHJcbiAgc2V0U3RyZWV0QXNTeW5jZWQsXHJcbn0gZnJvbSBcIi4uL2RiL3N0cmVldC1zeW5jXCI7XHJcbmltcG9ydCB7IERiZlN0cmVldCwgU3luY1BhcnQgfSBmcm9tIFwiLi4vZGIvdHlwZXNcIjtcclxuaW1wb3J0IHtcclxuICBnZXRBbGxVcmxzRnJvbUF0b21GZWVkLFxyXG4gIGdldExhdGVzdFVybEZyb21BdG9tRmVlZCxcclxufSBmcm9tIFwiLi4vdXRpbHMvYXRvbVwiO1xyXG5pbXBvcnQge1xyXG4gIE9wZW5EYXRhU3luY09wdGlvbnMsXHJcbiAgT3BlbkRhdGFTeW5jT3B0aW9uc1BhcnRpYWwsXHJcbiAgcHJlcGFyZU9wdGlvbnMsXHJcbn0gZnJvbSBcIi4uL3V0aWxzL2hlbHBlcnNcIjtcclxuaW1wb3J0IGp0c2syd2dzODQgZnJvbSBcIi4uL3V0aWxzL2p0c2syd2dzODRcIjtcclxuaW1wb3J0IHsgcnVuU3luY1BhcnQgfSBmcm9tIFwiLi9jb21tb25cIjtcclxuXHJcbmNvbnN0IHByZXBhcmVGb2xkZXJzID0gKG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnMpID0+IHtcclxuICBjb25zdCB0ZW1wRm9sZGVyID0gZ2V0VGVtcEZvbGRlcihvcHRpb25zKTtcclxuICBpZiAoIWV4aXN0c1N5bmModGVtcEZvbGRlcikpIHtcclxuICAgIG1rZGlyU3luYyh0ZW1wRm9sZGVyKTtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCBnZXRUZW1wRm9sZGVyID0gKG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnMpID0+IHtcclxuICByZXR1cm4gam9pbihvcHRpb25zLnRtcERpciwgb3B0aW9ucy5zdHJlZXRaaXBGb2xkZXJOYW1lKTtcclxufTtcclxuXHJcbmNvbnN0IGRvd25sb2FkWmlwQW5kUGFyc2VGaWxlcyA9IGFzeW5jIChcclxuICB1cmw6IHN0cmluZyxcclxuICBpbmRleDogbnVtYmVyLFxyXG4gIG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnNcclxuKTogUHJvbWlzZTx7XHJcbiAgc3RyZWV0RGF0YTogRGJmU3RyZWV0W107XHJcbiAgcG9seWdvbkRhdGE6IEZlYXR1cmVDb2xsZWN0aW9uO1xyXG4gIGRpc3RyaWN0c1BvbHlnb25EYXRhPzogRmVhdHVyZUNvbGxlY3Rpb247XHJcbiAgY2l0eUNvZGU6IHN0cmluZztcclxufT4gPT4ge1xyXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKTtcclxuICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9PSAyMDApIHtcclxuICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgYFRoZSBaSVAgZmlsZSBmcm9tICcke3VybH0nIGNvdWxkIG5vdCBiZSBkb3dubG9hZGVkLiBIVFRQIENvZGU6ICR7cmVzcG9uc2Uuc3RhdHVzfWBcclxuICAgICk7XHJcbiAgfVxyXG4gIGNvbnN0IHppcEZpbGVQYXRoID0gam9pbihnZXRUZW1wRm9sZGVyKG9wdGlvbnMpLCBgc3RyZWV0JHtpbmRleH0uemlwYCk7XHJcbiAgYXdhaXQgcGlwZWxpbmUocmVzcG9uc2UuYm9keSwgY3JlYXRlV3JpdGVTdHJlYW0oemlwRmlsZVBhdGgpKTtcclxuXHJcbiAgY29uc3QgemlwID0gbmV3IEFkbVppcCh6aXBGaWxlUGF0aCk7XHJcbiAgY29uc3QgZm9sZGVyTmFtZSA9IHppcC5nZXRFbnRyaWVzKClbMF0uZW50cnlOYW1lO1xyXG4gIGNvbnN0IGNpdHlDb2RlID0gZm9sZGVyTmFtZS5zdWJzdHJpbmcoMCwgNik7XHJcbiAgY29uc3QgZGJmRW50cnlOYW1lID0gYCR7Zm9sZGVyTmFtZX0ke29wdGlvbnMuc3RyZWV0RGJmRmlsZU5hbWV9YDtcclxuICBjb25zdCBzdHJlZXREYXRhID0gcGFyc2VEQkYoemlwLmdldEVudHJ5KGRiZkVudHJ5TmFtZSkuZ2V0RGF0YSgpLCBcIndpbjEyNTBcIik7XHJcblxyXG4gIGNvbnN0IHNocEVudHJ5TmFtZSA9IGAke2ZvbGRlck5hbWV9JHtvcHRpb25zLnBvbHlnb25TaHBGaWxlTmFtZX1gO1xyXG4gIGNvbnN0IHBvbHlnb25EYXRhID0gY29udmVydFNocFRvR2VvSnNvbih6aXAuZ2V0RW50cnkoc2hwRW50cnlOYW1lKS5nZXREYXRhKCkpO1xyXG5cclxuICBjb25zdCBkaXN0cmljdFNocEVudHJ5TmFtZSA9IGAke2ZvbGRlck5hbWV9JHtvcHRpb25zLmRpc3RyaWN0UG9seWdvblNocEZpbGVOYW1lfWA7XHJcbiAgY29uc3QgZGlzdHJpY3RTaHBFbnRyeSA9IHppcC5nZXRFbnRyeShkaXN0cmljdFNocEVudHJ5TmFtZSk7XHJcblxyXG4gIGxldCBkaXN0cmljdHNQb2x5Z29uRGF0YTogRmVhdHVyZUNvbGxlY3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgaWYgKGRpc3RyaWN0U2hwRW50cnkgIT09IG51bGwpIHtcclxuICAgIGNvbnN0IGRpc3RyaWN0RGJmRW50cnlOYW1lID0gYCR7Zm9sZGVyTmFtZX0ke29wdGlvbnMuZGlzdHJpY3RQb2x5Z29uRGJmRmlsZU5hbWV9YDtcclxuICAgIGRpc3RyaWN0c1BvbHlnb25EYXRhID0gY29udmVydFNocFRvR2VvSnNvbihcclxuICAgICAgZGlzdHJpY3RTaHBFbnRyeS5nZXREYXRhKCksXHJcbiAgICAgIHppcC5nZXRFbnRyeShkaXN0cmljdERiZkVudHJ5TmFtZSkuZ2V0RGF0YSgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcm1TeW5jKHppcEZpbGVQYXRoKTtcclxuICByZXR1cm4geyBzdHJlZXREYXRhLCBwb2x5Z29uRGF0YSwgZGlzdHJpY3RzUG9seWdvbkRhdGEsIGNpdHlDb2RlIH07XHJcbn07XHJcblxyXG5jb25zdCBjb252ZXJ0U2hwVG9HZW9Kc29uID0gKFxyXG4gIHNocEJ1ZmZlcjogQnVmZmVyLFxyXG4gIGRiZkJ1ZmZlcj86IEJ1ZmZlclxyXG4pOiBGZWF0dXJlQ29sbGVjdGlvbiA9PiB7XHJcbiAgY29uc3Qgc2hwID0gbmV3IFNocFRvR2VvSnNvbih7XHJcbiAgICBhcnJheWJ1ZmZlcnM6IHtcclxuICAgICAgc2hwQnVmZmVyLFxyXG4gICAgICAuLi4oZGJmQnVmZmVyID8geyBkYmZCdWZmZXIgfSA6IHt9KSxcclxuICAgIH0sXHJcbiAgfSk7XHJcbiAgY29uc3QgZ2VvSnNvbiA9IHNocC5nZXRHZW9Kc29uKCk7XHJcbiAgZGVsZXRlIGdlb0pzb24uYmJveDtcclxuXHJcbiAgY29vcmRFYWNoKGdlb0pzb24sIChjdXJyZW50Q29vcmQpID0+IHtcclxuICAgIGNvbnN0IFt5LCB4XSA9IGN1cnJlbnRDb29yZDtcclxuICAgIGNvbnN0IHsgbGF0LCBsb24gfSA9IGp0c2syd2dzODQoLXgsIC15KTtcclxuICAgIGN1cnJlbnRDb29yZFswXSA9IGxvbjtcclxuICAgIGN1cnJlbnRDb29yZFsxXSA9IGxhdDtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGdlb0pzb247XHJcbn07XHJcblxyXG5jb25zdCBpbXBvcnREYXRhVG9EYiA9IGFzeW5jICh7XHJcbiAgc3RyZWV0RGF0YSxcclxuICBjaXR5Q29kZSxcclxuICBwb2x5Z29uRGF0YSxcclxuICBkaXN0cmljdHNQb2x5Z29uRGF0YSxcclxufToge1xyXG4gIHN0cmVldERhdGE6IERiZlN0cmVldFtdO1xyXG4gIGNpdHlDb2RlOiBzdHJpbmc7XHJcbiAgcG9seWdvbkRhdGE6IEZlYXR1cmVDb2xsZWN0aW9uO1xyXG4gIGRpc3RyaWN0c1BvbHlnb25EYXRhPzogRmVhdHVyZUNvbGxlY3Rpb247XHJcbn0pID0+IHtcclxuICBpZiAoc3RyZWV0RGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICBhd2FpdCBpbnNlcnRTdHJlZXRzRnJvbURiZihzdHJlZXREYXRhKTtcclxuICB9XHJcbiAgYXdhaXQgc2V0Q2l0eVBvbHlnb25HZW9qc29uKGNpdHlDb2RlLCBwb2x5Z29uRGF0YSwgZGlzdHJpY3RzUG9seWdvbkRhdGEpO1xyXG59O1xyXG5cclxuY29uc3QgYXR0ZW1wdHMgPSA1O1xyXG5cclxuZXhwb3J0IGNvbnN0IGRvd25sb2FkQW5kSW1wb3J0U3RyZWV0cyA9IGFzeW5jIChcclxuICBvcHRpb25zOiBPcGVuRGF0YVN5bmNPcHRpb25zUGFydGlhbCA9IHt9XHJcbik6IFByb21pc2U8dm9pZD4gPT4ge1xyXG4gIGF3YWl0IHJ1blN5bmNQYXJ0KFN5bmNQYXJ0LlN0cmVldHMsIFtTeW5jUGFydC5BZGRyZXNzUG9pbnRzXSwgYXN5bmMgKCkgPT4ge1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgIFwiU3RhcnRpbmcgdG8gZG93bmxvYWQgYW5kIGltcG9ydCBzdHJlZXRzLiBUaGlzIHRha2VzIHVwIHRvIDEgaG91ci5cIlxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBjb21wbGV0ZU9wdGlvbnMgPSBwcmVwYXJlT3B0aW9ucyhvcHRpb25zKTtcclxuICAgIHByZXBhcmVGb2xkZXJzKGNvbXBsZXRlT3B0aW9ucyk7XHJcblxyXG4gICAgY29uc3QgYWxsRGF0YXNldEZlZWRMaW5rcyA9IGF3YWl0IGdldEFsbFVybHNGcm9tQXRvbUZlZWQoXHJcbiAgICAgIGNvbXBsZXRlT3B0aW9ucy5zdHJlZXRzQXRvbVVybFxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zb2xlLmxvZyhgVG90YWwgb2YgJHthbGxEYXRhc2V0RmVlZExpbmtzLmxlbmd0aH0gbGlua3MgdG8gWklQIGZpbGVzLmApO1xyXG5cclxuICAgIGNvbnN0IHN5bmNlZFN0cmVldExpbmtzID0gYXdhaXQgZ2V0QWxsU3luY2VkU3RyZWV0cygpO1xyXG5cclxuICAgIGNvbnN0IHRvRGVsZXRlOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgLy8gcmVtb3ZlIGFsbCBkZXByZWNhdGVkIGxpbmtzIChub3QgaW4gdGhlIG5ldyBsaXN0KVxyXG4gICAgc3luY2VkU3RyZWV0TGlua3MuZm9yRWFjaCgobGluaykgPT4ge1xyXG4gICAgICBpZiAoIWFsbERhdGFzZXRGZWVkTGlua3MuaW5jbHVkZXMobGluaykpIHtcclxuICAgICAgICB0b0RlbGV0ZS5wdXNoKGxpbmspO1xyXG4gICAgICAgIGRlbGV0ZSBzeW5jZWRTdHJlZXRMaW5rc1tsaW5rXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgYXdhaXQgZGVsZXRlU3RyZWV0cyh0b0RlbGV0ZSk7XHJcblxyXG4gICAgbGV0IGRvbmUgPSBzeW5jZWRTdHJlZXRMaW5rcy5zaXplO1xyXG4gICAgY29uc29sZS5sb2coYFRvdGFsIG9mICR7ZG9uZX0gbGlua3MgdG8gWklQIGZpbGVzIGFscmVhZHkgc3RvcmVkLmApO1xyXG5cclxuICAgIC8vIGdldCBhbGwgbGlua3Mgbm90IHlldCBzdG9yZWRcclxuICAgIGNvbnN0IG5ld0xpbmtzID0gYWxsRGF0YXNldEZlZWRMaW5rcy5maWx0ZXIoXHJcbiAgICAgIChsaW5rKSA9PiAhc3luY2VkU3RyZWV0TGlua3MuaGFzKGxpbmspXHJcbiAgICApO1xyXG5cclxuICAgIGxldCBkZWxheSA9IDA7XHJcbiAgICBjb25zb2xlLmxvZyhgTG9hZGluZyAke25ld0xpbmtzLmxlbmd0aH0gbmV3IGxpbmtzIHRvIFpJUCBmaWxlcy5gKTtcclxuICAgIGZvciAoY29uc3QgbGluayBvZiBuZXdMaW5rcykge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGF0dGVtcHRzOyBpKyspIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY29uc3QgemlwTGluayA9IGF3YWl0IGdldExhdGVzdFVybEZyb21BdG9tRmVlZChsaW5rKTtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBkb3dubG9hZFppcEFuZFBhcnNlRmlsZXMoXHJcbiAgICAgICAgICAgIHppcExpbmssXHJcbiAgICAgICAgICAgIGRvbmUsXHJcbiAgICAgICAgICAgIGNvbXBsZXRlT3B0aW9uc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGF3YWl0IGltcG9ydERhdGFUb0RiKGRhdGEpO1xyXG4gICAgICAgICAgYXdhaXQgc2V0U3RyZWV0QXNTeW5jZWQobGluayk7XHJcblxyXG4gICAgICAgICAgZG9uZSsrO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRlZCBsaW5rczogJHtkb25lfS8ke2FsbERhdGFzZXRGZWVkTGlua3MubGVuZ3RofWApO1xyXG4gICAgICAgICAgYXdhaXQgd2FpdChkZWxheSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgaWYgKGkgPCBhdHRlbXB0cyAtIDEpIHtcclxuICAgICAgICAgICAgZGVsYXkgKz0gMTAwOyAvLyBpZiBlcnJvciBvY2N1cmVkLCBpdCBpcyBsaWtlbHkgdG8gcmVwZWF0IHNvIHdlIHdhaXQgYSBiaXQgbG9uZ2VyXHJcbiAgICAgICAgICAgIGNvbnN0IHdhaXRUaW1lID0gKGkgKyAxKSAqIDM7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICAgICAgYEVycm9yIGNvbm5lY3RpbmcgdG8gQ1VaSyBzZXJ2ZXJzLCByZXRyeWluZyBpbiAke3dhaXRUaW1lfSBzZWNvbmRzLi4uYFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICAgIGF3YWl0IHdhaXQod2FpdFRpbWUgKiAxMDAwKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59O1xyXG5cclxuY29uc3Qgd2FpdCA9IGFzeW5jIChtczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpKTtcclxufTtcclxuIl19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcGVuLWRhdGEtc3luYy9zdHJlZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUU3QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDdEUsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sUUFBUSxNQUFNLFVBQVUsQ0FBQztBQUNoQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGlCQUFpQixHQUNsQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBYSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix3QkFBd0IsR0FDekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGNBQWMsR0FDZixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sVUFBVSxNQUFNLHFCQUFxQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUE0QixFQUFFLEVBQUU7SUFDdEQsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDM0IsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ3ZCO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUE0QixFQUFFLEVBQUU7SUFDckQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUMzRCxDQUFDLENBQUM7QUFFRixNQUFNLHdCQUF3QixHQUFHLEtBQUssRUFDcEMsR0FBVyxFQUNYLEtBQWEsRUFDYixPQUE0QixFQU0zQixFQUFFO0lBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtRQUMzQixNQUFNLElBQUksS0FBSyxDQUNiLHNCQUFzQixHQUFHLHlDQUF5QyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQ3BGLENBQUM7S0FDSDtJQUNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxLQUFLLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUU5RCxNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwQyxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2pELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sWUFBWSxHQUFHLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ2pFLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FDekIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFDcEMsU0FBUyxDQUNWLENBQUM7SUFFRixNQUFNLFlBQVksR0FBRyxHQUFHLFVBQVUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNsRSxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFOUUsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLFVBQVUsR0FBRyxPQUFPLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNsRixNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUU1RCxJQUFJLG9CQUFvQixHQUFzQixTQUFTLENBQUM7SUFDeEQsSUFBSSxnQkFBZ0IsS0FBSyxJQUFJLEVBQUU7UUFDN0IsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLFVBQVUsR0FBRyxPQUFPLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsRixvQkFBb0IsR0FBRyxtQkFBbUIsQ0FDeEMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEVBQzFCLEdBQUcsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FDN0MsQ0FBQztLQUNIO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BCLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQ3JFLENBQUMsQ0FBQztBQUVGLE1BQU0sbUJBQW1CLEdBQUcsQ0FDMUIsU0FBaUIsRUFDakIsU0FBa0IsRUFDQyxFQUFFO0lBQ3JCLE1BQU0sR0FBRyxHQUFHLElBQUksWUFBWSxDQUFDO1FBQzNCLFlBQVksRUFBRTtZQUNaLFNBQVM7WUFDVCxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDcEM7S0FDRixDQUFDLENBQUM7SUFDSCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDakMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBRXBCLFNBQVMsQ0FBQyxPQUFjLEVBQUUsQ0FBQyxZQUFZLEVBQUUsRUFBRTtRQUN6QyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQztRQUM1QixNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDdEIsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUN4QixDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sT0FBNEIsQ0FBQztBQUN0QyxDQUFDLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQUUsRUFDNUIsVUFBVSxFQUNWLFFBQVEsRUFDUixXQUFXLEVBQ1gsb0JBQW9CLEdBTXJCLEVBQUUsRUFBRTtJQUNILElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDekIsTUFBTSxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUN4QztJQUNELE1BQU0scUJBQXFCLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQztBQUVGLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQztBQUVuQixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxLQUFLLEVBQzNDLFVBQXNDLEVBQUUsRUFDeEMsVUFBbUIsS0FBSyxFQUNULEVBQUU7SUFDakIsTUFBTSxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN2RSxPQUFPLENBQUMsR0FBRyxDQUNULG1FQUFtRSxDQUNwRSxDQUFDO1FBRUYsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVoQyxrREFBa0Q7UUFDbEQsSUFBSSxPQUFPLEVBQUU7WUFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUM7WUFDN0MsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO1NBQzlCO1FBRUQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLHNCQUFzQixDQUN0RCxlQUFlLENBQUMsY0FBYyxDQUMvQixDQUFDO1FBRUYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLG1CQUFtQixDQUFDLE1BQU0sc0JBQXNCLENBQUMsQ0FBQztRQUUxRSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sbUJBQW1CLEVBQUUsQ0FBQztRQUV0RCxNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUM7UUFDOUIsb0RBQW9EO1FBQ3BELGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3ZDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDaEM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTlCLElBQUksSUFBSSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxxQ0FBcUMsQ0FBQyxDQUFDO1FBRW5FLCtCQUErQjtRQUMvQixNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQ3pDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FDdkMsQ0FBQztRQUVGLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxRQUFRLENBQUMsTUFBTSwwQkFBMEIsQ0FBQyxDQUFDO1FBQ2xFLEtBQUssTUFBTSxJQUFJLElBQUksUUFBUSxFQUFFO1lBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pDLElBQUk7b0JBQ0YsTUFBTSxPQUFPLEdBQUcsTUFBTSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDckQsTUFBTSxJQUFJLEdBQUcsTUFBTSx3QkFBd0IsQ0FDekMsT0FBTyxFQUNQLElBQUksRUFDSixlQUFlLENBQ2hCLENBQUM7b0JBQ0YsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzNCLE1BQU0saUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRTlCLElBQUksRUFBRSxDQUFDO29CQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLElBQUksSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUNuRSxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDbEIsTUFBTTtpQkFDUDtnQkFBQyxPQUFPLEtBQUssRUFBRTtvQkFDZCxJQUFJLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxFQUFFO3dCQUNwQixLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsbUVBQW1FO3dCQUNqRixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBQzdCLE9BQU8sQ0FBQyxLQUFLLENBQ1gsaURBQWlELFFBQVEsYUFBYSxDQUN2RSxDQUFDO3dCQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ25CLE1BQU0sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQztxQkFDN0I7eUJBQU07d0JBQ0wsTUFBTSxLQUFLLENBQUM7cUJBQ2I7aUJBQ0Y7YUFDRjtTQUNGO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBVSxFQUFpQixFQUFFO0lBQy9DLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQWRtWmlwIGZyb20gXCJhZG0temlwXCI7XHJcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gXCJidWZmZXJcIjtcclxuaW1wb3J0IHsgY3JlYXRlV3JpdGVTdHJlYW0sIGV4aXN0c1N5bmMsIG1rZGlyU3luYywgcm1TeW5jIH0gZnJvbSBcImZzXCI7XHJcbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xyXG5pbXBvcnQgcGFyc2VEQkYgZnJvbSBcInBhcnNlZGJmXCI7XHJcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwicGF0aFwiO1xyXG5pbXBvcnQgU2hwVG9HZW9Kc29uIGZyb20gXCJzaHAtdG8tZ2VvanNvblwiO1xyXG5pbXBvcnQgeyBwaXBlbGluZSB9IGZyb20gXCJzdHJlYW0vcHJvbWlzZXNcIjtcclxuXHJcbmltcG9ydCB7IEZlYXR1cmVDb2xsZWN0aW9uIH0gZnJvbSBcIkB0dXJmL2hlbHBlcnNcIjtcclxuaW1wb3J0IHsgY29vcmRFYWNoIH0gZnJvbSBcIkB0dXJmL21ldGFcIjtcclxuaW1wb3J0IHsgc2V0Q2l0eVBvbHlnb25HZW9qc29uIH0gZnJvbSBcIi4uL2RiL2NpdGllc1wiO1xyXG5pbXBvcnQge1xyXG4gIGNsZWFyU3RyZWV0U3luY1RhYmxlLFxyXG4gIGRlbGV0ZVN0cmVldHMsXHJcbiAgZ2V0QWxsU3luY2VkU3RyZWV0cyxcclxuICBpbnNlcnRTdHJlZXRzRnJvbURiZixcclxuICBzZXRTdHJlZXRBc1N5bmNlZCxcclxufSBmcm9tIFwiLi4vZGIvc3RyZWV0LXN5bmNcIjtcclxuaW1wb3J0IHsgRGJmU3RyZWV0LCBTeW5jUGFydCB9IGZyb20gXCIuLi9kYi90eXBlc1wiO1xyXG5pbXBvcnQge1xyXG4gIGdldEFsbFVybHNGcm9tQXRvbUZlZWQsXHJcbiAgZ2V0TGF0ZXN0VXJsRnJvbUF0b21GZWVkLFxyXG59IGZyb20gXCIuLi91dGlscy9hdG9tXCI7XHJcbmltcG9ydCB7XHJcbiAgT3BlbkRhdGFTeW5jT3B0aW9ucyxcclxuICBPcGVuRGF0YVN5bmNPcHRpb25zUGFydGlhbCxcclxuICBwcmVwYXJlT3B0aW9ucyxcclxufSBmcm9tIFwiLi4vdXRpbHMvaGVscGVyc1wiO1xyXG5pbXBvcnQganRzazJ3Z3M4NCBmcm9tIFwiLi4vdXRpbHMvanRzazJ3Z3M4NFwiO1xyXG5pbXBvcnQgeyBydW5TeW5jUGFydCB9IGZyb20gXCIuL2NvbW1vblwiO1xyXG5cclxuY29uc3QgcHJlcGFyZUZvbGRlcnMgPSAob3B0aW9uczogT3BlbkRhdGFTeW5jT3B0aW9ucykgPT4ge1xyXG4gIGNvbnN0IHRlbXBGb2xkZXIgPSBnZXRUZW1wRm9sZGVyKG9wdGlvbnMpO1xyXG4gIGlmICghZXhpc3RzU3luYyh0ZW1wRm9sZGVyKSkge1xyXG4gICAgbWtkaXJTeW5jKHRlbXBGb2xkZXIpO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IGdldFRlbXBGb2xkZXIgPSAob3B0aW9uczogT3BlbkRhdGFTeW5jT3B0aW9ucykgPT4ge1xyXG4gIHJldHVybiBqb2luKG9wdGlvbnMudG1wRGlyLCBvcHRpb25zLnN0cmVldFppcEZvbGRlck5hbWUpO1xyXG59O1xyXG5cclxuY29uc3QgZG93bmxvYWRaaXBBbmRQYXJzZUZpbGVzID0gYXN5bmMgKFxyXG4gIHVybDogc3RyaW5nLFxyXG4gIGluZGV4OiBudW1iZXIsXHJcbiAgb3B0aW9uczogT3BlbkRhdGFTeW5jT3B0aW9uc1xyXG4pOiBQcm9taXNlPHtcclxuICBzdHJlZXREYXRhOiBEYmZTdHJlZXRbXTtcclxuICBwb2x5Z29uRGF0YTogRmVhdHVyZUNvbGxlY3Rpb247XHJcbiAgZGlzdHJpY3RzUG9seWdvbkRhdGE/OiBGZWF0dXJlQ29sbGVjdGlvbjtcclxuICBjaXR5Q29kZTogc3RyaW5nO1xyXG59PiA9PiB7XHJcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpO1xyXG4gIGlmIChyZXNwb25zZS5zdGF0dXMgIT09IDIwMCkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICBgVGhlIFpJUCBmaWxlIGZyb20gJyR7dXJsfScgY291bGQgbm90IGJlIGRvd25sb2FkZWQuIEhUVFAgQ29kZTogJHtyZXNwb25zZS5zdGF0dXN9YFxyXG4gICAgKTtcclxuICB9XHJcbiAgY29uc3QgemlwRmlsZVBhdGggPSBqb2luKGdldFRlbXBGb2xkZXIob3B0aW9ucyksIGBzdHJlZXQke2luZGV4fS56aXBgKTtcclxuICBhd2FpdCBwaXBlbGluZShyZXNwb25zZS5ib2R5LCBjcmVhdGVXcml0ZVN0cmVhbSh6aXBGaWxlUGF0aCkpO1xyXG5cclxuICBjb25zdCB6aXAgPSBuZXcgQWRtWmlwKHppcEZpbGVQYXRoKTtcclxuICBjb25zdCBmb2xkZXJOYW1lID0gemlwLmdldEVudHJpZXMoKVswXS5lbnRyeU5hbWU7XHJcbiAgY29uc3QgY2l0eUNvZGUgPSBmb2xkZXJOYW1lLnN1YnN0cmluZygwLCA2KTtcclxuICBjb25zdCBkYmZFbnRyeU5hbWUgPSBgJHtmb2xkZXJOYW1lfSR7b3B0aW9ucy5zdHJlZXREYmZGaWxlTmFtZX1gO1xyXG4gIGNvbnN0IHN0cmVldERhdGEgPSBwYXJzZURCRjxEYmZTdHJlZXQ+KFxyXG4gICAgemlwLmdldEVudHJ5KGRiZkVudHJ5TmFtZSkuZ2V0RGF0YSgpLFxyXG4gICAgXCJ3aW4xMjUwXCJcclxuICApO1xyXG5cclxuICBjb25zdCBzaHBFbnRyeU5hbWUgPSBgJHtmb2xkZXJOYW1lfSR7b3B0aW9ucy5wb2x5Z29uU2hwRmlsZU5hbWV9YDtcclxuICBjb25zdCBwb2x5Z29uRGF0YSA9IGNvbnZlcnRTaHBUb0dlb0pzb24oemlwLmdldEVudHJ5KHNocEVudHJ5TmFtZSkuZ2V0RGF0YSgpKTtcclxuXHJcbiAgY29uc3QgZGlzdHJpY3RTaHBFbnRyeU5hbWUgPSBgJHtmb2xkZXJOYW1lfSR7b3B0aW9ucy5kaXN0cmljdFBvbHlnb25TaHBGaWxlTmFtZX1gO1xyXG4gIGNvbnN0IGRpc3RyaWN0U2hwRW50cnkgPSB6aXAuZ2V0RW50cnkoZGlzdHJpY3RTaHBFbnRyeU5hbWUpO1xyXG5cclxuICBsZXQgZGlzdHJpY3RzUG9seWdvbkRhdGE6IEZlYXR1cmVDb2xsZWN0aW9uID0gdW5kZWZpbmVkO1xyXG4gIGlmIChkaXN0cmljdFNocEVudHJ5ICE9PSBudWxsKSB7XHJcbiAgICBjb25zdCBkaXN0cmljdERiZkVudHJ5TmFtZSA9IGAke2ZvbGRlck5hbWV9JHtvcHRpb25zLmRpc3RyaWN0UG9seWdvbkRiZkZpbGVOYW1lfWA7XHJcbiAgICBkaXN0cmljdHNQb2x5Z29uRGF0YSA9IGNvbnZlcnRTaHBUb0dlb0pzb24oXHJcbiAgICAgIGRpc3RyaWN0U2hwRW50cnkuZ2V0RGF0YSgpLFxyXG4gICAgICB6aXAuZ2V0RW50cnkoZGlzdHJpY3REYmZFbnRyeU5hbWUpLmdldERhdGEoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJtU3luYyh6aXBGaWxlUGF0aCk7XHJcbiAgcmV0dXJuIHsgc3RyZWV0RGF0YSwgcG9seWdvbkRhdGEsIGRpc3RyaWN0c1BvbHlnb25EYXRhLCBjaXR5Q29kZSB9O1xyXG59O1xyXG5cclxuY29uc3QgY29udmVydFNocFRvR2VvSnNvbiA9IChcclxuICBzaHBCdWZmZXI6IEJ1ZmZlcixcclxuICBkYmZCdWZmZXI/OiBCdWZmZXJcclxuKTogRmVhdHVyZUNvbGxlY3Rpb24gPT4ge1xyXG4gIGNvbnN0IHNocCA9IG5ldyBTaHBUb0dlb0pzb24oe1xyXG4gICAgYXJyYXlidWZmZXJzOiB7XHJcbiAgICAgIHNocEJ1ZmZlcixcclxuICAgICAgLi4uKGRiZkJ1ZmZlciA/IHsgZGJmQnVmZmVyIH0gOiB7fSksXHJcbiAgICB9LFxyXG4gIH0pO1xyXG4gIGNvbnN0IGdlb0pzb24gPSBzaHAuZ2V0R2VvSnNvbigpO1xyXG4gIGRlbGV0ZSBnZW9Kc29uLmJib3g7XHJcblxyXG4gIGNvb3JkRWFjaChnZW9Kc29uIGFzIGFueSwgKGN1cnJlbnRDb29yZCkgPT4ge1xyXG4gICAgY29uc3QgW3ksIHhdID0gY3VycmVudENvb3JkO1xyXG4gICAgY29uc3QgeyBsYXQsIGxvbiB9ID0ganRzazJ3Z3M4NCgteCwgLXkpO1xyXG4gICAgY3VycmVudENvb3JkWzBdID0gbG9uO1xyXG4gICAgY3VycmVudENvb3JkWzFdID0gbGF0O1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gZ2VvSnNvbiBhcyBGZWF0dXJlQ29sbGVjdGlvbjtcclxufTtcclxuXHJcbmNvbnN0IGltcG9ydERhdGFUb0RiID0gYXN5bmMgKHtcclxuICBzdHJlZXREYXRhLFxyXG4gIGNpdHlDb2RlLFxyXG4gIHBvbHlnb25EYXRhLFxyXG4gIGRpc3RyaWN0c1BvbHlnb25EYXRhLFxyXG59OiB7XHJcbiAgc3RyZWV0RGF0YTogRGJmU3RyZWV0W107XHJcbiAgY2l0eUNvZGU6IHN0cmluZztcclxuICBwb2x5Z29uRGF0YTogRmVhdHVyZUNvbGxlY3Rpb247XHJcbiAgZGlzdHJpY3RzUG9seWdvbkRhdGE/OiBGZWF0dXJlQ29sbGVjdGlvbjtcclxufSkgPT4ge1xyXG4gIGlmIChzdHJlZXREYXRhLmxlbmd0aCA+IDApIHtcclxuICAgIGF3YWl0IGluc2VydFN0cmVldHNGcm9tRGJmKHN0cmVldERhdGEpO1xyXG4gIH1cclxuICBhd2FpdCBzZXRDaXR5UG9seWdvbkdlb2pzb24oY2l0eUNvZGUsIHBvbHlnb25EYXRhLCBkaXN0cmljdHNQb2x5Z29uRGF0YSk7XHJcbn07XHJcblxyXG5jb25zdCBhdHRlbXB0cyA9IDU7XHJcblxyXG5leHBvcnQgY29uc3QgZG93bmxvYWRBbmRJbXBvcnRTdHJlZXRzID0gYXN5bmMgKFxyXG4gIG9wdGlvbnM6IE9wZW5EYXRhU3luY09wdGlvbnNQYXJ0aWFsID0ge30sXHJcbiAgbm9DYWNoZTogYm9vbGVhbiA9IGZhbHNlXHJcbik6IFByb21pc2U8dm9pZD4gPT4ge1xyXG4gIGF3YWl0IHJ1blN5bmNQYXJ0KFN5bmNQYXJ0LlN0cmVldHMsIFtTeW5jUGFydC5BZGRyZXNzUG9pbnRzXSwgYXN5bmMgKCkgPT4ge1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgIFwiU3RhcnRpbmcgdG8gZG93bmxvYWQgYW5kIGltcG9ydCBzdHJlZXRzLiBUaGlzIHRha2VzIHVwIHRvIDEgaG91ci5cIlxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBjb21wbGV0ZU9wdGlvbnMgPSBwcmVwYXJlT3B0aW9ucyhvcHRpb25zKTtcclxuICAgIHByZXBhcmVGb2xkZXJzKGNvbXBsZXRlT3B0aW9ucyk7XHJcblxyXG4gICAgLy8gQ2xlYXIgc3RyZWV0IHN5bmMgdGFibGUgaWYgbm8tY2FjaGUgZmxhZyBpcyBzZXRcclxuICAgIGlmIChub0NhY2hlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiQ2xlYXJpbmcgc3RyZWV0IHN5bmMgY2FjaGUuLi5cIik7XHJcbiAgICAgIGF3YWl0IGNsZWFyU3RyZWV0U3luY1RhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYWxsRGF0YXNldEZlZWRMaW5rcyA9IGF3YWl0IGdldEFsbFVybHNGcm9tQXRvbUZlZWQoXHJcbiAgICAgIGNvbXBsZXRlT3B0aW9ucy5zdHJlZXRzQXRvbVVybFxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zb2xlLmxvZyhgVG90YWwgb2YgJHthbGxEYXRhc2V0RmVlZExpbmtzLmxlbmd0aH0gbGlua3MgdG8gWklQIGZpbGVzLmApO1xyXG5cclxuICAgIGNvbnN0IHN5bmNlZFN0cmVldExpbmtzID0gYXdhaXQgZ2V0QWxsU3luY2VkU3RyZWV0cygpO1xyXG5cclxuICAgIGNvbnN0IHRvRGVsZXRlOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgLy8gcmVtb3ZlIGFsbCBkZXByZWNhdGVkIGxpbmtzIChub3QgaW4gdGhlIG5ldyBsaXN0KVxyXG4gICAgc3luY2VkU3RyZWV0TGlua3MuZm9yRWFjaCgobGluaykgPT4ge1xyXG4gICAgICBpZiAoIWFsbERhdGFzZXRGZWVkTGlua3MuaW5jbHVkZXMobGluaykpIHtcclxuICAgICAgICB0b0RlbGV0ZS5wdXNoKGxpbmspO1xyXG4gICAgICAgIGRlbGV0ZSBzeW5jZWRTdHJlZXRMaW5rc1tsaW5rXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgYXdhaXQgZGVsZXRlU3RyZWV0cyh0b0RlbGV0ZSk7XHJcblxyXG4gICAgbGV0IGRvbmUgPSBzeW5jZWRTdHJlZXRMaW5rcy5zaXplO1xyXG4gICAgY29uc29sZS5sb2coYFRvdGFsIG9mICR7ZG9uZX0gbGlua3MgdG8gWklQIGZpbGVzIGFscmVhZHkgc3RvcmVkLmApO1xyXG5cclxuICAgIC8vIGdldCBhbGwgbGlua3Mgbm90IHlldCBzdG9yZWRcclxuICAgIGNvbnN0IG5ld0xpbmtzID0gYWxsRGF0YXNldEZlZWRMaW5rcy5maWx0ZXIoXHJcbiAgICAgIChsaW5rKSA9PiAhc3luY2VkU3RyZWV0TGlua3MuaGFzKGxpbmspXHJcbiAgICApO1xyXG5cclxuICAgIGxldCBkZWxheSA9IDA7XHJcbiAgICBjb25zb2xlLmxvZyhgTG9hZGluZyAke25ld0xpbmtzLmxlbmd0aH0gbmV3IGxpbmtzIHRvIFpJUCBmaWxlcy5gKTtcclxuICAgIGZvciAoY29uc3QgbGluayBvZiBuZXdMaW5rcykge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGF0dGVtcHRzOyBpKyspIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY29uc3QgemlwTGluayA9IGF3YWl0IGdldExhdGVzdFVybEZyb21BdG9tRmVlZChsaW5rKTtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBkb3dubG9hZFppcEFuZFBhcnNlRmlsZXMoXHJcbiAgICAgICAgICAgIHppcExpbmssXHJcbiAgICAgICAgICAgIGRvbmUsXHJcbiAgICAgICAgICAgIGNvbXBsZXRlT3B0aW9uc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGF3YWl0IGltcG9ydERhdGFUb0RiKGRhdGEpO1xyXG4gICAgICAgICAgYXdhaXQgc2V0U3RyZWV0QXNTeW5jZWQobGluayk7XHJcblxyXG4gICAgICAgICAgZG9uZSsrO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coYExvYWRlZCBsaW5rczogJHtkb25lfS8ke2FsbERhdGFzZXRGZWVkTGlua3MubGVuZ3RofWApO1xyXG4gICAgICAgICAgYXdhaXQgd2FpdChkZWxheSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgaWYgKGkgPCBhdHRlbXB0cyAtIDEpIHtcclxuICAgICAgICAgICAgZGVsYXkgKz0gMTAwOyAvLyBpZiBlcnJvciBvY2N1cmVkLCBpdCBpcyBsaWtlbHkgdG8gcmVwZWF0IHNvIHdlIHdhaXQgYSBiaXQgbG9uZ2VyXHJcbiAgICAgICAgICAgIGNvbnN0IHdhaXRUaW1lID0gKGkgKyAxKSAqIDM7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICAgICAgYEVycm9yIGNvbm5lY3RpbmcgdG8gQ1VaSyBzZXJ2ZXJzLCByZXRyeWluZyBpbiAke3dhaXRUaW1lfSBzZWNvbmRzLi4uYFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICAgIGF3YWl0IHdhaXQod2FpdFRpbWUgKiAxMDAwKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59O1xyXG5cclxuY29uc3Qgd2FpdCA9IGFzeW5jIChtczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiA9PiB7XHJcbiAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpKTtcclxufTtcclxuIl19
package/package.json CHANGED
@@ -57,6 +57,7 @@
57
57
  "polygons": "tsx src/bin/polygons.ts",
58
58
  "schools": "tsx src/bin/schools.ts",
59
59
  "streets": "tsx src/bin/streets.ts",
60
+ "streets:no-cache": "tsx src/bin/streets.ts --no-cache",
60
61
  "diagrams": "tsx src/bin/generate-syntax-diagrams.ts",
61
62
  "clear-all": "tsx src/bin/clear-all.ts",
62
63
  "init-db": "tsx src/bin/init-db.ts",
@@ -73,7 +74,7 @@
73
74
  },
74
75
  "name": "text-to-map",
75
76
  "description": "Text To Map usiluje o lepší, strojově zpracovatelné využití částí vyhlášek s výčtem ulic a dalších lokací. Jde o rozšiřitelnou sadu konceptů a nástrojů, které zajistí hladký převod výčtu ulic a jejich rozsahů v lidsky srozumitelném jazyce do strojově zpracovatelného, uchopitelného formátu.",
76
- "version": "1.1.42",
77
+ "version": "1.1.43",
77
78
  "main": "dist/index.js",
78
79
  "types": "dist/index.d.ts",
79
80
  "files": [