@universe/address-parser
Advanced tools
Comparing version 3.1.0 to 3.2.0
#! /usr/bin/env node | ||
import { parse } from '../dist/src/index.js'; | ||
import readline from 'readline'; | ||
import * as fs from 'fs'; | ||
const input = process.argv[2]; | ||
// const input = process.argv[2]?.trim(); | ||
console.log(JSON.stringify(parse(input), null, 2)); | ||
// input && console.log(JSON.stringify(parse(input), null, 2)); | ||
const rl = readline.createInterface({ | ||
input: process.stdin, | ||
output: process.stdout, | ||
terminal: false | ||
}); | ||
const CACHE = {}; | ||
// Faster than json stringify. | ||
function stamp(addr) { | ||
return `{"care":${addr.care ? `"${addr.care}"` : null},"facility":${addr.facility ? `"${addr.facility}"` : null},"facilityType":${addr.facilityType ? `"${addr.facilityType}"` : null},"pinType":${addr.pinType ? `"${addr.pinType}"` : null},"pinNum":${addr.pinNum ? `"${addr.pinNum}"` : null},"unitAbbr":${addr.unitAbbr ? `"${addr.unitAbbr}"` : null},"unitNum":${addr.unitNum ? `"${addr.unitNum}"` : null},"number":${addr.number ? `"${addr.number}"` : null},"streetPreDir":${addr.streetPreDir ? `"${addr.streetPreDir}"` : null},"streetName":${addr.streetName ? `"${addr.streetName}"` : null},"streetType":${addr.streetType ? `"${addr.streetType}"` : null},"streetPostDir":${addr.streetPostDir ? `"${addr.streetPostDir}"` : null},"city":${addr.city ? `"${addr.city}"` : null},"state":${addr.state ? `"${addr.state}"` : null},"zip":${addr.zip ? `"${addr.zip}"` : null},"zip4":${addr.zip4 ? `"${addr.zip4}"` : null},"country":${addr.country ? `"${addr.country}"` : null}}` | ||
} | ||
rl.on('line', (input) => { | ||
const lines = input.split("|"); | ||
console.log('rec', lines.length); | ||
const output = []; | ||
for (let line of lines) { | ||
line = line.trim(); | ||
if (!line) { | ||
output.push(stamp({})); | ||
continue; | ||
} | ||
try { | ||
console.log(line) | ||
CACHE[line] = CACHE[line] || stamp(parse(line)); | ||
console.log(CACHE[line]); | ||
output.push(CACHE[line]); | ||
} catch { | ||
output.push(stamp({})); | ||
} | ||
} | ||
console.log(`${String.fromCharCode(30)}[${output.join(',')}]\n`); | ||
}); | ||
rl.once('close', () => { | ||
process.exit(0) | ||
}); | ||
console.log(String.fromCharCode(30)) |
@@ -1,7 +0,7 @@ | ||
import { FacilityType, StreetType, isDirectional, Country, getCountryDesc, isCountry } from '@universe/models'; | ||
import { Country, FacilityType, getCountryDesc, isCountry, isDirectional, StreetType } from '@universe/models'; | ||
import { toDirectional } from './data/Directional.js'; | ||
import { isUrbanization } from './data/FacilityType.js'; | ||
import { isStreetPrefix, streetTypeString, toStreetType } from './data/StreetType.js'; | ||
import { parse } from './parser/index.js'; | ||
import { isNumberOrCode } from './parser/tokenizer.js'; | ||
import { toDirectional } from './data/Directional.js'; | ||
import { isUrbanization } from './data/FacilityType.js'; | ||
import { isStreetPrefix, toStreetType, streetTypeString } from './data/StreetType.js'; | ||
import { isOrdinal } from './parser/utils.js'; | ||
@@ -142,2 +142,2 @@ function concat(...values) { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsWUFBWSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5SCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFjOUMsU0FBUyxNQUFNLENBQUMsR0FBRyxNQUF5QjtJQUMxQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQy9ELENBQUM7QUFFRCw0REFBNEQ7QUFDNUQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELFNBQVMsVUFBVSxDQUFDLElBQW1CLEVBQUUsSUFBdUI7SUFDOUQsSUFBSSxDQUFDLElBQUksSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FBRTtJQUVyRCxJQUFJLGFBQWEsR0FBVyxJQUFJLENBQUM7SUFDakMsSUFBSSxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFB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SUFBSSxJQUFJO1lBQ2QsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUk7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBb0I7UUFDL0IsSUFBSSxDQUFDLElBQUksRUFBRTtZQUFFLE9BQU8sRUFBRSxDQUFDO1NBQUU7UUFDekIsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLEtBQUssS0FBZ0IsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsS0FBSyxLQUFtRSxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RyxLQUFLLEtBQWEsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDL0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2l0dXMsIFN0YXRlLCBGYWNpbGl0eVR5cGUsIFN0cmVldFR5cGUsIGlzRGlyZWN0aW9uYWwsIENvdW50cnksIGdldENvdW50cnlEZXNjLCBpc0NvdW50cnkgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcblxuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICcuL3BhcnNlci9pbmRleC5qcyc7XG5pbXBvcnQgeyBpc051bWJlck9yQ29kZSB9IGZyb20gJy4vcGFyc2VyL3Rva2VuaXplci5qcyc7XG5pbXBvcnQgeyB0b0RpcmVjdGlvbmFsIH0gZnJvbSAnLi9kYXRhL0RpcmVjdGlvbmFsLmpzJztcbmltcG9ydCB7IGlzVXJiYW5pemF0aW9uIH0gZnJvbSAnLi9kYXRhL0ZhY2lsaXR5VHlwZS5qcyc7XG5pbXBvcnQgeyBpc1N0cmVldFByZWZpeCwgdG9TdHJlZXRUeXBlLCBzdHJlZXRUeXBlU3RyaW5nIH0gZnJvbSAnLi9kYXRhL1N0cmVldFR5cGUuanMnO1xuaW1wb3J0IHsgaXNPcmRpbmFsIH0gZnJvbSAnLi9wYXJzZXIvdXRpbHMuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVTUFNMYWJlbCB7XG4gIGNhcmU6IHN0cmluZyB8IG51bGw7XG4gIHVyYmFuaXphdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgbGluZTE6IHN0cmluZyB8IG51bGw7XG4gIGxpbmUyOiBzdHJpbmcgfCBudWxsO1xuICBjaXR5OiBzdHJpbmcgfCBudWxsO1xuICBzdGF0ZTogU3RhdGUgfCBudWxsO1xuICB6aXA6IHN0cmluZyB8IG51bGw7XG4gIHppcDQ6IHN0cmluZyB8IG51bGw7XG4gIGNvdW50cnk6IHN0cmluZyB8IG51bGw7XG59XG5cbmZ1bmN0aW9uIGNvbmNhdCguLi52YWx1ZXM6IChzdHJpbmcgfCBudWxsKVtdKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlcy5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLnRvVXBwZXJDYXNlKCkudHJpbSgpO1xufVxuXG4vLyBVU1BTIGxpa2VzIHRvIGZvcmNlIHNvbWUgc3RyZWV0cyB0byBhbHdheXMgYmUgZXhwYW5kZWQuLi5cbmNvbnN0IGZvcmNlU3RyZWV0RXhwYW5zaW9uID0gbmV3IFNldChbU3RyZWV0VHlwZS5QTFpdKTtcbmZ1bmN0aW9uIHN0cmVldE5hbWUobmFtZTogc3RyaW5nIHwgbnVsbCwgdHlwZTogU3RyZWV0VHlwZSB8IG51bGwpOiAoc3RyaW5nIHwgbnVsbClbXSB7XG4gIGlmICghdHlwZSB8fCBpc1N0cmVldFByZWZpeCh0eXBlKSkgeyByZXR1cm4gW25hbWVdOyB9XG5cbiAgbGV0IHN0cmVldFR5cGVPdXQ6IHN0cmluZyA9IHR5cGU7XG4gIGlmIChmb3JjZVN0cmVldEV4cGFuc2lvbi5oYXModHlwZSkpIHsgc3RyZWV0VHlwZU91dCA9IHN0cmVldFR5cGVTdHJpbmcodHlwZSkgfHwgdHlwZTsgfVxuXG4gIGlmICghbmFtZSkgeyByZXR1cm4gW3N0cmVldFR5cGVPdXRdOyB9XG4gIGlmIChpc051bWJlck9yQ29kZShuYW1lKSAmJiAhaXNPcmRpbmFsKG5hbWUpICYmICFpc0RpcmVjdGlvbmFsKG5hbWUpKSB7XG4gICAgcmV0dXJuIFsgc3RyZWV0VHlwZVN0cmluZyh0b1N0cmVldFR5cGUodHlwZSkpLCBuYW1lIF07XG4gIH1cblxuICByZXR1cm4gWyBuYW1lLCBzdHJlZXRUeXBlT3V0IF07XG59XG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzIHtcbiAgYWRkcmVzczogSVNpdHVzO1xuXG4gIGNvbnN0cnVjdG9yKC4uLmxpbmVzOiBzdHJpbmdbXSB8IElTaXR1c1tdKSB7XG4gICAgaWYgKHR5cGVvZiBsaW5lc1swXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuYWRkcmVzcyA9IHBhcnNlKGxpbmVzLmpvaW4oJ1xcbicpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmFkZHJlc3MgPSBsaW5lc1swXTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgbGFiZWwoYWRkcj86IElTaXR1cyB8IG51bGwpOiBVU1BTTGFiZWwge1xuICAgIGlmICghYWRkcikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY2FyZTogbnVsbCxcbiAgICAgICAgdXJiYW5pemF0aW9uOiBudWxsLFxuICAgICAgICBsaW5lMTogbnVsbCxcbiAgICAgICAgbGluZTI6IG51bGwsXG4gICAgICAgIGNpdHk6IG51bGwsXG4gICAgICAgIHN0YXRlOiBudWxsLFxuICAgICAgICB6aXA6IG51bGwsXG4gICAgICAgIHppcDQ6IG51bGwsXG4gICAgICAgIGNvdW50cnk6IG51bGwsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIFNpbXBsZSBidWcgY2F0Y2hpbmcuXG4gICAgaWYgKGFkZHIudW5pdE51bSA9PT0gYWRkci56aXApIHsgYWRkci51bml0TnVtID0gbnVsbDsgfVxuXG4gICAgLy8gVGhpcyBpcyBob3cgVVNQUyB3YW50cyBVTVJzIHByZXNlbnRlZC5cbiAgICBpZiAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5VTVIpIHtcbiAgICAgIGFkZHIuZmFjaWxpdHlUeXBlID0gJ1VOSVQnIGFzIEZhY2lsaXR5VHlwZTtcbiAgICB9XG5cbiAgICBhZGRyLnN0cmVldFByZURpciA9IGFkZHIuc3RyZWV0UHJlRGlyID8gdG9EaXJlY3Rpb25hbChhZGRyLnN0cmVldFByZURpcikgOiBudWxsO1xuICAgIGFkZHIuc3RyZWV0UG9zdERpciA9IGFkZHIuc3RyZWV0UG9zdERpciA/IHRvRGlyZWN0aW9uYWwoYWRkci5zdHJlZXRQb3N0RGlyKSA6IG51bGw7XG5cbiAgICAvLyBFbnN1cmUgd2UgaGF2ZSBjbGVhbiBQTyBCb3hlcyBmb3IgVVNQUy5cbiAgICBpZiAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5QTykge1xuICAgICAgYWRkci5mYWNpbGl0eSA9IG51bGw7XG4gICAgfVxuXG4gICAgbGV0IHN0cmVldFNlZ21lbnQ6IHN0cmluZyB8IG51bGwgPSBjb25jYXQoXG4gICAgICBhZGRyLmZhY2lsaXR5VHlwZSAmJiAhaXNVcmJhbml6YXRpb24oYWRkci5mYWNpbGl0eVR5cGUpID8gJycgOiBhZGRyLm51bWJlcixcbiAgICAgIGlzU3RyZWV0UHJlZml4KGFkZHIuc3RyZWV0VHlwZSkgPyBzdHJlZXRUeXBlU3RyaW5nKGFkZHIuc3RyZWV0VHlwZSkgOiAnJyxcbiAgICAgIGFkZHIuc3RyZWV0UHJlRGlyLFxuICAgICAgLi4uc3RyZWV0TmFtZShhZGRyLnN0cmVldE5hbWUsIGFkZHIuc3RyZWV0VHlwZSksXG4gICAgICBhZGRyLnN0cmVldFBvc3REaXIsXG4gICAgKTtcbiAgICBsZXQgZmFjaWxpdHk6IHN0cmluZyB8IG51bGwgPSBjb25jYXQoYWRkci5mYWNpbGl0eVR5cGUsIGFkZHIuZmFjaWxpdHksIGFkZHIuZmFjaWxpdHlUeXBlID8gYWRkci5udW1iZXIgOiAnJyk7XG4gICAgY29uc3QgUElOID0gY29uY2F0KGFkZHIucGluVHlwZSB8fCAoYWRkci5waW5OdW0gJiYgJyMnKSwgYWRkci5waW5OdW0pO1xuICAgIGNvbnN0IHVuaXQgPSBjb25jYXQoYWRkci51bml0QWJiciB8fCAoYWRkci51bml0TnVtICYmICcjJyksIGFkZHIudW5pdE51bSk7XG5cbiAgICBsZXQgdXJiYW5pemF0aW9uID0gbnVsbDtcbiAgICBpZiAoaXNVcmJhbml6YXRpb24oYWRkci5mYWNpbGl0eVR5cGUpKSB7XG4gICAgICB1cmJhbml6YXRpb24gPSBjb25jYXQoYWRkci5mYWNpbGl0eVR5cGUsIGFkZHIuZmFjaWxpdHkpO1xuICAgICAgZmFjaWxpdHkgPSBudWxsO1xuICAgIH1cblxuICAgIGlmIChhZGRyLmZhY2lsaXR5VHlwZSA9PT0gRmFjaWxpdHlUeXBlLlBPKSB7XG4gICAgICBzdHJlZXRTZWdtZW50ID0gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBsaW5lMiA9IG51bGw7XG4gICAgaWYgKHVuaXQgfHwgUElOKSB7XG4gICAgICBpZiAoKGZhY2lsaXR5ICYmIHN0cmVldFNlZ21lbnQpIHx8IChhZGRyLmZhY2lsaXR5VHlwZSA9PT0gRmFjaWxpdHlUeXBlLlBPKSkge1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgdW5pdCk7XG4gICAgICAgIGZhY2lsaXR5ID0gY29uY2F0KGZhY2lsaXR5LCBQSU4pO1xuICAgICAgfVxuXG4gICAgICBlbHNlIGlmIChzdHJlZXRTZWdtZW50KSB7XG4gICAgICAgIHN0cmVldFNlZ21lbnQgPSBjb25jYXQoc3RyZWV0U2VnbWVudCwgdW5pdCk7XG4gICAgICAgIHN0cmVldFNlZ21lbnQgPSBjb25jYXQoc3RyZWV0U2VnbWVudCwgUElOKTtcbiAgICAgIH1cblxuICAgICAgZWxzZSB7XG4gICAgICAgIGZhY2lsaXR5ID0gY29uY2F0KGZhY2lsaXR5LCB1bml0KTtcbiAgICAgICAgZmFjaWxpdHkgPSBjb25jYXQoZmFjaWxpdHksIFBJTik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gaWYgKFBJTikge1xuICAgIC8vICAgaWYgKCFmYWNpbGl0eSAmJiBzdHJlZXRTZWdtZW50ICYmICFhZGRyLnBpblR5cGUpIHtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2FyZTogYWRkci5jYXJlID8gYWRkci5jYXJlLnRvVXBwZXJDYXNlKCkgOiBudWxsLFxuICAgICAgdXJiYW5pemF0aW9uLFxuICAgICAgbGluZTE6IGZhY2lsaXR5IHx8IHN0cmVldFNlZ21lbnQsXG4gICAgICBsaW5lMjogKChmYWNpbGl0eSAmJiBzdHJlZXRTZWdtZW50KSA/IHN0cmVldFNlZ21lbnQgOiBsaW5lMikgfHwgbnVsbCxcbiAgICAgIGNpdHk6IGFkZHIuY2l0eSA/IGFkZHIuY2l0eS50b1VwcGVyQ2FzZSgpIDogbnVsbCxcbiAgICAgIHN0YXRlOiBhZGRyLnN0YXRlID8gYWRkci5zdGF0ZSA6IG51bGwsXG4gICAgICB6aXA6IGFkZHIuemlwIHx8IG51bGwsXG4gICAgICB6aXA0OiBhZGRyLnppcDQgfHwgbnVsbCxcbiAgICAgIGNvdW50cnk6IGFkZHIuY291bnRyeSB8fCBudWxsLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgbGluZXMoYWRkcj86IElTaXR1cyB8IG51bGwpOiBbc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbCwgc3RyaW5nIHwgbnVsbF0ge1xuICAgIGlmICghYWRkcikgeyByZXR1cm4gWyBudWxsLCBudWxsLCBudWxsLCBudWxsIF07IH1cbiAgICBjb25zdCBsYWJlbCA9IEFkZHJlc3MubGFiZWwoYWRkcik7XG4gICAgY29uc3Qgb3V0ID0gW1xuICAgICAgbGFiZWwuY2FyZSxcbiAgICAgIGxhYmVsLnVyYmFuaXphdGlvbixcbiAgICAgIFsgbGFiZWwubGluZTEsIGxhYmVsLmxpbmUyIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50cmltKCksXG4gICAgICBbIGxhYmVsLmNpdHksIGxhYmVsLnN0YXRlLCBsYWJlbC56aXAgPyBgICR7bGFiZWwuemlwfWAgOiBudWxsIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50cmltKCksXG4gICAgXS5maWx0ZXIoQm9vbGVhbik7XG4gICAgaWYgKGlzQ291bnRyeShsYWJlbC5jb3VudHJ5KSAmJiBsYWJlbC5jb3VudHJ5ICE9PSBDb3VudHJ5LlVTQSAmJiBsYWJlbC5jb3VudHJ5ICE9PSBDb3VudHJ5LkZPUkVJR04pIHtcbiAgICAgIGNvbnN0IG5hbWUgPSBnZXRDb3VudHJ5RGVzYyhsYWJlbC5jb3VudHJ5KT8ubmFtZTtcbiAgICAgIG5hbWUgJiYgb3V0LnB1c2gobmFtZS50b1VwcGVyQ2FzZSgpKTtcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgIG91dFswXSB8fCBudWxsLFxuICAgICAgb3V0WzFdIHx8IG51bGwsXG4gICAgICBvdXRbMl0gfHwgbnVsbCxcbiAgICAgIG91dFszXSB8fCBudWxsLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJpbnQoYWRkcj86IElTaXR1cyB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICghYWRkcikgeyByZXR1cm4gJyc7IH1cbiAgICByZXR1cm4gQWRkcmVzcy5saW5lcyhhZGRyKS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJyk7XG4gIH1cblxuICBwdWJsaWMgbGFiZWwoKTogVVNQU0xhYmVsIHsgcmV0dXJuIEFkZHJlc3MubGFiZWwodGhpcy5hZGRyZXNzKTsgfVxuICBwdWJsaWMgbGluZXMoKTogW3N0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGxdIHsgcmV0dXJuIEFkZHJlc3MubGluZXModGhpcy5hZGRyZXNzKTsgfVxuICBwdWJsaWMgcHJpbnQoKTogc3RyaW5nIHsgcmV0dXJuIEFkZHJlc3MucHJpbnQodGhpcy5hZGRyZXNzKTsgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUMsYUFBYSxFQUFpQixVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3SCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUMsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFjOUMsU0FBUyxNQUFNLENBQUMsR0FBRyxNQUF5QjtJQUMxQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQy9ELENBQUM7QUFFRCw0REFBNEQ7QUFDNUQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELFNBQVMsVUFBVSxDQUFDLElBQW1CLEVBQUUsSUFBdUI7SUFDOUQsSUFBSSxDQUFDLElBQUksSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FBRTtJQUVyRCxJQUFJLGFBQWEsR0FBVyxJQUFJLENBQUM7SUFDakMsSUFBSSxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFB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SUFBSSxJQUFJO1lBQ2QsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUk7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBb0I7UUFDL0IsSUFBSSxDQUFDLElBQUksRUFBRTtZQUFFLE9BQU8sRUFBRSxDQUFDO1NBQUU7UUFDekIsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLEtBQUssS0FBZ0IsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsS0FBSyxLQUFtRSxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RyxLQUFLLEtBQWEsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDL0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3VudHJ5LCBGYWNpbGl0eVR5cGUsIGdldENvdW50cnlEZXNjLCBpc0NvdW50cnksaXNEaXJlY3Rpb25hbCwgSVNpdHVzLCBTdGF0ZSwgU3RyZWV0VHlwZSB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuXG5pbXBvcnQgeyB0b0RpcmVjdGlvbmFsIH0gZnJvbSAnLi9kYXRhL0RpcmVjdGlvbmFsLmpzJztcbmltcG9ydCB7IGlzVXJiYW5pemF0aW9uIH0gZnJvbSAnLi9kYXRhL0ZhY2lsaXR5VHlwZS5qcyc7XG5pbXBvcnQgeyBpc1N0cmVldFByZWZpeCwgc3RyZWV0VHlwZVN0cmluZyx0b1N0cmVldFR5cGUgfSBmcm9tICcuL2RhdGEvU3RyZWV0VHlwZS5qcyc7XG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gJy4vcGFyc2VyL2luZGV4LmpzJztcbmltcG9ydCB7IGlzTnVtYmVyT3JDb2RlIH0gZnJvbSAnLi9wYXJzZXIvdG9rZW5pemVyLmpzJztcbmltcG9ydCB7IGlzT3JkaW5hbCB9IGZyb20gJy4vcGFyc2VyL3V0aWxzLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBVU1BTTGFiZWwge1xuICBjYXJlOiBzdHJpbmcgfCBudWxsO1xuICB1cmJhbml6YXRpb246IHN0cmluZyB8IG51bGw7XG4gIGxpbmUxOiBzdHJpbmcgfCBudWxsO1xuICBsaW5lMjogc3RyaW5nIHwgbnVsbDtcbiAgY2l0eTogc3RyaW5nIHwgbnVsbDtcbiAgc3RhdGU6IFN0YXRlIHwgbnVsbDtcbiAgemlwOiBzdHJpbmcgfCBudWxsO1xuICB6aXA0OiBzdHJpbmcgfCBudWxsO1xuICBjb3VudHJ5OiBzdHJpbmcgfCBudWxsO1xufVxuXG5mdW5jdGlvbiBjb25jYXQoLi4udmFsdWVzOiAoc3RyaW5nIHwgbnVsbClbXSk6IHN0cmluZyB7XG4gIHJldHVybiB2YWx1ZXMuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50b1VwcGVyQ2FzZSgpLnRyaW0oKTtcbn1cblxuLy8gVVNQUyBsaWtlcyB0byBmb3JjZSBzb21lIHN0cmVldHMgdG8gYWx3YXlzIGJlIGV4cGFuZGVkLi4uXG5jb25zdCBmb3JjZVN0cmVldEV4cGFuc2lvbiA9IG5ldyBTZXQoW1N0cmVldFR5cGUuUExaXSk7XG5mdW5jdGlvbiBzdHJlZXROYW1lKG5hbWU6IHN0cmluZyB8IG51bGwsIHR5cGU6IFN0cmVldFR5cGUgfCBudWxsKTogKHN0cmluZyB8IG51bGwpW10ge1xuICBpZiAoIXR5cGUgfHwgaXNTdHJlZXRQcmVmaXgodHlwZSkpIHsgcmV0dXJuIFtuYW1lXTsgfVxuXG4gIGxldCBzdHJlZXRUeXBlT3V0OiBzdHJpbmcgPSB0eXBlO1xuICBpZiAoZm9yY2VTdHJlZXRFeHBhbnNpb24uaGFzKHR5cGUpKSB7IHN0cmVldFR5cGVPdXQgPSBzdHJlZXRUeXBlU3RyaW5nKHR5cGUpIHx8IHR5cGU7IH1cblxuICBpZiAoIW5hbWUpIHsgcmV0dXJuIFtzdHJlZXRUeXBlT3V0XTsgfVxuICBpZiAoaXNOdW1iZXJPckNvZGUobmFtZSkgJiYgIWlzT3JkaW5hbChuYW1lKSAmJiAhaXNEaXJlY3Rpb25hbChuYW1lKSkge1xuICAgIHJldHVybiBbIHN0cmVldFR5cGVTdHJpbmcodG9TdHJlZXRUeXBlKHR5cGUpKSwgbmFtZSBdO1xuICB9XG5cbiAgcmV0dXJuIFsgbmFtZSwgc3RyZWV0VHlwZU91dCBdO1xufVxuXG5leHBvcnQgY2xhc3MgQWRkcmVzcyB7XG4gIGFkZHJlc3M6IElTaXR1cztcblxuICBjb25zdHJ1Y3RvciguLi5saW5lczogc3RyaW5nW10gfCBJU2l0dXNbXSkge1xuICAgIGlmICh0eXBlb2YgbGluZXNbMF0gPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLmFkZHJlc3MgPSBwYXJzZShsaW5lcy5qb2luKCdcXG4nKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5hZGRyZXNzID0gbGluZXNbMF07XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGxhYmVsKGFkZHI/OiBJU2l0dXMgfCBudWxsKTogVVNQU0xhYmVsIHtcbiAgICBpZiAoIWFkZHIpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNhcmU6IG51bGwsXG4gICAgICAgIHVyYmFuaXphdGlvbjogbnVsbCxcbiAgICAgICAgbGluZTE6IG51bGwsXG4gICAgICAgIGxpbmUyOiBudWxsLFxuICAgICAgICBjaXR5OiBudWxsLFxuICAgICAgICBzdGF0ZTogbnVsbCxcbiAgICAgICAgemlwOiBudWxsLFxuICAgICAgICB6aXA0OiBudWxsLFxuICAgICAgICBjb3VudHJ5OiBudWxsLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGUgYnVnIGNhdGNoaW5nLlxuICAgIGlmIChhZGRyLnVuaXROdW0gPT09IGFkZHIuemlwKSB7IGFkZHIudW5pdE51bSA9IG51bGw7IH1cblxuICAgIC8vIFRoaXMgaXMgaG93IFVTUFMgd2FudHMgVU1ScyBwcmVzZW50ZWQuXG4gICAgaWYgKGFkZHIuZmFjaWxpdHlUeXBlID09PSBGYWNpbGl0eVR5cGUuVU1SKSB7XG4gICAgICBhZGRyLmZhY2lsaXR5VHlwZSA9ICdVTklUJyBhcyBGYWNpbGl0eVR5cGU7XG4gICAgfVxuXG4gICAgYWRkci5zdHJlZXRQcmVEaXIgPSBhZGRyLnN0cmVldFByZURpciA/IHRvRGlyZWN0aW9uYWwoYWRkci5zdHJlZXRQcmVEaXIpIDogbnVsbDtcbiAgICBhZGRyLnN0cmVldFBvc3REaXIgPSBhZGRyLnN0cmVldFBvc3REaXIgPyB0b0RpcmVjdGlvbmFsKGFkZHIuc3RyZWV0UG9zdERpcikgOiBudWxsO1xuXG4gICAgLy8gRW5zdXJlIHdlIGhhdmUgY2xlYW4gUE8gQm94ZXMgZm9yIFVTUFMuXG4gICAgaWYgKGFkZHIuZmFjaWxpdHlUeXBlID09PSBGYWNpbGl0eVR5cGUuUE8pIHtcbiAgICAgIGFkZHIuZmFjaWxpdHkgPSBudWxsO1xuICAgIH1cblxuICAgIGxldCBzdHJlZXRTZWdtZW50OiBzdHJpbmcgfCBudWxsID0gY29uY2F0KFxuICAgICAgYWRkci5mYWNpbGl0eVR5cGUgJiYgIWlzVXJiYW5pemF0aW9uKGFkZHIuZmFjaWxpdHlUeXBlKSA/ICcnIDogYWRkci5udW1iZXIsXG4gICAgICBpc1N0cmVldFByZWZpeChhZGRyLnN0cmVldFR5cGUpID8gc3RyZWV0VHlwZVN0cmluZyhhZGRyLnN0cmVldFR5cGUpIDogJycsXG4gICAgICBhZGRyLnN0cmVldFByZURpcixcbiAgICAgIC4uLnN0cmVldE5hbWUoYWRkci5zdHJlZXROYW1lLCBhZGRyLnN0cmVldFR5cGUpLFxuICAgICAgYWRkci5zdHJlZXRQb3N0RGlyLFxuICAgICk7XG4gICAgbGV0IGZhY2lsaXR5OiBzdHJpbmcgfCBudWxsID0gY29uY2F0KGFkZHIuZmFjaWxpdHlUeXBlLCBhZGRyLmZhY2lsaXR5LCBhZGRyLmZhY2lsaXR5VHlwZSA/IGFkZHIubnVtYmVyIDogJycpO1xuICAgIGNvbnN0IFBJTiA9IGNvbmNhdChhZGRyLnBpblR5cGUgfHwgKGFkZHIucGluTnVtICYmICcjJyksIGFkZHIucGluTnVtKTtcbiAgICBjb25zdCB1bml0ID0gY29uY2F0KGFkZHIudW5pdEFiYnIgfHwgKGFkZHIudW5pdE51bSAmJiAnIycpLCBhZGRyLnVuaXROdW0pO1xuXG4gICAgbGV0IHVyYmFuaXphdGlvbiA9IG51bGw7XG4gICAgaWYgKGlzVXJiYW5pemF0aW9uKGFkZHIuZmFjaWxpdHlUeXBlKSkge1xuICAgICAgdXJiYW5pemF0aW9uID0gY29uY2F0KGFkZHIuZmFjaWxpdHlUeXBlLCBhZGRyLmZhY2lsaXR5KTtcbiAgICAgIGZhY2lsaXR5ID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5QTykge1xuICAgICAgc3RyZWV0U2VnbWVudCA9IG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbGluZTIgPSBudWxsO1xuICAgIGlmICh1bml0IHx8IFBJTikge1xuICAgICAgaWYgKChmYWNpbGl0eSAmJiBzdHJlZXRTZWdtZW50KSB8fCAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5QTykpIHtcbiAgICAgICAgZmFjaWxpdHkgPSBjb25jYXQoZmFjaWxpdHksIHVuaXQpO1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgUElOKTtcbiAgICAgIH1cblxuICAgICAgZWxzZSBpZiAoc3RyZWV0U2VnbWVudCkge1xuICAgICAgICBzdHJlZXRTZWdtZW50ID0gY29uY2F0KHN0cmVldFNlZ21lbnQsIHVuaXQpO1xuICAgICAgICBzdHJlZXRTZWdtZW50ID0gY29uY2F0KHN0cmVldFNlZ21lbnQsIFBJTik7XG4gICAgICB9XG5cbiAgICAgIGVsc2Uge1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgdW5pdCk7XG4gICAgICAgIGZhY2lsaXR5ID0gY29uY2F0KGZhY2lsaXR5LCBQSU4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGlmIChQSU4pIHtcbiAgICAvLyAgIGlmICghZmFjaWxpdHkgJiYgc3RyZWV0U2VnbWVudCAmJiAhYWRkci5waW5UeXBlKSB7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNhcmU6IGFkZHIuY2FyZSA/IGFkZHIuY2FyZS50b1VwcGVyQ2FzZSgpIDogbnVsbCxcbiAgICAgIHVyYmFuaXphdGlvbixcbiAgICAgIGxpbmUxOiBmYWNpbGl0eSB8fCBzdHJlZXRTZWdtZW50LFxuICAgICAgbGluZTI6ICgoZmFjaWxpdHkgJiYgc3RyZWV0U2VnbWVudCkgPyBzdHJlZXRTZWdtZW50IDogbGluZTIpIHx8IG51bGwsXG4gICAgICBjaXR5OiBhZGRyLmNpdHkgPyBhZGRyLmNpdHkudG9VcHBlckNhc2UoKSA6IG51bGwsXG4gICAgICBzdGF0ZTogYWRkci5zdGF0ZSA/IGFkZHIuc3RhdGUgOiBudWxsLFxuICAgICAgemlwOiBhZGRyLnppcCB8fCBudWxsLFxuICAgICAgemlwNDogYWRkci56aXA0IHx8IG51bGwsXG4gICAgICBjb3VudHJ5OiBhZGRyLmNvdW50cnkgfHwgbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGxpbmVzKGFkZHI/OiBJU2l0dXMgfCBudWxsKTogW3N0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGxdIHtcbiAgICBpZiAoIWFkZHIpIHsgcmV0dXJuIFsgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCBdOyB9XG4gICAgY29uc3QgbGFiZWwgPSBBZGRyZXNzLmxhYmVsKGFkZHIpO1xuICAgIGNvbnN0IG91dCA9IFtcbiAgICAgIGxhYmVsLmNhcmUsXG4gICAgICBsYWJlbC51cmJhbml6YXRpb24sXG4gICAgICBbIGxhYmVsLmxpbmUxLCBsYWJlbC5saW5lMiBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudHJpbSgpLFxuICAgICAgWyBsYWJlbC5jaXR5LCBsYWJlbC5zdGF0ZSwgbGFiZWwuemlwID8gYCAke2xhYmVsLnppcH1gIDogbnVsbCBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudHJpbSgpLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pO1xuICAgIGlmIChpc0NvdW50cnkobGFiZWwuY291bnRyeSkgJiYgbGFiZWwuY291bnRyeSAhPT0gQ291bnRyeS5VU0EgJiYgbGFiZWwuY291bnRyeSAhPT0gQ291bnRyeS5GT1JFSUdOKSB7XG4gICAgICBjb25zdCBuYW1lID0gZ2V0Q291bnRyeURlc2MobGFiZWwuY291bnRyeSk/Lm5hbWU7XG4gICAgICBuYW1lICYmIG91dC5wdXNoKG5hbWUudG9VcHBlckNhc2UoKSk7XG4gICAgfVxuICAgIHJldHVybiBbXG4gICAgICBvdXRbMF0gfHwgbnVsbCxcbiAgICAgIG91dFsxXSB8fCBudWxsLFxuICAgICAgb3V0WzJdIHx8IG51bGwsXG4gICAgICBvdXRbM10gfHwgbnVsbCxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByaW50KGFkZHI/OiBJU2l0dXMgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAoIWFkZHIpIHsgcmV0dXJuICcnOyB9XG4gICAgcmV0dXJuIEFkZHJlc3MubGluZXMoYWRkcikuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJ1xcbicpO1xuICB9XG5cbiAgcHVibGljIGxhYmVsKCk6IFVTUFNMYWJlbCB7IHJldHVybiBBZGRyZXNzLmxhYmVsKHRoaXMuYWRkcmVzcyk7IH1cbiAgcHVibGljIGxpbmVzKCk6IFtzdHJpbmcgfCBudWxsLCBzdHJpbmcgfCBudWxsLCBzdHJpbmcgfCBudWxsLCBzdHJpbmcgfCBudWxsXSB7IHJldHVybiBBZGRyZXNzLmxpbmVzKHRoaXMuYWRkcmVzcyk7IH1cbiAgcHVibGljIHByaW50KCk6IHN0cmluZyB7IHJldHVybiBBZGRyZXNzLnByaW50KHRoaXMuYWRkcmVzcyk7IH1cbn1cbiJdfQ== |
import { Directional } from '@universe/models'; | ||
export declare const DirectionalMapping: { | ||
[key: string]: Directional; | ||
}; | ||
export declare function toDirectional(dir: string): Directional; | ||
export declare function directionalString(dir: Directional | null): string | null; | ||
export declare function isDirectional(dir: string): dir is Directional; |
@@ -1,38 +0,2 @@ | ||
import { Directional } from '@universe/models'; | ||
export const DirectionalMapping = { | ||
N: Directional.N, | ||
S: Directional.S, | ||
W: Directional.W, | ||
E: Directional.E, | ||
NO: Directional.N, | ||
SO: Directional.S, | ||
NW: Directional.NW, | ||
NE: Directional.NE, | ||
SW: Directional.SW, | ||
SE: Directional.SE, | ||
NORTH: Directional.N, | ||
NORTE: Directional.N, | ||
SOUTH: Directional.S, | ||
SUR: Directional.S, | ||
WEST: Directional.W, | ||
OESTE: Directional.W, | ||
EAST: Directional.E, | ||
ESTE: Directional.E, | ||
NORTHWEST: Directional.NW, | ||
NOROESTE: Directional.NW, | ||
'NORTH WEST': Directional.NW, | ||
'NORTH-WEST': Directional.NW, | ||
NORTHEAST: Directional.NE, | ||
NORESTE: Directional.NE, | ||
'NORTH EAST': Directional.NE, | ||
'NORTH-EAST': Directional.NE, | ||
SOUTHWEST: Directional.SW, | ||
SUROESTE: Directional.SW, | ||
'SOUTH WEST': Directional.SW, | ||
'SOUTH-WEST': Directional.SW, | ||
SOUTHEAST: Directional.SE, | ||
SURESTE: Directional.SE, | ||
'SOUTH EAST': Directional.SE, | ||
'SOUTH-EAST': Directional.SE, | ||
}; | ||
import { aliases, Directional } from '@universe/models'; | ||
const HumanReadableDirs = { | ||
@@ -49,3 +13,3 @@ [Directional.N]: 'North', | ||
export function toDirectional(dir) { | ||
return DirectionalMapping[dir.toUpperCase()]; | ||
return aliases.DirectionalLookup[dir.toUpperCase()]; | ||
} | ||
@@ -60,4 +24,4 @@ export function directionalString(dir) { | ||
export function isDirectional(dir) { | ||
return !!DirectionalMapping[dir.toUpperCase()]; | ||
return !!aliases.DirectionalLookup[dir.toUpperCase()]; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlyZWN0aW9uYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YS9EaXJlY3Rpb25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQW1DO0lBQ2hFLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNoQixDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDaEIsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2hCLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNoQixFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDakIsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2pCLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFBRTtJQUNsQixFQUFFLEVBQUUsV0FBVyxDQUFDLEVBQUU7SUFDbEIsRUFBRSxFQUFFLFdBQVcsQ0FBQyxFQUFFO0lBQ2xCLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFBRTtJQUNsQixLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDcEIsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3BCLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNwQixHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ25CLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNwQixJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbkIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ25CLFNBQVMsRUFBRSxXQUFXLENBQUMsRUFBRTtJQUN6QixRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUU7SUFDeEIsWUFBWSxFQUFFLFdBQVcsQ0FBQyxFQUFFO0lBQzVCLFlBQVksRUFBRSxXQUFXLENBQUMsRUFBRTtJQUM1QixTQUFTLEVBQUUsV0FBVyxDQUFDLEVBQUU7SUFDekIsT0FBTyxFQUFFLFdBQVcsQ0FBQyxFQUFFO0lBQ3ZCLFlBQVksRUFBRSxXQUFXLENBQUMsRUFBRTtJQUM1QixZQUFZLEVBQUUsV0FBVyxDQUFDLEVBQUU7SUFDNUIsU0FBUyxFQUFFLFdBQVcsQ0FBQyxFQUFFO0lBQ3pCLFFBQVEsRUFBRSxXQUFXLENBQUMsRUFBRTtJQUN4QixZQUFZLEVBQUUsV0FBVyxDQUFDLEVBQUU7SUFDNUIsWUFBWSxFQUFFLFdBQVcsQ0FBQyxFQUFFO0lBQzVCLFNBQVMsRUFBRSxXQUFXLENBQUMsRUFBRTtJQUN6QixPQUFPLEVBQUUsV0FBVyxDQUFDLEVBQUU7SUFDdkIsWUFBWSxFQUFFLFdBQVcsQ0FBQyxFQUFFO0lBQzVCLFlBQVksRUFBRSxXQUFXLENBQUMsRUFBRTtDQUM3QixDQUFDO0FBRUYsTUFBTSxpQkFBaUIsR0FBRztJQUN4QixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPO0lBQ3hCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU87SUFDeEIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTTtJQUN2QixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNO0lBQ3ZCLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFdBQVc7SUFDN0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsV0FBVztJQUM3QixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsRUFBRSxXQUFXO0lBQzdCLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFdBQVc7Q0FDOUIsQ0FBQztBQUVGLE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVztJQUN2QyxPQUFPLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsR0FBdUI7SUFDdkQsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxHQUFHLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLE9BQU8saUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBVztJQUN2QyxPQUFPLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uYWwgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcblxuZXhwb3J0IGNvbnN0IERpcmVjdGlvbmFsTWFwcGluZzogeyBba2V5OiBzdHJpbmddOiBEaXJlY3Rpb25hbCB9ID0ge1xuICBOOiBEaXJlY3Rpb25hbC5OLFxuICBTOiBEaXJlY3Rpb25hbC5TLFxuICBXOiBEaXJlY3Rpb25hbC5XLFxuICBFOiBEaXJlY3Rpb25hbC5FLFxuICBOTzogRGlyZWN0aW9uYWwuTixcbiAgU086IERpcmVjdGlvbmFsLlMsXG4gIE5XOiBEaXJlY3Rpb25hbC5OVyxcbiAgTkU6IERpcmVjdGlvbmFsLk5FLFxuICBTVzogRGlyZWN0aW9uYWwuU1csXG4gIFNFOiBEaXJlY3Rpb25hbC5TRSxcbiAgTk9SVEg6IERpcmVjdGlvbmFsLk4sXG4gIE5PUlRFOiBEaXJlY3Rpb25hbC5OLFxuICBTT1VUSDogRGlyZWN0aW9uYWwuUyxcbiAgU1VSOiBEaXJlY3Rpb25hbC5TLFxuICBXRVNUOiBEaXJlY3Rpb25hbC5XLFxuICBPRVNURTogRGlyZWN0aW9uYWwuVyxcbiAgRUFTVDogRGlyZWN0aW9uYWwuRSxcbiAgRVNURTogRGlyZWN0aW9uYWwuRSxcbiAgTk9SVEhXRVNUOiBEaXJlY3Rpb25hbC5OVyxcbiAgTk9ST0VTVEU6IERpcmVjdGlvbmFsLk5XLFxuICAnTk9SVEggV0VTVCc6IERpcmVjdGlvbmFsLk5XLFxuICAnTk9SVEgtV0VTVCc6IERpcmVjdGlvbmFsLk5XLFxuICBOT1JUSEVBU1Q6IERpcmVjdGlvbmFsLk5FLFxuICBOT1JFU1RFOiBEaXJlY3Rpb25hbC5ORSxcbiAgJ05PUlRIIEVBU1QnOiBEaXJlY3Rpb25hbC5ORSxcbiAgJ05PUlRILUVBU1QnOiBEaXJlY3Rpb25hbC5ORSxcbiAgU09VVEhXRVNUOiBEaXJlY3Rpb25hbC5TVyxcbiAgU1VST0VTVEU6IERpcmVjdGlvbmFsLlNXLFxuICAnU09VVEggV0VTVCc6IERpcmVjdGlvbmFsLlNXLFxuICAnU09VVEgtV0VTVCc6IERpcmVjdGlvbmFsLlNXLFxuICBTT1VUSEVBU1Q6IERpcmVjdGlvbmFsLlNFLFxuICBTVVJFU1RFOiBEaXJlY3Rpb25hbC5TRSxcbiAgJ1NPVVRIIEVBU1QnOiBEaXJlY3Rpb25hbC5TRSxcbiAgJ1NPVVRILUVBU1QnOiBEaXJlY3Rpb25hbC5TRSxcbn07XG5cbmNvbnN0IEh1bWFuUmVhZGFibGVEaXJzID0ge1xuICBbRGlyZWN0aW9uYWwuTl06ICdOb3J0aCcsXG4gIFtEaXJlY3Rpb25hbC5TXTogJ1NvdXRoJyxcbiAgW0RpcmVjdGlvbmFsLlddOiAnV2VzdCcsXG4gIFtEaXJlY3Rpb25hbC5FXTogJ0Vhc3QnLFxuICBbRGlyZWN0aW9uYWwuTlddOiAnTm9ydGh3ZXN0JyxcbiAgW0RpcmVjdGlvbmFsLk5FXTogJ05vcnRoZWFzdCcsXG4gIFtEaXJlY3Rpb25hbC5TV106ICdTb3V0aHdlc3QnLFxuICBbRGlyZWN0aW9uYWwuU0VdOiAnU291dGhlYXN0Jyxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0RpcmVjdGlvbmFsKGRpcjogc3RyaW5nKTogRGlyZWN0aW9uYWwge1xuICByZXR1cm4gRGlyZWN0aW9uYWxNYXBwaW5nW2Rpci50b1VwcGVyQ2FzZSgpXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpcmVjdGlvbmFsU3RyaW5nKGRpcjogRGlyZWN0aW9uYWwgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmIChkaXIgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBkaXIgPSB0b0RpcmVjdGlvbmFsKGRpcik7XG4gIHJldHVybiBIdW1hblJlYWRhYmxlRGlyc1tkaXJdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEaXJlY3Rpb25hbChkaXI6IHN0cmluZyk6IGRpciBpcyBEaXJlY3Rpb25hbCB7XG4gIHJldHVybiAhIURpcmVjdGlvbmFsTWFwcGluZ1tkaXIudG9VcHBlckNhc2UoKV07XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlyZWN0aW9uYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YS9EaXJlY3Rpb25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFDLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXZELE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTztJQUN4QixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPO0lBQ3hCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU07SUFDdkIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTTtJQUN2QixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsRUFBRSxXQUFXO0lBQzdCLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFdBQVc7SUFDN0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsV0FBVztJQUM3QixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsRUFBRSxXQUFXO0NBQzlCLENBQUM7QUFFRixNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQVc7SUFDdkMsT0FBTyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxHQUF1QjtJQUN2RCxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDaEIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELEdBQUcsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsT0FBTyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNoQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFXO0lBQ3ZDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUN4RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWxpYXNlcyxEaXJlY3Rpb25hbCB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuXG5jb25zdCBIdW1hblJlYWRhYmxlRGlycyA9IHtcbiAgW0RpcmVjdGlvbmFsLk5dOiAnTm9ydGgnLFxuICBbRGlyZWN0aW9uYWwuU106ICdTb3V0aCcsXG4gIFtEaXJlY3Rpb25hbC5XXTogJ1dlc3QnLFxuICBbRGlyZWN0aW9uYWwuRV06ICdFYXN0JyxcbiAgW0RpcmVjdGlvbmFsLk5XXTogJ05vcnRod2VzdCcsXG4gIFtEaXJlY3Rpb25hbC5ORV06ICdOb3J0aGVhc3QnLFxuICBbRGlyZWN0aW9uYWwuU1ddOiAnU291dGh3ZXN0JyxcbiAgW0RpcmVjdGlvbmFsLlNFXTogJ1NvdXRoZWFzdCcsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdG9EaXJlY3Rpb25hbChkaXI6IHN0cmluZyk6IERpcmVjdGlvbmFsIHtcbiAgcmV0dXJuIGFsaWFzZXMuRGlyZWN0aW9uYWxMb29rdXBbZGlyLnRvVXBwZXJDYXNlKCldO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlyZWN0aW9uYWxTdHJpbmcoZGlyOiBEaXJlY3Rpb25hbCB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKGRpciA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGRpciA9IHRvRGlyZWN0aW9uYWwoZGlyKTtcbiAgcmV0dXJuIEh1bWFuUmVhZGFibGVEaXJzW2Rpcl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0RpcmVjdGlvbmFsKGRpcjogc3RyaW5nKTogZGlyIGlzIERpcmVjdGlvbmFsIHtcbiAgcmV0dXJuICEhYWxpYXNlcy5EaXJlY3Rpb25hbExvb2t1cFtkaXIudG9VcHBlckNhc2UoKV07XG59XG4iXX0= |
import { FacilityType } from '@universe/models'; | ||
export declare const FacilityTypes: { | ||
[key in FacilityType]: string[]; | ||
}; | ||
export declare function toFacilityType(val: string): FacilityType; | ||
@@ -6,0 +3,0 @@ export declare function facilityTypeString(type: FacilityType | null): string | null; |
@@ -1,70 +0,7 @@ | ||
import { FacilityType } from '@universe/models'; | ||
import { aliases, FacilityType } from '@universe/models'; | ||
import { normalize, titleCase } from '../parser/utils.js'; | ||
// USPS Facility Abbreviations | ||
export const FacilityTypes = { | ||
// Legislative Boundaries | ||
[FacilityType.PCT]: ['Precinct', 'PCT'], | ||
// Puerto Rico Urbanizations | ||
// https://pe.usps.com/text/pub28/28c2_043.htm | ||
[FacilityType.URB]: ['Urbanization', 'URB'], | ||
[FacilityType.EXT]: ['EXTENSION'], | ||
[FacilityType.MANS]: ['Mansiones'], | ||
[FacilityType.EST]: ['ESTATE'], | ||
[FacilityType.ALT]: ['Altura', 'Alturas'], | ||
[FacilityType.BDA]: ['Barriada'], | ||
[FacilityType.BO]: ['Barrio'], | ||
[FacilityType.BOSQUE]: ['Bosque'], | ||
[FacilityType.BRISA]: ['Brisa', 'Brisas'], | ||
[FacilityType.CIUDAD]: ['Ciudad'], | ||
[FacilityType.COLINA]: ['Colina', 'Colinas'], | ||
[FacilityType.CHALETS]: ['Chalets'], | ||
[FacilityType.COMUNIDAD]: ['Comunidad'], | ||
[FacilityType.EST]: ['Estancias'], | ||
[FacilityType.EXT]: ['Extensión', 'Extension'], | ||
[FacilityType.HACIENDA]: ['Hacienda'], | ||
[FacilityType.JARD]: ['Jardines'], | ||
[FacilityType.IND]: ['Industrial'], | ||
[FacilityType.LOMA]: ['Loma', 'Lomas'], | ||
[FacilityType.MANS]: ['Mansiones'], | ||
[FacilityType.PARQ]: ['Parque'], | ||
[FacilityType.PARCELA]: ['Parcela', 'Parcelas'], | ||
[FacilityType.PASEO]: ['Paseo'], | ||
[FacilityType.PRADERA]: ['Pradera'], | ||
[FacilityType.PORTAL]: ['Portal'], | ||
[FacilityType.PORTALES]: ['Portales'], | ||
[FacilityType.QUINTAS]: ['Quintas'], | ||
[FacilityType.RES]: ['Residencial'], | ||
[FacilityType.REPTO]: ['Reparto'], | ||
[FacilityType.RIBERAS]: ['Riberas'], | ||
[FacilityType.SECT]: ['Sector'], | ||
[FacilityType.TERR]: ['Terraza'], | ||
[FacilityType.VALLE]: ['Valle'], | ||
[FacilityType.VILLA]: ['Villa', 'VILLAS'], | ||
[FacilityType.VISTA]: ['Vista', 'Vistas'], | ||
// Commercial Facility Designations | ||
[FacilityType.PIER]: ['Pier'], | ||
[FacilityType.MLRM]: ['Mailroom', 'MLRM', 'Mail RM'], | ||
// Military Ship Designations | ||
[FacilityType.USAS]: ['USAS'], | ||
[FacilityType.USAV]: ['USAV'], | ||
[FacilityType.USCGC]: ['USCGC'], | ||
[FacilityType.USS]: ['USS'], | ||
[FacilityType.USNV]: ['USNV'], | ||
[FacilityType.USNS]: ['USNS'], | ||
[FacilityType.NOAAS]: ['NOAAS'], | ||
// Postal Center Designations | ||
[FacilityType.PO]: ['PO', 'P.O.', 'P.O', 'POBOX', 'P.OBox', 'P.O.Box', 'Apartado'], | ||
// Military Postal Centers | ||
[FacilityType.PSC]: ['Postal Service Center', 'PSC'], | ||
[FacilityType.CMR]: ['Community Mail Room', 'CMR'], | ||
[FacilityType.UMR]: ['Unit Mail Room', 'Unit', 'UMR'], | ||
[FacilityType.RPO]: ['Regional Post Office', 'RPO'], | ||
[FacilityType.OMDC]: ['Army Post Office', 'OMDC'], | ||
// College and University Mail Facilities | ||
[FacilityType.RHO]: ['Residence Hall Office', 'RHO'], | ||
}; | ||
const FacilityTypeMapping = {}; | ||
for (const abbr of Object.keys(FacilityTypes)) { | ||
for (const abbr of Object.keys(aliases.FacilityType)) { | ||
FacilityTypeMapping[normalize(abbr)] = abbr; | ||
for (const val of FacilityTypes[abbr]) { | ||
for (const val of aliases.FacilityType[abbr]) { | ||
FacilityTypeMapping[normalize(val)] = abbr; | ||
@@ -81,3 +18,3 @@ } | ||
type = toFacilityType(type); | ||
return titleCase(FacilityTypes[normalize(type)][0]); | ||
return titleCase(aliases.FacilityType[normalize(type)][0]); | ||
} | ||
@@ -127,2 +64,2 @@ export function isFacilityType(val) { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFjaWxpdHlUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RhdGEvRmFjaWxpdHlUeXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFELDhCQUE4QjtBQUM5QixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQXVDO0lBQy9ELHlCQUF5QjtJQUN6QixDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLFVBQVUsRUFBRSxLQUFLLENBQUU7SUFFekMsNEJBQTRCO0lBQzVCLDhDQUE4QztJQUM5QyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLGNBQWMsRUFBRSxLQUFLLENBQUU7SUFDN0MsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFDakMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFDbEMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDOUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxRQUFRLEVBQUUsU0FBUyxDQUFFO0lBQzNDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ2hDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzdCLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBRTtJQUMzQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFFLFFBQVEsRUFBRSxTQUFTLENBQUU7SUFDOUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFDdkMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFDakMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxXQUFXLEVBQUUsV0FBVyxDQUFFO0lBQ2hELENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ3JDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ2pDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQ2xDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBRTtJQUN4QyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUNsQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFFLFNBQVMsRUFBRSxVQUFVLENBQUU7SUFDakQsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDL0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDckMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDbkMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDakMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDL0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDaEMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDL0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBRSxPQUFPLEVBQUUsUUFBUSxDQUFFO0lBQzNDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBRTtJQUUzQyxtQ0FBbUM7SUFDbkMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBRTtJQUV0RCw2QkFBNkI7SUFDN0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDL0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDN0Is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QUFLO0lBQ2xCLFlBQVksQ0FBQyxPQUFPO0lBQ3BCLFlBQVksQ0FBQyxNQUFNO0lBQ25CLFlBQVksQ0FBQyxRQUFRO0lBQ3JCLFlBQVksQ0FBQyxPQUFPO0lBQ3BCLFlBQVksQ0FBQyxHQUFHO0lBQ2hCLFlBQVksQ0FBQyxLQUFLO0lBQ2xCLFlBQVksQ0FBQyxPQUFPO0lBQ3BCLFlBQVksQ0FBQyxJQUFJO0lBQ2pCLFlBQVksQ0FBQyxJQUFJO0lBQ2pCLFlBQVksQ0FBQyxLQUFLO0lBQ2xCLFlBQVksQ0FBQyxLQUFLO0lBQ2xCLFlBQVksQ0FBQyxLQUFLO0NBQ25CLENBQUMsQ0FBQztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBWTtJQUN6QyxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhY2lsaXR5VHlwZSB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuXG5pbXBvcnQgeyBub3JtYWxpemUsIHRpdGxlQ2FzZSB9IGZyb20gJy4uL3BhcnNlci91dGlscy5qcyc7XG5cbi8vIFVTUFMgRmFjaWxpdHkgQWJicmV2aWF0aW9uc1xuZXhwb3J0IGNvbnN0IEZhY2lsaXR5VHlwZXM6IHtba2V5IGluIEZhY2lsaXR5VHlwZV06IHN0cmluZ1tdIH0gPSB7XG4gIC8vIExlZ2lzbGF0aXZlIEJvdW5kYXJpZXNcbiAgW0ZhY2lsaXR5VHlwZS5QQ1RdOiBbICdQcmVjaW5jdCcsICdQQ1QnIF0sXG5cbiAgLy8gUHVlcnRvIFJpY28gVXJiYW5pemF0aW9uc1xuICAvLyBodHRwczovL3BlLnVzcHMuY29tL3RleHQvcHViMjgvMjhjMl8wNDMuaHRtXG4gIFtGYWNpbGl0eVR5cGUuVVJCXTogWyAnVXJiYW5pemF0aW9uJywgJ1VSQicgXSxcbiAgW0ZhY2lsaXR5VHlwZS5FWFRdOiBbJ0VYVEVOU0lPTiddLFxuICBbRmFjaWxpdHlUeXBlLk1BTlNdOiBbJ01hbnNpb25lcyddLFxuICBbRmFjaWxpdHlUeXBlLkVTVF06IFsnRVNUQVRFJ10sXG4gIFtGYWNpbGl0eVR5cGUuQUxUXTogWyAnQWx0dXJhJywgJ0FsdHVyYXMnIF0sXG4gIFtGYWNpbGl0eVR5cGUuQkRBXTogWydCYXJyaWFkYSddLFxuICBbRmFjaWxpdHlUeXBlLkJPXTogWydCYXJyaW8nXSxcbiAgW0ZhY2lsaXR5VHlwZS5CT1NRVUVdOiBbJ0Jvc3F1ZSddLFxuICBbRmFjaWxpdHlUeXBlLkJSSVNBXTogWyAnQnJpc2EnLCAnQnJpc2FzJyBdLFxuICBbRmFjaWxpdHlUeXBlLkNJVURBRF06IFsnQ2l1ZGFkJ10sXG4gIFtGYWNpbGl0eVR5cGUuQ09MSU5BXTogWyAnQ29saW5hJywgJ0NvbGluYXMnIF0sXG4gIFtGYWNpbGl0eVR5cGUuQ0hBTEVUU106IFsnQ2hhbGV0cyddLFxuICBbRmFjaWxpdHlUeXBlLkNPTVVOSURBRF06IFsnQ29tdW5pZGFkJ10sXG4gIFtGYWNpbGl0eVR5cGUuRVNUXTogWydFc3RhbmNpYXMnXSxcbiAgW0ZhY2lsaXR5VHlwZS5FWFRdOiBbICdFeHRlbnNpw7NuJywgJ0V4dGVuc2lvbicgXSxcbiAgW0ZhY2lsaXR5VHlwZS5IQUNJRU5EQV06IFsnSGFjaWVuZGEnXSxcbiAgW0ZhY2lsaXR5VHlwZS5KQVJEXTogWydKYXJkaW5lcyddLFxuICBbRmFjaWxpdHlUeXBlLklORF06IFsnSW5kdXN0cmlhbCddLFxuICBbRmFjaWxpdHlUeXBlLkxPTUFdOiBbICdMb21hJywgJ0xvbWFzJyBdLFxuICBbRmFjaWxpdHlUeXBlLk1BTlNdOiBbJ01hbnNpb25lcyddLFxuICBbRmFjaWxpdHlUeXBlLlBBUlFdOiBbJ1BhcnF1ZSddLFxuICBbRmFjaWxpdHlUeXBlLlBBUkNFTEFdOiBbICdQYXJjZWxhJywgJ1BhcmNlbGFzJyBdLFxuICBbRmFjaWxpdHlUeXBlLlBBU0VPXTogWydQYXNlbyddLFxuICBbRmFjaWxpdHlUeXBlLlBSQURFUkFdOiBbJ1ByYWRlcmEnXSxcbiAgW0ZhY2lsaXR5VHlwZS5QT1JUQUxdOiBbJ1BvcnRhbCddLFxuICBbRmFjaWxpdHlUeXBlLlBPUlRBTEVTXTogWydQb3J0YWxlcyddLFxuICBbRmFjaWxpdHlUeXBlLlFVSU5UQVNdOiBbJ1F1aW50YXMnXSxcbiAgW0ZhY2lsaXR5VHlwZS5SRVNdOiBbJ1Jlc2lkZW5jaWFsJ10sXG4gIFtGYWNpbGl0eVR5cGUuUkVQVE9dOiBbJ1JlcGFydG8nXSxcbiAgW0ZhY2lsaXR5VHlwZS5SSUJFUkFTXTogWydSaWJlcmFzJ10sXG4gIFtGYWNpbGl0eVR5cGUuU0VDVF06IFsnU2VjdG9yJ10sXG4gIFtGYWNpbGl0eVR5cGUuVEVSUl06IFsnVGVycmF6YSddLFxuICBbRmFjaWxpdHlUeXBlLlZBTExFXTogWydWYWxsZSddLFxuICBbRmFjaWxpdHlUeXBlLlZJTExBXTogWyAnVmlsbGEnLCAnVklMTEFTJyBdLFxuICBbRmFjaWxpdHlUeXBlLlZJU1RBXTogWyAnVmlzdGEnLCAnVmlzdGFzJyBdLFxuXG4gIC8vIENvbW1lcmNpYWwgRmFjaWxpdHkgRGVzaWduYXRpb25zXG4gIFtGYWNpbGl0eVR5cGUuUElFUl06IFsnUGllciddLFxuICBbRmFjaWxpdHlUeXBlLk1MUk1dOiBbICdNYWlscm9vbScsICdNTFJNJywgJ01haWwgUk0nIF0sXG5cbiAgLy8gTWlsaXRhcnkgU2hpcCBEZXNpZ25hdGlvbnNcbiAgW0ZhY2lsaXR5VHlwZS5VU0FTXTogWydVU0FTJ10sXG4gIFtGYWNpbGl0eVR5cGUuVVNBVl06IFsnVVNBViddLFxuICBbRmFjaWxpdHlUeXBlLlVTQ0dDXTogWydVU0NHQyddLFxuICBbRmFjaWxpdHlUeXBlLlVTU106IFsnVVNTJ10sXG4gIFtGYWNpbGl0eVR5cGUuVVNOVl06IFsnVVNOViddLFxuICBbRmFjaWxpdHlUeXBlLlVTTlNdOiBbJ1VTTlMnXSxcbiAgW0ZhY2lsaXR5VHlwZS5OT0FBU106IFsnTk9BQVMnXSxcblxuICAvLyBQb3N0YWwgQ2VudGVyIERlc2lnbmF0aW9uc1xuICBbRmFjaWxpdHlUeXBlLlBPXTogWyAnUE8nLCAnUC5PLicsICdQLk8nLCAnUE9CT1gnLCAnUC5PQm94JywgJ1AuTy5Cb3gnLCAnQXBhcnRhZG8nIF0sXG5cbiAgLy8gTWlsaXRhcnkgUG9zdGFsIENlbnRlcnNcbiAgW0ZhY2lsaXR5VHlwZS5QU0NdOiBbICdQb3N0YWwgU2VydmljZSBDZW50ZXInLCAnUFNDJyBdLFxuICBbRmFjaWxpdHlUeXBlLkNNUl06IFsgJ0NvbW11bml0eSBNYWlsIFJvb20nLCAnQ01SJyBdLFxuICBbRmFjaWxpdHlUeXBlLlVNUl06IFsgJ1VuaXQgTWFpbCBSb29tJywgJ1VuaXQnLCAnVU1SJyBdLFxuICBbRmFjaWxpdHlUeXBlLlJQT106IFsgJ1JlZ2lvbmFsIFBvc3QgT2ZmaWNlJywgJ1JQTycgXSxcbiAgW0ZhY2lsaXR5VHlwZS5PTURDXTogWyAnQXJteSBQb3N0IE9mZmljZScsICdPTURDJyBdLFxuXG4gIC8vIENvbGxlZ2UgYW5kIFVuaXZlcnNpdHkgTWFpbCBGYWNpbGl0aWVzXG4gIFtGYWNpbGl0eVR5cGUuUkhPXTogWyAnUmVzaWRlbmNlIEhhbGwgT2ZmaWNlJywgJ1JITycgXSxcblxufTtcblxuY29uc3QgRmFjaWxpdHlUeXBlTWFwcGluZzoge1trZXk6IHN0cmluZ106IEZhY2lsaXR5VHlwZSB9ID0ge307XG5cbmZvciAoY29uc3QgYWJiciBvZiBPYmplY3Qua2V5cyhGYWNpbGl0eVR5cGVzKSBhcyBGYWNpbGl0eVR5cGVbXSkge1xuICBGYWNpbGl0eVR5cGVNYXBwaW5nW25vcm1hbGl6ZShhYmJyKV0gPSBhYmJyO1xuICBmb3IgKGNvbnN0IHZhbCBvZiBGYWNpbGl0eVR5cGVzW2FiYnJdKSB7XG4gICAgRmFjaWxpdHlUeXBlTWFwcGluZ1tub3JtYWxpemUodmFsKV0gPSBhYmJyO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0ZhY2lsaXR5VHlwZSh2YWw6IHN0cmluZyk6IEZhY2lsaXR5VHlwZSB7XG4gIHJldHVybiBGYWNpbGl0eVR5cGVNYXBwaW5nW25vcm1hbGl6ZSh2YWwpXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZhY2lsaXR5VHlwZVN0cmluZyh0eXBlOiBGYWNpbGl0eVR5cGUgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgdHlwZSA9IHRvRmFjaWxpdHlUeXBlKHR5cGUpO1xuICByZXR1cm4gdGl0bGVDYXNlKEZhY2lsaXR5VHlwZXNbbm9ybWFsaXplKHR5cGUpXVswXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ZhY2lsaXR5VHlwZSh2YWw6IHN0cmluZyk6IHZhbCBpcyBGYWNpbGl0eVR5cGUge1xuICByZXR1cm4gISFGYWNpbGl0eVR5cGVNYXBwaW5nW25vcm1hbGl6ZSh2YWwpXTtcbn1cblxuY29uc3QgdXJiYW5pemF0aW9ucyA9IG5ldyBTZXQoW1xuICBGYWNpbGl0eVR5cGUuVVJCLFxuICBGYWNpbGl0eVR5cGUuRVhULFxuICBGYWNpbGl0eVR5cGUuTUFOUyxcbiAgRmFjaWxpdHlUeXBlLkVTVCxcbiAgRmFjaWxpdHlUeXBlLkFMVCxcbiAgRmFjaWxpdHlUeXBlLkJEQSxcbiAgRmFjaWxpdHlUeXBlLkJPLFxuICBGYWNpbGl0eVR5cGUuQk9TUVVFLFxuICBGYWNpbGl0eVR5cGUuQlJJU0EsXG4gIEZhY2lsaXR5VHlwZS5DSVVEQUQsXG4gIEZhY2lsaXR5VHlwZS5DT0xJTkEsXG4gIEZhY2lsaXR5VHlwZS5DSEFMRVRTLFxuICBGYWNpbGl0eVR5cGUuQ09NVU5JREFELFxuICBGYWNpbGl0eVR5cGUuRVNULFxuICBGYWNpbGl0eVR5cGUuRVhULFxuICBGYWNpbGl0eVR5cGUuSEFDSUVOREEsXG4gIEZhY2lsaXR5VHlwZS5KQVJELFxuICBGYWNpbGl0eVR5cGUuSU5ELFxuICBGYWNpbGl0eVR5cGUuTE9NQSxcbiAgRmFjaWxpdHlUeXBlLk1BTlMsXG4gIEZhY2lsaXR5VHlwZS5QQVJRLFxuICBGYWNpbGl0eVR5cGUuUEFSQ0VMQSxcbiAgRmFjaWxpdHlUeXBlLlBBU0VPLFxuICBGYWNpbGl0eVR5cGUuUFJBREVSQSxcbiAgRmFjaWxpdHlUeXBlLlBPUlRBTCxcbiAgRmFjaWxpdHlUeXBlLlBPUlRBTEVTLFxuICBGYWNpbGl0eVR5cGUuUVVJTlRBUyxcbiAgRmFjaWxpdHlUeXBlLlJFUyxcbiAgRmFjaWxpdHlUeXBlLlJFUFRPLFxuICBGYWNpbGl0eVR5cGUuUklCRVJBUyxcbiAgRmFjaWxpdHlUeXBlLlNFQ1QsXG4gIEZhY2lsaXR5VHlwZS5URVJSLFxuICBGYWNpbGl0eVR5cGUuVkFMTEUsXG4gIEZhY2lsaXR5VHlwZS5WSUxMQSxcbiAgRmFjaWxpdHlUeXBlLlZJU1RBLFxuXSk7XG5leHBvcnQgZnVuY3Rpb24gaXNVcmJhbml6YXRpb24odmFsOiB1bmtub3duKTogdmFsIGlzIEZhY2lsaXR5VHlwZSB7XG4gIHJldHVybiB1cmJhbml6YXRpb25zLmhhcyh0b0ZhY2lsaXR5VHlwZShTdHJpbmcodmFsKSkpO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFjaWxpdHlUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RhdGEvRmFjaWxpdHlUeXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUMsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxRCxNQUFNLG1CQUFtQixHQUFtQyxFQUFFLENBQUM7QUFFL0QsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQW1CLEVBQUU7SUFDdEUsbUJBQW1CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQzVDLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM1QyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7S0FDNUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBVztJQUN4QyxPQUFPLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsSUFBeUI7SUFDMUQsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1FBQ2pCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxJQUFJLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxHQUFXO0lBQ3hDLE9BQU8sQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUM1QixZQUFZLENBQUMsR0FBRztJQUNoQixZQUFZLENBQUMsR0FBRztJQUNoQixZQUFZLENBQUMsSUFBSTtJQUNqQixZQUFZLENBQUMsR0FBRztJQUNoQixZQUFZLENBQUMsR0FBRztJQUNoQixZQUFZLENBQUMsR0FBRztJQUNoQixZQUFZLENBQUMsRUFBRTtJQUNmLFlBQVksQ0FBQyxNQUFNO0lBQ25CLFlBQVksQ0FBQyxLQUFLO0lBQ2xCLFlBQVksQ0FBQyxNQUFNO0lBQ25CLFlBQVksQ0FBQyxNQUFNO0lBQ25CLFlBQVksQ0FBQyxPQUFPO0lBQ3BCLFlBQVksQ0FBQyxTQUFTO0lBQ3RCLFlBQVksQ0FBQyxHQUFHO0lBQ2hCLFlBQVksQ0FBQyxHQUFHO0lBQ2hCLFlBQVksQ0FBQyxRQUFRO0lBQ3JCLFlBQVksQ0FBQyxJQUFJO0lBQ2pCLFlBQVksQ0FBQyxHQUFHO0lBQ2hCLFlBQVksQ0FBQyxJQUFJO0lBQ2pCLFlBQVksQ0FBQyxJQUFJO0lBQ2pCLFlBQVksQ0FBQyxJQUFJO0lBQ2pCLFlBQVksQ0FBQyxPQUFPO0lBQ3BCLFlBQVksQ0FBQyxLQUFLO0lBQ2xCLFlBQVksQ0FBQyxPQUFPO0lBQ3BCLFlBQVksQ0FBQyxNQUFNO0lBQ25CLFlBQVksQ0FBQyxRQUFRO0lBQ3JCLFlBQVksQ0FBQyxPQUFPO0lBQ3BCLFlBQVksQ0FBQyxHQUFHO0lBQ2hCLFlBQVksQ0FBQyxLQUFLO0lBQ2xCLFlBQVksQ0FBQyxPQUFPO0lBQ3BCLFlBQVksQ0FBQyxJQUFJO0lBQ2pCLFlBQVksQ0FBQyxJQUFJO0lBQ2pCLFlBQVksQ0FBQyxLQUFLO0lBQ2xCLFlBQVksQ0FBQyxLQUFLO0lBQ2xCLFlBQVksQ0FBQyxLQUFLO0NBQ25CLENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBWTtJQUN6QyxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFsaWFzZXMsRmFjaWxpdHlUeXBlIH0gZnJvbSAnQHVuaXZlcnNlL21vZGVscyc7XG5cbmltcG9ydCB7IG5vcm1hbGl6ZSwgdGl0bGVDYXNlIH0gZnJvbSAnLi4vcGFyc2VyL3V0aWxzLmpzJztcblxuY29uc3QgRmFjaWxpdHlUeXBlTWFwcGluZzoge1trZXk6IHN0cmluZ106IEZhY2lsaXR5VHlwZSB9ID0ge307XG5cbmZvciAoY29uc3QgYWJiciBvZiBPYmplY3Qua2V5cyhhbGlhc2VzLkZhY2lsaXR5VHlwZSkgYXMgRmFjaWxpdHlUeXBlW10pIHtcbiAgRmFjaWxpdHlUeXBlTWFwcGluZ1tub3JtYWxpemUoYWJicildID0gYWJicjtcbiAgZm9yIChjb25zdCB2YWwgb2YgYWxpYXNlcy5GYWNpbGl0eVR5cGVbYWJicl0pIHtcbiAgICBGYWNpbGl0eVR5cGVNYXBwaW5nW25vcm1hbGl6ZSh2YWwpXSA9IGFiYnI7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvRmFjaWxpdHlUeXBlKHZhbDogc3RyaW5nKTogRmFjaWxpdHlUeXBlIHtcbiAgcmV0dXJuIEZhY2lsaXR5VHlwZU1hcHBpbmdbbm9ybWFsaXplKHZhbCldO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFjaWxpdHlUeXBlU3RyaW5nKHR5cGU6IEZhY2lsaXR5VHlwZSB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKHR5cGUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICB0eXBlID0gdG9GYWNpbGl0eVR5cGUodHlwZSk7XG4gIHJldHVybiB0aXRsZUNhc2UoYWxpYXNlcy5GYWNpbGl0eVR5cGVbbm9ybWFsaXplKHR5cGUpXVswXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0ZhY2lsaXR5VHlwZSh2YWw6IHN0cmluZyk6IHZhbCBpcyBGYWNpbGl0eVR5cGUge1xuICByZXR1cm4gISFGYWNpbGl0eVR5cGVNYXBwaW5nW25vcm1hbGl6ZSh2YWwpXTtcbn1cblxuY29uc3QgdXJiYW5pemF0aW9ucyA9IG5ldyBTZXQoW1xuICBGYWNpbGl0eVR5cGUuVVJCLFxuICBGYWNpbGl0eVR5cGUuRVhULFxuICBGYWNpbGl0eVR5cGUuTUFOUyxcbiAgRmFjaWxpdHlUeXBlLkVTVCxcbiAgRmFjaWxpdHlUeXBlLkFMVCxcbiAgRmFjaWxpdHlUeXBlLkJEQSxcbiAgRmFjaWxpdHlUeXBlLkJPLFxuICBGYWNpbGl0eVR5cGUuQk9TUVVFLFxuICBGYWNpbGl0eVR5cGUuQlJJU0EsXG4gIEZhY2lsaXR5VHlwZS5DSVVEQUQsXG4gIEZhY2lsaXR5VHlwZS5DT0xJTkEsXG4gIEZhY2lsaXR5VHlwZS5DSEFMRVRTLFxuICBGYWNpbGl0eVR5cGUuQ09NVU5JREFELFxuICBGYWNpbGl0eVR5cGUuRVNULFxuICBGYWNpbGl0eVR5cGUuRVhULFxuICBGYWNpbGl0eVR5cGUuSEFDSUVOREEsXG4gIEZhY2lsaXR5VHlwZS5KQVJELFxuICBGYWNpbGl0eVR5cGUuSU5ELFxuICBGYWNpbGl0eVR5cGUuTE9NQSxcbiAgRmFjaWxpdHlUeXBlLk1BTlMsXG4gIEZhY2lsaXR5VHlwZS5QQVJRLFxuICBGYWNpbGl0eVR5cGUuUEFSQ0VMQSxcbiAgRmFjaWxpdHlUeXBlLlBBU0VPLFxuICBGYWNpbGl0eVR5cGUuUFJBREVSQSxcbiAgRmFjaWxpdHlUeXBlLlBPUlRBTCxcbiAgRmFjaWxpdHlUeXBlLlBPUlRBTEVTLFxuICBGYWNpbGl0eVR5cGUuUVVJTlRBUyxcbiAgRmFjaWxpdHlUeXBlLlJFUyxcbiAgRmFjaWxpdHlUeXBlLlJFUFRPLFxuICBGYWNpbGl0eVR5cGUuUklCRVJBUyxcbiAgRmFjaWxpdHlUeXBlLlNFQ1QsXG4gIEZhY2lsaXR5VHlwZS5URVJSLFxuICBGYWNpbGl0eVR5cGUuVkFMTEUsXG4gIEZhY2lsaXR5VHlwZS5WSUxMQSxcbiAgRmFjaWxpdHlUeXBlLlZJU1RBLFxuXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VyYmFuaXphdGlvbih2YWw6IHVua25vd24pOiB2YWwgaXMgRmFjaWxpdHlUeXBlIHtcbiAgcmV0dXJuIHVyYmFuaXphdGlvbnMuaGFzKHRvRmFjaWxpdHlUeXBlKFN0cmluZyh2YWwpKSk7XG59XG4iXX0= |
@@ -1,93 +0,7 @@ | ||
import { State } from '@universe/models'; | ||
import { aliases } from '@universe/models'; | ||
import { normalize } from '../parser/utils.js'; | ||
const StateStrings = { | ||
[State.AL]: ['Alabama'], | ||
[State.AK]: ['Alaska'], | ||
[State.AS]: ['American Samoa'], | ||
[State.AZ]: ['Arizona'], | ||
[State.AR]: ['Arkansas'], | ||
[State.CA]: ['California'], | ||
[State.CO]: ['Colorado'], | ||
[State.CT]: ['Connecticut'], | ||
[State.DE]: ['Delaware'], | ||
[State.DC]: ['District of Columbia'], | ||
[State.FM]: ['Federated States of Micronesia'], | ||
[State.FL]: ['Florida'], | ||
[State.GA]: ['Georgia'], | ||
[State.GU]: ['Guam'], | ||
[State.HI]: ['Hawaii'], | ||
[State.ID]: ['Idaho'], | ||
[State.IL]: ['Illinois'], | ||
[State.IN]: ['Indiana'], | ||
[State.IA]: ['Iowa'], | ||
[State.KS]: ['Kansas'], | ||
[State.KY]: ['Kentucky'], | ||
[State.LA]: ['Louisiana'], | ||
[State.ME]: ['Maine'], | ||
[State.MH]: ['Marshall Islands'], | ||
[State.MD]: ['Maryland'], | ||
[State.MA]: ['Massachusetts'], | ||
[State.MI]: ['Michigan'], | ||
[State.MN]: ['Minnesota'], | ||
[State.MS]: ['Mississippi'], | ||
[State.MO]: ['Missouri'], | ||
[State.MT]: ['Montana'], | ||
[State.NE]: ['Nebraska'], | ||
[State.NV]: ['Nevada'], | ||
[State.NH]: ['New Hampshire'], | ||
[State.NJ]: ['New Jersey'], | ||
[State.NM]: ['New Mexico'], | ||
[State.NY]: ['New York'], | ||
[State.NC]: ['North Carolina'], | ||
[State.ND]: ['North Dakota'], | ||
[State.MP]: ['Northern Mariana Islands'], | ||
[State.OH]: ['Ohio'], | ||
[State.OK]: ['Oklahoma'], | ||
[State.OR]: ['Oregon'], | ||
[State.PW]: ['Palau'], | ||
[State.PA]: ['Pennsylvania'], | ||
[State.PR]: ['Puerto Rico'], | ||
[State.RI]: ['Rhode Island'], | ||
[State.SC]: ['South Carolina'], | ||
[State.SD]: ['South Dakota'], | ||
[State.TN]: ['Tennessee'], | ||
[State.TX]: ['Texas'], | ||
[State.UT]: ['Utah'], | ||
[State.UM]: ['United States Minor Outlying Islands'], | ||
[State.VT]: ['Vermont'], | ||
[State.VI]: ['Virgin Islands'], | ||
[State.VA]: ['Virginia'], | ||
[State.WA]: ['Washington'], | ||
[State.WV]: ['West Virginia'], | ||
[State.WI]: ['Wisconsin'], | ||
[State.WY]: ['Wyoming'], | ||
// Military Base "State" Codes | ||
[State.AE]: ['Armed Forces'], | ||
[State.AP]: ['Armed Forces Pacific'], | ||
[State.AA]: ['Armed Forces America'], | ||
// UK | ||
[State.ENG]: ['England'], | ||
[State.NIR]: ['Northern Ireland'], | ||
[State.SCT]: ['Scotland'], | ||
[State.WLS]: ['Wales'], | ||
// Canada States | ||
// https://pe.usps.com/text/pub28/28apa_005.htm | ||
[State.AB]: ['Alberta'], | ||
[State.BC]: ['British Columbia'], | ||
[State.MB]: ['Manitoba'], | ||
[State.NB]: ['New Brunswick'], | ||
[State.NL]: ['Newfoundland and Labrador'], | ||
[State.NT]: ['Northwest Territories'], | ||
[State.NS]: ['Nova Scotia'], | ||
[State.NU]: ['Nunavat Territory'], | ||
[State.ON]: ['Ontario'], | ||
[State.PE]: ['Prince Edward Island'], | ||
[State.QC]: ['Quebec'], | ||
[State.SK]: ['Saskatchewan'], | ||
[State.YT]: ['Yukon Territory'], | ||
}; | ||
const StateMappings = {}; | ||
for (const abbr of Object.keys(StateStrings)) { | ||
for (const abbr of Object.keys(aliases.State)) { | ||
StateMappings[abbr] = abbr; | ||
for (const str of StateStrings[abbr]) { | ||
for (const str of aliases.State[abbr]) { | ||
StateMappings[normalize(str)] = abbr; | ||
@@ -97,3 +11,3 @@ } | ||
export function stateString(state) { | ||
return StateStrings[normalize(state)][0]; | ||
return aliases.State[normalize(state)][0]; | ||
} | ||
@@ -106,2 +20,2 @@ export function isState(str) { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YS9TdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9DLE1BQU0sWUFBWSxHQUFpQztJQUNqRCxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUN2QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUN0QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO0lBQzlCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQ3ZCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ3hCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQzFCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ3hCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQzNCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ3hCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUM7SUFDcEMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztJQUM5QyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUN2QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUN2QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUNwQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUN0QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUNyQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUN4QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUN2QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUNwQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUN0QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUN4QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUN6QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUNyQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO0lBQ2hDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ3hCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDO0lBQzdCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ3hCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ3pCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQzNCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ3hCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQ3ZCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ3hCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ3RCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDO0lBQzdCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQzFCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQzFCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ3hCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7SUFDOUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDNUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztJQUN4QyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUNwQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUN4QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUN0QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUNyQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQztJQUM1QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUMzQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQztJQUM1QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO0lBQzlCLENBQUMsS0FBSyxDQUFD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QyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDM0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDcEMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztLQUN0QztDQUNGO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFZO0lBQ3RDLE9BQU8sWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLEdBQVc7SUFDakMsT0FBTyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLEdBQVc7SUFDakMsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGF0ZSB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuXG5pbXBvcnQgeyBub3JtYWxpemUgfSBmcm9tICcuLi9wYXJzZXIvdXRpbHMuanMnO1xuXG5jb25zdCBTdGF0ZVN0cmluZ3M6IHsgW2tleSBpbiBTdGF0ZV06IHN0cmluZ1tdIH0gPSB7XG4gIFtTdGF0ZS5BTF06IFsnQWxhYmFtYSddLFxuICBbU3RhdGUuQUtdOiBbJ0FsYXNrYSddLFxuICBbU3RhdGUuQVNdOiBbJ0FtZXJpY2FuIFNhbW9hJ10sXG4gIFtTdGF0ZS5BWl06IFsnQXJpem9uYSddLFxuICBbU3RhdGUuQVJdOiBbJ0Fya2Fuc2FzJ10sXG4gIFtTdGF0ZS5DQV06IFsnQ2FsaWZvcm5pYSddLFxuICBbU3RhdGUuQ09dOiBbJ0NvbG9yYWRvJ10sXG4gIFtTdGF0ZS5DVF06IFsnQ29ubmVjdGljdXQnXSxcbiAgW1N0YXRlLkRFXTogWydEZWxhd2FyZSddLFxuICBbU3RhdGUuRENdOiBbJ0Rpc3RyaWN0IG9mIENvbHVtYmlhJ10sXG4gIFtTdGF0ZS5GTV06IFsnRmVkZXJhdGVkIFN0YXRlcyBvZiBNaWNyb25lc2lhJ10sXG4gIFtTdGF0ZS5GTF06IFsnRmxvcmlkYSddLFxuICBbU3RhdGUuR0FdOiBbJ0dlb3JnaWEnXSxcbiAgW1N0YXRlLkdVXTogWydHdWFtJ10sXG4gIFtTdGF0ZS5ISV06IFsnSGF3YWlpJ10sXG4gIFtTdGF0ZS5JRF06IFsnSWRhaG8nXSxcbiAgW1N0YXRlLklMXTogWydJbGxpbm9pcyddLFxuICBbU3RhdGUuSU5dOiBbJ0luZGlhbmEnXSxcbiAgW1N0YXRlLklBXTogWydJb3dhJ10sXG4gIFtTdGF0ZS5LU106IFsnS2Fuc2FzJ10sXG4gIFtTdGF0ZS5LWV06IFsnS2VudHVja3knXSxcbiAgW1N0YXRlLkxBXTogWydMb3Vpc2lhbmEnXSxcbiAgW1N0YXRlLk1FXTogWydNYWluZSddLFxuICBbU3RhdGUuTUhdOiBbJ01hcnNoYWxsIElzbGFuZHMnXSxcbiAgW1N0YXRlLk1EXTogWydNYXJ5bGFuZCddLFxuICBbU3RhdGUuTUFdOiBbJ01hc3NhY2h1c2V0dHMnXSxcbiAgW1N0YXRlLk1JXTogWydNaWNoaWdhbiddLFxuICBbU3RhdGUuTU5dOiBbJ01pbm5lc290YSddLFxuICBbU3RhdGUuTVNdOiBbJ01pc3Npc3NpcHBpJ10sXG4gIFtTdGF0ZS5NT106IFsnTWlzc291cmknXSxcbiAgW1N0YXRlLk1UXTogWydNb250YW5hJ10sXG4gIFtTdGF0ZS5ORV06IFsnTmVicmFza2EnXSxcbiAgW1N0YXRlLk5WXTogWydOZXZhZGEnXSxcbiAgW1N0YXRlLk5IXTogWydOZXcgSGFtcHNoaXJlJ10sXG4gIFtTdGF0ZS5OSl06IFsnTmV3IEplcnNleSddLFxuICBbU3RhdGUuTk1dOiBbJ05ldyBNZXhpY28nXSxcbiAgW1N0YXRlLk5ZXTogWydOZXcgWW9yayddLFxuICBbU3RhdGUuTkNdOiBbJ05vcnRoIENhcm9saW5hJ10sXG4gIFtTdGF0ZS5ORF06IFsnTm9ydGggRGFrb3RhJ10sXG4gIFtTdGF0ZS5NUF06IFsnTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzJ10sXG4gIFtTdGF0ZS5PSF06IFsnT2hpbyddLFxuICBbU3RhdGUuT0tdOiBbJ09rbGFob21hJ10sXG4gIFtTdGF0ZS5PUl06IFsnT3JlZ29uJ10sXG4gIFtTdGF0ZS5QV106IFsnUGFsYXUnXSxcbiAgW1N0YXRlLlBBXTogWydQZW5uc3lsdmFuaWEnXSxcbiAgW1N0YXRlLlBSXTogWydQdWVydG8gUmljbyddLFxuICBbU3RhdGUuUkldOiBbJ1Job2RlIElzbGFuZCddLFxuICBbU3RhdGUuU0NdOiBbJ1NvdXRoIENhcm9saW5hJ10sXG4gIFtTdGF0ZS5TRF06IFsnU291dGggRGFrb3RhJ10sXG4gIFtTdGF0ZS5UTl06IFsnVGVubmVzc2VlJ10sXG4gIFtTdGF0ZS5UWF06IFsnVGV4YXMnXSxcbiAgW1N0YXRlLlVUXTogWydVdGFoJ10sXG4gIFtTdGF0ZS5VTV06IFsnVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzJ10sXG4gIFtTdGF0ZS5WVF06IFsnVmVybW9udCddLFxuICBbU3RhdGUuVkldOiBbJ1ZpcmdpbiBJc2xhbmRzJ10sXG4gIFtTdGF0ZS5WQV06IFsnVmlyZ2luaWEnXSxcbiAgW1N0YXRlLldBXTogWydXYXNoaW5ndG9uJ10sXG4gIFtTdGF0ZS5XVl06IFsnV2VzdCBWaXJnaW5pYSddLFxuICBbU3RhdGUuV0ldOiBbJ1dpc2NvbnNpbiddLFxuICBbU3RhdGUuV1ldOiBbJ1d5b21pbmcnXSxcblxuICAvLyBNaWxpdGFyeSBCYXNlIFwiU3RhdGVcIiBDb2Rlc1xuICBbU3RhdGUuQUVdOiBbJ0FybWVkIEZvcmNlcyddLFxuICBbU3RhdGUuQVBdOiBbJ0FybWVkIEZvcmNlcyBQYWNpZmljJ10sXG4gIFtTdGF0ZS5BQV06IFsnQXJtZWQgRm9yY2VzIEFtZXJpY2EnXSxcblxuICAvLyBVS1xuICBbU3RhdGUuRU5HXTogWydFbmdsYW5kJ10sXG4gIFtTdGF0ZS5OSVJdOiBbJ05vcnRoZXJuIElyZWxhbmQnXSxcbiAgW1N0YXRlLlNDVF06IFsnU2NvdGxhbmQnXSxcbiAgW1N0YXRlLldMU106IFsnV2FsZXMnXSxcblxuICAvLyBDYW5hZGEgU3RhdGVzXG4gIC8vIGh0dHBzOi8vcGUudXNwcy5jb20vdGV4dC9wdWIyOC8yOGFwYV8wMDUuaHRtXG4gIFtTdGF0ZS5BQl06IFsnQWxiZXJ0YSddLFxuICBbU3RhdGUuQkNdOiBbJ0JyaXRpc2ggQ29sdW1iaWEnXSxcbiAgW1N0YXRlLk1CXTogWydNYW5pdG9iYSddLFxuICBbU3RhdGUuTkJdOiBbJ05ldyBCcnVuc3dpY2snXSxcbiAgW1N0YXRlLk5MXTogWydOZXdmb3VuZGxhbmQgYW5kIExhYnJhZG9yJ10sXG4gIFtTdGF0ZS5OVF06IFsnTm9ydGh3ZXN0IFRlcnJpdG9yaWVzJ10sXG4gIFtTdGF0ZS5OU106IFsnTm92YSBTY290aWEnXSxcbiAgW1N0YXRlLk5VXTogWydOdW5hdmF0IFRlcnJpdG9yeSddLFxuICBbU3RhdGUuT05dOiBbJ09udGFyaW8nXSxcbiAgW1N0YXRlLlBFXTogWydQcmluY2UgRWR3YXJkIElzbGFuZCddLFxuICBbU3RhdGUuUUNdOiBbJ1F1ZWJlYyddLFxuICBbU3RhdGUuU0tdOiBbJ1Nhc2thdGNoZXdhbiddLFxuICBbU3RhdGUuWVRdOiBbJ1l1a29uIFRlcnJpdG9yeSddLFxufTtcblxuY29uc3QgU3RhdGVNYXBwaW5nczogeyBba2V5OiBzdHJpbmddOiBTdGF0ZSB9ID0ge307XG5mb3IgKGNvbnN0IGFiYnIgb2YgT2JqZWN0LmtleXMoU3RhdGVTdHJpbmdzKSBhcyBTdGF0ZVtdKSB7XG4gIFN0YXRlTWFwcGluZ3NbYWJicl0gPSBhYmJyO1xuICBmb3IgKGNvbnN0IHN0ciBvZiBTdGF0ZVN0cmluZ3NbYWJicl0pIHtcbiAgICBTdGF0ZU1hcHBpbmdzW25vcm1hbGl6ZShzdHIpXSA9IGFiYnI7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlU3RyaW5nKHN0YXRlOiBTdGF0ZSk6IHN0cmluZyB7XG4gIHJldHVybiBTdGF0ZVN0cmluZ3Nbbm9ybWFsaXplKHN0YXRlKV1bMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0YXRlKHN0cjogc3RyaW5nKTogc3RyIGlzIFN0YXRlIHtcbiAgcmV0dXJuICEhU3RhdGVNYXBwaW5nc1tub3JtYWxpemUoc3RyKV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1N0YXRlKHN0cjogc3RyaW5nKTogU3RhdGUgfCBudWxsIHtcbiAgcmV0dXJuIFN0YXRlTWFwcGluZ3Nbbm9ybWFsaXplKHN0cildIHx8IG51bGw7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YS9TdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFRLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9DLE1BQU0sYUFBYSxHQUE2QixFQUFFLENBQUM7QUFDbkQsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQVksRUFBRTtJQUN4RCxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQzNCLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNyQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO0tBQ3RDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQVk7SUFDdEMsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLEdBQVc7SUFDakMsT0FBTyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLEdBQVc7SUFDakMsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbGlhc2VzLFN0YXRlIH0gZnJvbSAnQHVuaXZlcnNlL21vZGVscyc7XG5cbmltcG9ydCB7IG5vcm1hbGl6ZSB9IGZyb20gJy4uL3BhcnNlci91dGlscy5qcyc7XG5cbmNvbnN0IFN0YXRlTWFwcGluZ3M6IHsgW2tleTogc3RyaW5nXTogU3RhdGUgfSA9IHt9O1xuZm9yIChjb25zdCBhYmJyIG9mIE9iamVjdC5rZXlzKGFsaWFzZXMuU3RhdGUpIGFzIFN0YXRlW10pIHtcbiAgU3RhdGVNYXBwaW5nc1thYmJyXSA9IGFiYnI7XG4gIGZvciAoY29uc3Qgc3RyIG9mIGFsaWFzZXMuU3RhdGVbYWJicl0pIHtcbiAgICBTdGF0ZU1hcHBpbmdzW25vcm1hbGl6ZShzdHIpXSA9IGFiYnI7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlU3RyaW5nKHN0YXRlOiBTdGF0ZSk6IHN0cmluZyB7XG4gIHJldHVybiBhbGlhc2VzLlN0YXRlW25vcm1hbGl6ZShzdGF0ZSldWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTdGF0ZShzdHI6IHN0cmluZyk6IHN0ciBpcyBTdGF0ZSB7XG4gIHJldHVybiAhIVN0YXRlTWFwcGluZ3Nbbm9ybWFsaXplKHN0cildO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9TdGF0ZShzdHI6IHN0cmluZyk6IFN0YXRlIHwgbnVsbCB7XG4gIHJldHVybiBTdGF0ZU1hcHBpbmdzW25vcm1hbGl6ZShzdHIpXSB8fCBudWxsO1xufVxuIl19 |
import { StreetType } from '@universe/models'; | ||
export declare const StreetTypes: { | ||
[key in StreetType]: string[]; | ||
}; | ||
export declare const StreetTypeMapping: { | ||
@@ -6,0 +3,0 @@ [key: string]: StreetType; |
@@ -1,243 +0,7 @@ | ||
import { StreetType } from '@universe/models'; | ||
import { aliases, StreetType } from '@universe/models'; | ||
import { normalize, titleCase } from '../parser/utils.js'; | ||
// USPS Street Type Abbreviations (C1) | ||
// https://pe.usps.com/text/pub28/28apc_002.htm | ||
export const StreetTypes = { | ||
[StreetType.ALY]: ['ALLEY', 'ALLEE', 'ALLY', 'ALY', 'AL'], | ||
[StreetType.ANX]: ['ANEX', 'ANNEX', 'ANNX', 'ANX'], | ||
[StreetType.ARC]: ['ARCADE', 'ARC'], | ||
[StreetType.AVE]: ['AVENUE', 'AV', 'AVE', 'AVEN', 'AVENU', 'AVN', 'AVNUE'], | ||
[StreetType.BYU]: ['BAYOU', 'BAYOO'], | ||
[StreetType.BCH]: ['BEACH', 'BCH'], | ||
[StreetType.BND]: ['BEND', 'BND'], | ||
[StreetType.BLF]: ['BLUFF', 'BLF', 'BLUF'], | ||
[StreetType.BLFS]: ['BLUFFS'], | ||
[StreetType.BTM]: ['BOTTOM', 'BOT', 'BTM', 'BOTTM'], | ||
[StreetType.BLVD]: ['BOULEVARD', 'BLVD', 'BOUL', 'BOULV', 'BL'], | ||
[StreetType.BR]: ['BRANCH', 'BR', 'BRNCH'], | ||
[StreetType.BRG]: ['BRIDGE', 'BRDGE', 'BRG'], | ||
[StreetType.BRK]: ['BROOK', 'BRK'], | ||
[StreetType.BRKS]: ['BROOKS'], | ||
[StreetType.BG]: ['BURG'], | ||
[StreetType.BGS]: ['BURGS'], | ||
[StreetType.BYP]: ['BYPASS', 'BYP', 'BYPA', 'BYPAS', 'BYPS'], | ||
[StreetType.CP]: ['CAMP', 'CP', 'CMP'], | ||
[StreetType.CYN]: ['CANYON', 'CANYN', 'CNYN'], | ||
[StreetType.CPE]: ['CAPE', 'CPE'], | ||
[StreetType.CSWY]: ['CAUSEWAY', 'CAUSWA', 'CSWY'], | ||
[StreetType.CTR]: ['CENTER', 'CEN', 'CENT', 'CENTR', 'CENTRE', 'CNTER', 'CNTR', 'CTR'], | ||
[StreetType.CTRS]: ['CENTERS'], | ||
[StreetType.CIR]: ['CIRCLE', 'CIR', 'CIRC', 'CIRCL', 'CRCL', 'CRCLE', 'CIRCULO'], | ||
[StreetType.CIRS]: ['CIRCLES'], | ||
[StreetType.CLF]: ['CLIFF', 'CLF'], | ||
[StreetType.CLFS]: ['CLIFFS', 'CLFS'], | ||
[StreetType.CLB]: ['CLUB', 'CLB'], | ||
[StreetType.CMN]: ['COMMON'], | ||
[StreetType.CMNS]: ['COMMONS'], | ||
[StreetType.COR]: ['CORNER', 'COR'], | ||
[StreetType.CORS]: ['CORNERS', 'CORS'], | ||
[StreetType.CRSE]: ['COURSE', 'CRSE'], | ||
[StreetType.CT]: ['COURT', 'CT'], | ||
[StreetType.CTS]: ['COURTS', 'CTS'], | ||
[StreetType.CV]: ['COVE', 'CV'], | ||
[StreetType.CVS]: ['COVES'], | ||
[StreetType.CRK]: ['CREEK', 'CRK'], | ||
[StreetType.CRES]: ['CRESCENT', 'CRES', 'CRSENT', 'CRSNT'], | ||
[StreetType.CRST]: ['CREST'], | ||
[StreetType.XING]: ['CROSSING', 'CRSSNG', 'XING'], | ||
[StreetType.XRD]: ['CROSSROAD'], | ||
[StreetType.XRDS]: ['CROSSROADS'], | ||
[StreetType.CURV]: ['CURVE'], | ||
[StreetType.DL]: ['DALE', 'DL'], | ||
[StreetType.DM]: ['DAM', 'DM'], | ||
[StreetType.DV]: ['DIVIDE', 'DIV', 'DV', 'DVD'], | ||
[StreetType.DR]: ['DRIVE', 'DR', 'DRIV', 'DRV'], | ||
[StreetType.DRS]: ['DRIVES'], | ||
[StreetType.EST]: ['ESTATE', 'EST'], | ||
[StreetType.ESTS]: ['ESTATES', 'ESTS'], | ||
[StreetType.EXPY]: ['EXPRESSWAY', 'EXP', 'EXPR', 'EXPRESS', 'EXPW', 'EXPY'], | ||
[StreetType.EXT]: ['EXTENSION', 'EXT', 'EXTN', 'EXTNSN'], | ||
[StreetType.EXTS]: ['EXTENSIONS', 'EXTS'], | ||
[StreetType.FALL]: ['FALL'], | ||
[StreetType.FLS]: ['FALLS', 'FLS'], | ||
[StreetType.FRY]: ['FERRY', 'FRRY', 'FRY'], | ||
[StreetType.FLD]: ['FIELD', 'FLD'], | ||
[StreetType.FLDS]: ['FIELDS', 'FLDS'], | ||
[StreetType.FLT]: ['FLAT', 'FLT'], | ||
[StreetType.FLTS]: ['FLATS', 'FLTS'], | ||
[StreetType.FRD]: ['FORD', 'FRD'], | ||
[StreetType.FRDS]: ['FORDS'], | ||
[StreetType.FRST]: ['FOREST', 'FORESTS', 'FRST'], | ||
[StreetType.FRG]: ['FORGE', 'FORG', 'FRG'], | ||
[StreetType.FRGS]: ['FORGES'], | ||
[StreetType.FRK]: ['FORK', 'FRK'], | ||
[StreetType.FRKS]: ['FORKS', 'FRKS'], | ||
[StreetType.FT]: ['FORT', 'FRT', 'FT'], | ||
[StreetType.FWY]: ['FREEWAY', 'FREEWY', 'FRWAY', 'FRWY', 'FWY'], | ||
[StreetType.GDN]: ['GARDEN', 'GARDN', 'GRDEN', 'GRDN'], | ||
[StreetType.GDNS]: ['GARDENS', 'GDNS', 'GRDNS'], | ||
[StreetType.GTWY]: ['GATEWAY', 'GATEWY', 'GATWAY', 'GTWAY', 'GTWY'], | ||
[StreetType.GLN]: ['GLEN', 'GLN'], | ||
[StreetType.GLNS]: ['GLENS'], | ||
[StreetType.GRN]: ['GREEN', 'GRN'], | ||
[StreetType.GRNS]: ['GREENS'], | ||
[StreetType.GRV]: ['GROVE', 'GROV', 'GRV'], | ||
[StreetType.GRVS]: ['GROVES'], | ||
[StreetType.HBR]: ['HARBOR', 'HARB', 'HARBR', 'HBR', 'HRBOR'], | ||
[StreetType.HBRS]: ['HARBORS'], | ||
[StreetType.HVN]: ['HAVEN', 'HVN'], | ||
[StreetType.HTS]: ['HEIGHTS', 'HT', 'HTS'], | ||
[StreetType.HL]: ['HILL', 'HL'], | ||
[StreetType.HLS]: ['HILLS', 'HLS'], | ||
[StreetType.HOLW]: ['HOLLOW', 'HLLW', 'HOLLOWS', 'HOLW', 'HOLWS'], | ||
[StreetType.INLT]: ['INLET', 'INLT'], | ||
[StreetType.IS]: ['ISLAND', 'IS', 'ISLND'], | ||
[StreetType.ISS]: ['ISLANDS', 'ISLNDS', 'ISS'], | ||
[StreetType.ISLE]: ['ISLE', 'ISLES'], | ||
[StreetType.JCT]: ['JUNCTION', 'JCT', 'JCTION', 'JCTN', 'JUNCTN', 'JUNCTON'], | ||
[StreetType.JCTS]: ['JUNCTIONS', 'JCTNS', 'JCTS'], | ||
[StreetType.KY]: ['KEY', 'KY'], | ||
[StreetType.KYS]: ['KEYS', 'KYS'], | ||
[StreetType.KNL]: ['KNOLL', 'KNL', 'KNOL'], | ||
[StreetType.KNLS]: ['KNOLLS', 'KNLS'], | ||
[StreetType.LK]: ['LAKE', 'LK'], | ||
[StreetType.LKS]: ['LAKES', 'LKS'], | ||
[StreetType.LAND]: ['LAND'], | ||
[StreetType.LNDG]: ['LANDING', 'LNDG', 'LNDNG'], | ||
[StreetType.LN]: ['LANE', 'LN', 'LA'], | ||
[StreetType.LGT]: ['LIGHT', 'LGT'], | ||
[StreetType.LGTS]: ['LIGHTS'], | ||
[StreetType.LF]: ['LOAF', 'LF'], | ||
[StreetType.LCK]: ['LOCK', 'LCK'], | ||
[StreetType.LCKS]: ['LOCKS', 'LCKS'], | ||
[StreetType.LDG]: ['LODGE', 'LDG', 'LDGE', 'LODG'], | ||
[StreetType.LOOP]: ['LOOP', 'LOOPS'], | ||
[StreetType.MALL]: ['MALL'], | ||
[StreetType.MNR]: ['MANOR', 'MNR'], | ||
[StreetType.MNRS]: ['MANORS', 'MNRS'], | ||
[StreetType.MDW]: ['MEADOW'], | ||
[StreetType.MDWS]: ['MEADOWS', 'MDW', 'MDWS', 'MEDOWS'], | ||
[StreetType.MEWS]: ['MEWS'], | ||
[StreetType.ML]: ['MILL'], | ||
[StreetType.MLS]: ['MILLS'], | ||
[StreetType.MSN]: ['MISSION', 'MISSN', 'MSSN'], | ||
[StreetType.MTWY]: ['MOTORWAY'], | ||
[StreetType.MT]: ['MOUNT', 'MNT', 'MT'], | ||
[StreetType.MTN]: ['MOUNTAIN', 'MNTAIN', 'MNTN', 'MOUNTIN', 'MTIN', 'MTN'], | ||
[StreetType.MTNS]: ['MOUNTAINS', 'MNTNS'], | ||
[StreetType.NCK]: ['NECK', 'NCK'], | ||
[StreetType.ORCH]: ['ORCHARD', 'ORCH', 'ORCHRD'], | ||
[StreetType.OVAL]: ['OVAL', 'OVL'], | ||
[StreetType.OPAS]: ['OVERPASS'], | ||
[StreetType.PARK]: ['PARK', 'PRK', 'PARKS', 'PK'], | ||
[StreetType.PKWY]: ['PARKWAY', 'PARKWY', 'PKWAY', 'PKWY', 'PKY', 'PARKWAYS', 'PKWYS'], | ||
[StreetType.PASS]: ['PASS'], | ||
[StreetType.PSGE]: ['PASSAGE', 'PSGE'], | ||
[StreetType.PATH]: ['PATH', 'PATHS'], | ||
[StreetType.PIKE]: ['PIKE', 'PIKES'], | ||
[StreetType.PNE]: ['PINE'], | ||
[StreetType.PNES]: ['PINES', 'PNES'], | ||
[StreetType.PL]: ['PLACE', 'PL'], | ||
[StreetType.PLN]: ['PLAIN', 'PLN'], | ||
[StreetType.PLNS]: ['PLAINS', 'PLNS'], | ||
[StreetType.PLZ]: ['PLAZA', 'PLZ', 'PLZA', 'PZ'], | ||
[StreetType.PT]: ['POINT', 'PT'], | ||
[StreetType.PTS]: ['POINTS', 'PTS'], | ||
[StreetType.PRT]: ['PORT', 'PRT'], | ||
[StreetType.PRTS]: ['PORTS', 'PRTS'], | ||
[StreetType.PR]: ['PRAIRIE', 'PR', 'PRR'], | ||
[StreetType.RADL]: ['RADIAL', 'RAD', 'RADIEL', 'RADL'], | ||
[StreetType.RAMP]: ['RAMP'], | ||
[StreetType.RNCH]: ['RANCH', 'RANCHES', 'RNCH', 'RNCHS'], | ||
[StreetType.RPD]: ['RAPID', 'RPD'], | ||
[StreetType.RPDS]: ['RAPIDS', 'RPDS'], | ||
[StreetType.RST]: ['REST', 'RST'], | ||
[StreetType.RDG]: ['RIDGE', 'RDG', 'RDGE'], | ||
[StreetType.RDGS]: ['RIDGES', 'RDGS'], | ||
[StreetType.RIV]: ['RIVER', 'RIV', 'RVR', 'RIVR'], | ||
[StreetType.RD]: ['ROAD', 'RD'], | ||
[StreetType.RDS]: ['ROADS', 'RDS'], | ||
[StreetType.RTE]: ['ROUTE', 'Ruta'], | ||
[StreetType.ROW]: ['ROW', 'RW'], | ||
[StreetType.RUE]: ['RUE'], | ||
[StreetType.RUN]: ['RUN'], | ||
[StreetType.SHL]: ['SHOAL', 'SHL'], | ||
[StreetType.SHLS]: ['SHOALS', 'SHLS'], | ||
[StreetType.SHR]: ['SHORE', 'SHOAR', 'SHR'], | ||
[StreetType.SHRS]: ['SHORES', 'SHOARS', 'SHRS'], | ||
[StreetType.SKWY]: ['SKYWAY'], | ||
[StreetType.SPG]: ['SPRING', 'SPG', 'SPNG', 'SPRNG'], | ||
[StreetType.SPGS]: ['SPRINGS', 'SPGS', 'SPNGS', 'SPRNGS'], | ||
[StreetType.SPUR]: ['SPUR', 'SPURS'], | ||
[StreetType.SQ]: ['SQUARE', 'SQ', 'SQR', 'SQRE', 'SQU'], | ||
[StreetType.SQS]: ['SQUARES', 'SQRS'], | ||
[StreetType.STA]: ['STATION', 'STA', 'STATN', 'STN'], | ||
[StreetType.STRA]: ['STRAVENUE', 'STRA', 'STRAV', 'STRAVEN', 'STRAVN', 'STRVN', 'STRVNUE'], | ||
[StreetType.STRM]: ['STREAM', 'STREME', 'STRM'], | ||
[StreetType.ST]: ['STREET', 'STRT', 'ST', 'STR', 'STREETD'], | ||
[StreetType.STS]: ['STREETS'], | ||
[StreetType.SMT]: ['SUMMIT', 'SMT', 'SUMIT', 'SUMITT'], | ||
[StreetType.TER]: ['TERRACE', 'TER', 'TERR', 'TR', 'TE'], | ||
[StreetType.TRWY]: ['THROUGHWAY'], | ||
[StreetType.TRCE]: ['TRACE', 'TRACES', 'TRCE'], | ||
[StreetType.TRAK]: ['TRACK', 'TRACKS', 'TRAK', 'TRK', 'TRKS'], | ||
[StreetType.TRFY]: ['TRAFFICWAY'], | ||
[StreetType.TRL]: ['TRAIL', 'TRAILS', 'TRL', 'TRLS'], | ||
[StreetType.TRLR]: ['TRAILER', 'TRLR', 'TRLRS'], | ||
[StreetType.TUNL]: ['TUNNEL', 'TUNEL', 'TUNL', 'TUNLS', 'TUNNELS', 'TUNNL'], | ||
[StreetType.TPKE]: ['TURNPIKE', 'TRNPK', 'TURNPK'], | ||
[StreetType.UPAS]: ['UNDERPASS'], | ||
[StreetType.UN]: ['UNION', 'UN'], | ||
[StreetType.UNS]: ['UNIONS'], | ||
[StreetType.VLY]: ['VALLEY', 'VALLY', 'VLLY', 'VLY'], | ||
[StreetType.VLYS]: ['VALLEYS', 'VLYS'], | ||
[StreetType.VIA]: ['VIA'], | ||
[StreetType.VDCT]: ['VIADUCT', 'VDCT', 'VIADCT'], | ||
[StreetType.VW]: ['VIEW', 'VW'], | ||
[StreetType.VWS]: ['VIEWS', 'VWS'], | ||
[StreetType.VLG]: ['VILLAGE', 'VILL', 'VILLAG', 'VILLG', 'VILLIAGE', 'VLG'], | ||
[StreetType.VLGS]: ['VILLAGES', 'VLGS'], | ||
[StreetType.VL]: ['VILLE', 'VL'], | ||
[StreetType.VIS]: ['VISTA', 'VIS', 'VIST', 'VST', 'VSTA'], | ||
[StreetType.WALK]: ['WALK', 'WALKS', 'WK'], | ||
[StreetType.WALL]: ['WALL'], | ||
[StreetType.WAY]: ['WAY', 'WY'], | ||
[StreetType.WAYS]: ['WAYS'], | ||
[StreetType.WL]: ['WELL'], | ||
[StreetType.WLS]: ['WELLS', 'WLS'], | ||
// Prefixes | ||
// TODO: https://pe.usps.com/text/pub28/28apf.htm | ||
[StreetType.HWY]: ['HIGHWAY', 'HIGHWY', 'HIWAY', 'HIWY', 'HWAY', 'HWY', 'HW', 'US HWY', 'US HIGHWAY'], | ||
[StreetType.HC]: ['HC', 'HCR', 'HIGHWAY CARRIER', 'HIGHWAY CONTRACT', 'HIGHWAY CARRIER ROUTE', 'HIGHWAY CONTRACT ROUTE', 'STAR ROUTE', 'Ruta Estrella'], | ||
[StreetType.RR]: ['RR', 'RURAL', 'RURAL ROUTE', 'RUTA RURAL', 'RFD', 'RT', 'ROUTE'], | ||
[StreetType.FM]: ['FARM TO MARKET ROAD', 'FM'], | ||
[StreetType.UR]: ['URBAN ROUTE', 'URBAN ROAD', 'UR'], | ||
[StreetType.SR]: ['STATE ROUTE', 'STATE ROAD', 'SR'], | ||
[StreetType.SH]: ['STATE HIGHWAY', 'STATE HIGHWY', 'STATE HIWAY', 'STATE HIWY', 'STATE HWAY', 'STATE HWY', 'SH'], | ||
[StreetType.IH]: ['INTERSTATE HIGHWAY', 'INTERSTATE HIGHWY', 'INTERSTATE HIWAY', 'INTERSTATE HIWY', 'INTERSTATE HWAY', 'INTERSTATE HWY', 'IH'], | ||
[StreetType.CR]: ['COUNTY ROUTE', 'COUNTY ROAD', 'CR'], | ||
[StreetType.TSR]: ['TOWNSHIP ROAD', 'TSR', 'TOWNSHIP RD'], | ||
// Spanish Roads | ||
[StreetType.CLL]: ['CALLE'], | ||
[StreetType.CMT]: ['CAMINITO'], | ||
[StreetType.LCMT]: ['LA CAMINITO', 'LACAMINITO'], | ||
[StreetType.CAM]: ['CAMINO'], | ||
[StreetType.ECAM]: ['EL CAMINO', 'ELCAMINO'], | ||
[StreetType.CER]: ['CERRADA'], | ||
[StreetType.LCER]: ['LA CERRADA', 'LACERRADA'], | ||
[StreetType.ENT]: ['ENTRADA'], | ||
[StreetType.LENT]: ['LA ENTRADA', 'LAENTRADA'], | ||
[StreetType.PSO]: ['PASEO'], | ||
[StreetType.EPSO]: ['EL PASEO', 'ELPASEO'], | ||
[StreetType.PLA]: ['PLACITA'], | ||
[StreetType.LPLA]: ['LA PLACITA', 'LAPLACITA'], | ||
[StreetType.RCH]: ['RANCHO'], | ||
[StreetType.ERCH]: ['EL RANCHO', 'ELRANCHO'], | ||
[StreetType.VER]: ['VEREDA'], | ||
[StreetType.LVER]: ['LA VEREDA', 'LAVEREDA'], | ||
}; | ||
export const StreetTypeMapping = {}; | ||
for (const abbr of Object.keys(StreetTypes)) { | ||
for (const abbr of Object.keys(aliases.StreetType)) { | ||
StreetTypeMapping[normalize(abbr)] = abbr; | ||
for (const val of StreetTypes[abbr]) { | ||
for (const val of aliases.StreetType[abbr]) { | ||
StreetTypeMapping[normalize(val)] = abbr; | ||
@@ -319,3 +83,3 @@ } | ||
type = toStreetType(type); | ||
return titleCase(StreetTypes[normalize(type)]?.[0] || ''); | ||
return titleCase(aliases.StreetType[normalize(type)]?.[0] || ''); | ||
} | ||
@@ -328,2 +92,2 @@ export function isStreetType(val) { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyZWV0VHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhL1N0cmVldFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFMUQsc0NBQXNDO0FBQ3RDLCtDQUErQztBQUMvQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQXFDO0lBQzNELENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBRTtJQUMzRCxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBRTtJQUNwRCxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLFFBQVEsRUFBRSxLQUFLLENBQUU7SUFDckMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUU7SUFDNUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxPQUFPLEVBQUUsT0FBTyxDQUFFO0lBQ3RDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLEtBQUssQ0FBRTtJQUNwQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLE1BQU0sRUFBRSxLQUFLLENBQUU7SUFDbkMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBRTtJQUM1QyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBRTtJQUNyRCxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUU7SUFDakUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBRTtJQUM1QyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO0lBQzlDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLEtBQUssQ0FBRTtJQUNwQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUM3QixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUN6QixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMzQixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUU7SUFDOUQsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBRTtJQUN4QyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFFO0lBQy9DLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsTUFBTSxFQUFFLEtBQUssQ0FBRTtJQUNuQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFFO0lBQ25ELENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBRTtJQUN4RixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUM5QixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBRTtJQUNsRixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUM5QixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxLQUFLLENBQUU7SUFDcEMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxRQUFRLEVBQUUsTUFBTSxDQUFFO0lBQ3ZDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsTUFBTSxFQUFFLEtBQUssQ0FBRTtJQUNuQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUM5QixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLFFBQVEsRUFBRSxLQUFLLENBQUU7SUFDckMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxTQUFTLEVBQUUsTUFBTSxDQUFFO0lBQ3hDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBRTtJQUN2QyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxJQUFJLENBQUU7SUFDbEMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxRQUFRLEVBQUUsS0FBSyxDQUFFO0lBQ3JDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUUsTUFBTSxFQUFFLElBQUksQ0FBRTtJQUNqQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMzQixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxLQUFLLENBQUU7SUFDcEMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUU7SUFDNUQsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDNUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBRTtJQUNuRCxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUMvQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQztJQUNqQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUM1QixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFFLE1BQU0sRUFBRSxJQUFJLENBQUU7SUFDakMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBRSxLQUFLLEVBQUUsSUFBSSxDQUFFO0lBQ2hDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFFO0lBQ2pELENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFFO0lBQ2pELENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzVCLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsUUFBUSxFQUFFLEtBQUssQ0FBRTtJQUNyQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLFNBQVMsRUFBRSxNQUFNLENBQUU7SUFDeEMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBRTtJQUM3RSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBRTtJQUMxRCxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLFlBQVksRUFBRSxNQUFNLENBQUU7SUFDM0MsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO0lBQ3BDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUU7SUFDNUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO0lBQ3BDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBRTtJQUN2QyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLE1BQU0sRUFBRSxLQUFLLENBQUU7SUFDbkMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxPQUFPLEVBQUUsTUFBTSxDQUFFO0lBQ3RDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsTUFBTSxFQUFFLEtBQUssQ0FBRTtJQUNuQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUM1QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFFO0lBQ2xELENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUU7SUFDNUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxNQUFNLEVBQUUsS0FBSyxDQUFFO0lBQ25DLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBRTtJQUN0QyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFFO0lBQ3hDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBRTtJQUNqRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBRTtJQUN4RCxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFFO0lBQ2pELENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBRTtJQUNyRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLE1BQU0sRUFBRSxLQUFLLENBQUU7SUFDbkMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDNUIsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO0lBQ3BDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzdCLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUU7SUFDNUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFFO0lBQy9ELENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQzlCLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLEtBQUssQ0FBRTtJQUNwQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFFO0lBQzVDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUUsTUFBTSxFQUFFLElBQUksQ0FBRTtJQUNqQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxLQUFLLENBQUU7SUFDcEMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFFO0lBQ25FLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBRTtJQUN0QyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFFO0lBQzVDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUU7SUFDaEQsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUs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QUFDLEVBQUUsQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUU7SUFDekMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBRTtJQUM1RSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLFdBQVcsRUFBRSxPQUFPLENBQUU7SUFDM0MsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxNQUFNLEVBQUUsS0FBSyxDQUFFO0lBQ25DLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUU7SUFDbEQsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxNQUFNLEVBQUUsS0FBSyxDQUFFO0lBQ3BDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQy9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFFO0lBQ25ELENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFFO0lBQ3ZGLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQzNCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBRTtJQUN4QyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLE1BQU0sRUFBRSxPQUFPLENBQUU7SUFDdEMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxNQUFNLEVBQUUsT0FBTyxDQUFFO0lBQ3RDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQzFCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBRTtJQUN0QyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxJQUFJLENBQUU7SUFDbEMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO0lBQ3BDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBRTtJQUN2QyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBRTtJQUNsRCxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxJQUFJLENBQUU7SUFDbEMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxRQUFRLEVBQUUsS0FBSyxDQUFFO0lBQ3JDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsTUFBTSxFQUFFLEtBQUssQ0FBRTtJQUNuQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxNQUFNLENBQUU7SUFDdEMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBRTtJQUMzQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBRTtJQUN4RCxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBRTtJQUMxRCxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxLQUFLLENBQUU7SUFDcEMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxRQUFRLEVBQUUsTUFBTSxDQUFFO0lBQ3ZDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsTUFBTSxFQUFFLEtBQUssQ0FBRTtJQUNuQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFFO0lBQzVDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBRTtJQUN2QyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBRTtJQUNuRCxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFFLE1BQU0sRUFBRSxJQUFJLENBQUU7SUFDakMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO0lBQ3BDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBRTtJQUNyQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLEtBQUssRUFBRSxJQUFJLENBQUU7SUFDakMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDekIsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDekIsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO0lBQ3BDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBRTtJQUN2QyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO0lBQzdDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUU7SUFDakQsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUU7SUFDdEQsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUU7SUFDM0QsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxNQUFNLEVBQUUsT0FBTyxDQUFFO0lBQ3RDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBRTtJQUN6RCxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLFNBQVMsRUFBRSxNQUFNLENBQUU7SUFDdkMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUU7SUFDdEQsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUU7SUFDNUYsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBRTtJQUNqRCxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUU7SUFDN0QsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDN0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUU7SUFDeEQsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFFO0lBQzFELENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQ2pDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUU7SUFDaEQsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFFO0lBQy9ELENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQ2pDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFFO0lBQ3RELENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUU7SUFDakQsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBRTtJQUM3RSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFFO0lBQ3BELENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ2hDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLElBQUksQ0FBRTtJQUNsQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBRTtJQUN0RCxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFFLFNBQVMsRUFBRSxNQUFNLENBQUU7SUFDeEMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDekIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBRTtJQUNsRCxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFFLE1BQU0sRUFBRSxJQUFJLENBQUU7SUFDakMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO0lBQ3BDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUU7SUFDN0UsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxVQUFVLEVBQUUsTUFBTSxDQUFFO0lBQ3pDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLElBQUksQ0FBRTtJQUNsQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUU7SUFDM0QsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBRTtJQUM1QyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDLFVBQVUsQ0FBQyxHQUFHLENB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QUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RyZWV0VHlwZSB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuXG5pbXBvcnQgeyBub3JtYWxpemUsIHRpdGxlQ2FzZSB9IGZyb20gJy4uL3BhcnNlci91dGlscy5qcyc7XG5cbi8vIFVTUFMgU3RyZWV0IFR5cGUgQWJicmV2aWF0aW9ucyAoQzEpXG4vLyBodHRwczovL3BlLnVzcHMuY29tL3RleHQvcHViMjgvMjhhcGNfMDAyLmh0bVxuZXhwb3J0IGNvbnN0IFN0cmVldFR5cGVzOiB7W2tleSBpbiBTdHJlZXRUeXBlXTogc3RyaW5nW10gfSA9IHtcbiAgW1N0cmVldFR5cGUuQUxZXTogWyAnQUxMRVknLCAnQUxMRUUnLCAnQUxMWScsICdBTFknLCAnQUwnIF0sXG4gIFtTdHJlZXRUeXBlLkFOWF06IFsgJ0FORVgnLCAnQU5ORVgnLCAnQU5OWCcsICdBTlgnIF0sXG4gIFtTdHJlZXRUeXBlLkFSQ106IFsgJ0FSQ0FERScsICdBUkMnIF0sXG4gIFtTdHJlZXRUeXBlLkFWRV06IFsgJ0FWRU5VRScsICdBVicsICdBVkUnLCAnQVZFTicsICdBVkVOVScsICdBVk4nLCAnQVZOVUUnIF0sXG4gIFtTdHJlZXRUeXBlLkJZVV06IFsgJ0JBWU9VJywgJ0JBWU9PJyBdLFxuICBbU3RyZWV0VHlwZS5CQ0hdOiBbICdCRUFDSCcsICdCQ0gnIF0sXG4gIFtTdHJlZXRUeXBlLkJORF06IFsgJ0JFTkQnLCAnQk5EJyBdLFxuICBbU3RyZWV0VHlwZS5CTEZdOiBbICdCTFVGRicsICdCTEYnLCAnQkxVRicgXSxcbiAgW1N0cmVldFR5cGUuQkxGU106IFsnQkxVRkZTJ10sXG4gIFtTdHJlZXRUeXBlLkJUTV06IFsgJ0JPVFRPTScsICdCT1QnLCAnQlRNJywgJ0JPVFRNJyBdLFxuICBbU3RyZWV0VHlwZS5CTFZEXTogWyAnQk9VTEVWQVJEJywgJ0JMVkQnLCAnQk9VTCcsICdCT1VMVicsICdCTCcgXSxcbiAgW1N0cmVldFR5cGUuQlJdOiBbICdCUkFOQ0gnLCAnQlInLCAnQlJOQ0gnIF0sXG4gIFtTdHJlZXRUeXBlLkJSR106IFsgJ0JSSURHRScsICdCUkRHRScsICdCUkcnIF0sXG4gIFtTdHJlZXRUeXBlLkJSS106IFsgJ0JST09LJywgJ0JSSycgXSxcbiAgW1N0cmVldFR5cGUuQlJLU106IFsnQlJPT0tTJ10sXG4gIFtTdHJlZXRUeXBlLkJHXTogWydCVVJHJ10sXG4gIFtTdHJlZXRUeXBlLkJHU106IFsnQlVSR1MnXSxcbiAgW1N0cmVldFR5cGUuQllQXTogWyAnQllQQVNTJywgJ0JZUCcsICdCWVBBJywgJ0JZUEFTJywgJ0JZUFMnIF0sXG4gIFtTdHJlZXRUeXBlLkNQXTogWyAnQ0FNUCcsICdDUCcsICdDTVAnIF0sXG4gIFtTdHJlZXRUeXBlLkNZTl06IFsgJ0NBTllPTicsICdDQU5ZTicsICdDTllOJyBdLFxuICBbU3RyZWV0VHlwZS5DUEVdOiBbICdDQVBFJywgJ0NQRScgXSxcbiAgW1N0cmVldFR5cGUuQ1NXWV06IFsgJ0NBVVNFV0FZJywgJ0NBVVNXQScsICdDU1dZJyBdLFxuICBbU3RyZWV0VHlwZS5DVFJdOiBbICdDRU5URVInLCAnQ0VOJywgJ0NFTlQnLCAnQ0VOVFInLCAnQ0VOVFJFJywgJ0NOVEVSJywgJ0NOVFInLCAnQ1RSJyBdLFxuICBbU3RyZWV0VHlwZS5DVFJTXTogWydDRU5URVJTJ10sXG4gIFtTdHJlZXRUeXBlLkNJUl06IFsgJ0NJUkNMRScsICdDSVInLCAnQ0lSQycsICdDSVJDTCcsICdDUkNMJywgJ0NSQ0xFJywgJ0NJUkNVTE8nIF0sXG4gIFtTdHJlZXRUeXBlLkNJUlNdOiBbJ0NJUkNMRVMnXSxcbiAgW1N0cmVldFR5cGUuQ0xGXTogWyAnQ0xJRkYnLCAnQ0xGJyBdLFxuICBbU3RyZWV0VHlwZS5DTEZTXTogWyAnQ0xJRkZTJywgJ0NMRlMnIF0sXG4gIFtTdHJlZXRUeXBlLkNMQl06IFsgJ0NMVUInLCAnQ0xCJyBdLFxuICBbU3RyZWV0VHlwZS5DTU5dOiBbJ0NPTU1PTiddLFxuICBbU3RyZWV0VHlwZS5DTU5TXTogWydDT01NT05TJ10sXG4gIFtTdHJlZXRUeXBlLkNPUl06IFsgJ0NPUk5FUicsICdDT1InIF0sXG4gIFtTdHJlZXRUeXBlLkNPUlNdOiBbICdDT1JORVJTJywgJ0NPUlMnIF0sXG4gIFtTdHJlZXRUeXBlLkNSU0VdOiBbICdDT1VSU0UnLCAnQ1JTRScgXSxcbiAgW1N0cmVldFR5cGUuQ1RdOiBbICdDT1VSVCcsICdDVCcgXSxcbiAgW1N0cmVldFR5cGUuQ1RTXTogWyAnQ09VUlRTJywgJ0NUUycgXSxcbiAgW1N0cmVldFR5cGUuQ1ZdOiBbICdDT1ZFJywgJ0NWJyBdLFxuICBbU3RyZWV0VHlwZS5DVlNdOiBbJ0NPVkVTJ10sXG4gIFtTdHJlZXRUeXBlLkNSS106IFsgJ0NSRUVLJywgJ0NSSycgXSxcbiAgW1N0cmVldFR5cGUuQ1JFU106IFsgJ0NSRVNDRU5UJywgJ0NSRVMnLCAnQ1JTRU5UJywgJ0NSU05UJyBdLFxuICBbU3RyZWV0VHlwZS5DUlNUXTogWydDUkVTVCddLFxuICBbU3RyZWV0VHlwZS5YSU5HXTogWyAnQ1JPU1NJTkcnLCAnQ1JTU05HJywgJ1hJTkcnIF0sXG4gIFtTdHJlZXRUeXBlLlhSRF06IFsnQ1JPU1NST0FEJ10sXG4gIFtTdHJlZXRUeXBlLlhSRFNdOiBbJ0NST1NTUk9BRFMnXSxcbiAgW1N0cmVldFR5cGUuQ1VSVl06IFsnQ1VSVkUnXSxcbiAgW1N0cmVldFR5cGUuRExdOiBbICdEQUxFJywgJ0RMJyBdLFxuICBbU3RyZWV0VHlwZS5ETV06IFsgJ0RBTScsICdETScgXSxcbiAgW1N0cmVldFR5cGUuRFZdOiBbICdESVZJREUnLCAnRElWJywgJ0RWJywgJ0RWRCcgXSxcbiAgW1N0cmVldFR5cGUuRFJdOiBbICdEUklWRScsICdEUicsICdEUklWJywgJ0RSVicgXSxcbiAgW1N0cmVldFR5cGUuRFJTXTogWydEUklWRVMnXSxcbiAgW1N0cmVldFR5cGUuRVNUXTogWyAnRVNUQVRFJywgJ0VTVCcgXSxcbiAgW1N0cmVldFR5cGUuRVNUU106IFsgJ0VTVEFURVMnLCAnRVNUUycgXSxcbiAgW1N0cmVldFR5cGUuRVhQWV06IFsgJ0VYUFJFU1NXQVknLCAnRVhQJywgJ0VYUFInLCAnRVhQUkVTUycsICdFWFBXJywgJ0VYUFknIF0sXG4gIFtTdHJlZXRUeXBlLkVYVF06IFsgJ0VYVEVOU0lPTicsICdFWFQnLCAnRVhUTicsICdFWFROU04nIF0sXG4gIFtTdHJlZXRUeXBlLkVYVFNdOiBbICdFWFRFTlNJT05TJywgJ0VYVFMnIF0sXG4gIFtTdHJlZXRUeXBlLkZBTExdOiBbJ0ZBTEwnXSxcbiAgW1N0cmVldFR5cGUuRkxTXTogWyAnRkFMTFMnLCAnRkxTJyBdLFxuICBbU3RyZWV0VHlwZS5GUlldOiBbICdGRVJSWScsICdGUlJZJywgJ0ZSWScgXSxcbiAgW1N0cmVldFR5cGUuRkxEXTogWyAnRklFTEQnLCAnRkxEJyBdLFxuICBbU3RyZWV0VHlwZS5GTERTXTogWyAnRklFTERTJywgJ0ZMRFMnIF0sXG4gIFtTdHJlZXRUeXBlLkZMVF06IFsgJ0ZMQVQnLCAnRkxUJyBdLFxuICBbU3RyZWV0VHlwZS5GTFRTXTogWyAnRkxBVFMnLCAnRkxUUycgXSxcbiAgW1N0cmVldFR5cGUuRlJEXTogWyAnRk9SRCcsICdGUkQnIF0sXG4gIFtTdHJlZXRUeXBlLkZSRFNdOiBbJ0ZPUkRTJ10sXG4gIFtTdHJlZXRUeXBlLkZSU1RdOiBbICdGT1JFU1QnLCAnRk9SRVNUUycsICdGUlNUJyBdLFxuICBbU3RyZWV0VHlwZS5GUkddOiBbICdGT1JHRScsICdGT1JHJywgJ0ZSRycgXSxcbiAgW1N0cmVldFR5cGUuRlJHU106IFsnRk9SR0VTJ10sXG4gIFtTdHJlZXRUeXBlLkZSS106IFsgJ0ZPUksnLCAnRlJLJyBdLFxuICBbU3RyZWV0VHlwZS5GUktTXTogWyAnRk9SS1MnLCAnRlJLUycgXSxcbiAgW1N0cmVldFR5cGUuRlRdOiBbICdGT1JUJywgJ0ZSVCcsICdGVCcgXSxcbiAgW1N0cmVldFR5cGUuRldZXTogWyAnRlJFRVdBWScsICdGUkVFV1knLCAnRlJXQVknLCAnRlJXWScsICdGV1knIF0sXG4gIFtTdHJlZXRUeXBlLkdETl06IFsgJ0dBUkRFTicsICdHQVJETicsICdHUkRFTicsICdHUkROJyBdLFxuICBbU3RyZWV0VHlwZS5HRE5TXTogWyAnR0FSREVOUycsICdHRE5TJywgJ0dSRE5TJyBdLFxuICBbU3RyZWV0VHlwZS5HVFdZXTogWyAnR0FURVdBWScsICdHQVRFV1knLCAnR0FUV0FZJywgJ0dUV0FZJywgJ0dUV1knIF0sXG4gIFtTdHJlZXRUeXBlLkdMTl06IFsgJ0dMRU4nLCAnR0xOJyBdLFxuICBbU3RyZWV0VHlwZS5HTE5TXTogWydHTEVOUyddLFxuICBbU3RyZWV0VHlwZS5HUk5dOiBbICdHUkVFTicsICdHUk4nIF0sXG4gIFtTdHJlZXRUeXBlLkdSTlNdOiBbJ0dSRUVOUyddLFxuICBbU3RyZWV0VHlwZS5HUlZdOiBbICdHUk9WRScsICdHUk9WJywgJ0dSVicgXSxcbiAgW1N0cmVldFR5cGUuR1JWU106IFsnR1JPVkVTJ10sXG4gIFtTdHJlZXRUeXBlLkhCUl06IFsgJ0hBUkJPUicsICdIQVJCJywgJ0hBUkJSJywgJ0hCUicsICdIUkJPUicgXSxcbiAgW1N0cmVldFR5cGUuSEJSU106IFsnSEFSQk9SUyddLFxuICBbU3RyZWV0VHlwZS5IVk5dOiBbICdIQVZFTicsICdIVk4nIF0sXG4gIFtTdHJlZXRUeXBlLkhUU106IFsgJ0hFSUdIVFMnLCAnSFQnLCAnSFRTJyBdLFxuICBbU3RyZWV0VHlwZS5ITF06IFsgJ0hJTEwnLCAnSEwnIF0sXG4gIFtTdHJlZXRUeXBlLkhMU106IFsgJ0hJTExTJywgJ0hMUycgXSxcbiAgW1N0cmVldFR5cGUuSE9MV106IFsgJ0hPTExPVycsICdITExXJywgJ0hPTExPV1MnLCAnSE9MVycsICdIT0xXUycgXSxcbiAgW1N0cmVldFR5cGUuSU5MVF06IFsgJ0lOTEVUJywgJ0lOTFQnIF0sXG4gIFtTdHJlZXRUeXBlLklTXTogWyAnSVNMQU5EJywgJ0lTJywgJ0lTTE5EJyBdLFxuICBbU3RyZWV0VHlwZS5JU1NdOiBbICdJU0xBTkRTJywgJ0lTTE5EUycsICdJU1MnIF0sXG4gIFtTdHJlZXRUeXBlLklTTEVdOiBbICdJU0xFJywgJ0lTTEVTJyBdLFxuICBbU3RyZWV0VHlwZS5KQ1RdOiBbICdKVU5DVElPTicsICdKQ1QnLCAnSkNUSU9OJywgJ0pDVE4nLCAnSlVOQ1ROJywgJ0pVTkNUT04nIF0sXG4gIFtTdHJlZXRUeXBlLkpDVFNdOiBbICdKVU5DVElPTlMnLCAnSkNUTlMnLCAnSkNUUycgXSxcbiAgW1N0cmVldFR5cGUuS1ldOiBbICdLRVknLCAnS1knIF0sXG4gIFtTdHJlZXRUeXBlLktZU106IFsgJ0tFWVMnLCAnS1lTJyBdLFxuICBbU3RyZWV0VHlwZS5LTkxdOiBbICdLTk9MTCcsICdLTkwnLCAnS05PTCcgXSxcbiAgW1N0cmVldFR5cGUuS05MU106IFsgJ0tOT0xMUycsICdLTkxTJyBdLFxuICBbU3RyZWV0VHlwZS5MS106IFsgJ0xBS0UnLCAnTEsnIF0sXG4gIFtTdHJlZXRUeXBlLkxLU106IFsgJ0xBS0VTJywgJ0xLUycgXSxcbiAgW1N0cmVldFR5cGUuTEFORF06IFsnTEFORCddLFxuICBbU3RyZWV0VHlwZS5MTkRHXTogWyAnTEFORElORycsICdMTkRHJywgJ0xORE5HJyBdLFxuICBbU3RyZWV0VHlwZS5MTl06IFsgJ0xBTkUnLCAnTE4nLCAnTEEnIF0sXG4gIFtTdHJlZXRUeXBlLkxHVF06IFsgJ0xJR0hUJywgJ0xHVCcgXSxcbiAgW1N0cmVldFR5cGUuTEdUU106IFsnTElHSFRTJ10sXG4gIFtTdHJlZXRUeXBlLkxGXTogWyAnTE9BRicsICdMRicgXSxcbiAgW1N0cmVldFR5cGUuTENLXTogWyAnTE9DSycsICdMQ0snIF0sXG4gIFtTdHJlZXRUeXBlLkxDS1NdOiBbICdMT0NLUycsICdMQ0tTJyBdLFxuICBbU3RyZWV0VHlwZS5MREddOiBbICdMT0RHRScsICdMREcnLCAnTERHRScsICdMT0RHJyBdLFxuICBbU3RyZWV0VHlwZS5MT09QXTogWyAnTE9PUCcsICdMT09QUycgXSxcbiAgW1N0cmVldFR5cGUuTUFMTF06IFsnTUFMTCddLFxuICBbU3RyZWV0VHlwZS5NTlJdOiBbICdNQU5PUicsICdNTlInIF0sXG4gIFtTdHJlZXRUeXBlLk1OUlNdOiBbICdNQU5PUlMnLCAnTU5SUycgXSxcbiAgW1N0cmVldFR5cGUuTURXXTogWydNRUFET1cnXSxcbiAgW1N0cmVldFR5cGUuTURXU106IFsgJ01FQURPV1MnLCAnTURXJywgJ01EV1MnLCAnTUVET1dTJyBdLFxuICBbU3RyZWV0VHlwZS5NRVdTXTogWydNRVdTJ10sXG4gIFtTdHJlZXRUeXBlLk1MXTogWydNSUxMJ10sXG4gIFtTdHJlZXRUeXBlLk1MU106IFsnTUlMTFMnXSxcbiAgW1N0cmVldFR5cGUuTVNOXTogWyAnTUlTU0lPTicsICdNSVNTTicsICdNU1NOJyBdLFxuICBbU3RyZWV0VHlwZS5NVFdZXTogWydNT1RPUldBWSddLFxuICBbU3RyZWV0VHlwZS5NVF06IFsgJ01PVU5UJywgJ01OVCcsICdNVCcgXSxcbiAgW1N0cmVldFR5cGUuTVROXTogWyAnTU9VTlRBSU4nLCAnTU5UQUlOJywgJ01OVE4nLCAnTU9VTlRJTicsICdNVElOJywgJ01UTicgXSxcbiAgW1N0cmVldFR5cGUuTVROU106IFsgJ01PVU5UQUlOUycsICdNTlROUycgXSxcbiAgW1N0cmVldFR5cGUuTkNLXTogWyAnTkVDSycsICdOQ0snIF0sXG4gIFtTdHJlZXRUeXBlLk9SQ0hdOiBbICdPUkNIQVJEJywgJ09SQ0gnLCAnT1JDSFJEJyBdLFxuICBbU3RyZWV0VHlwZS5PVkFMXTogWyAnT1ZBTCcsICdPVkwnIF0sXG4gIFtTdHJlZXRUeXBlLk9QQVNdOiBbJ09WRVJQQVNTJ10sXG4gIFtTdHJlZXRUeXBlLlBBUktdOiBbICdQQVJLJywgJ1BSSycsICdQQVJLUycsICdQSycgXSxcbiAgW1N0cmVldFR5cGUuUEtXWV06IFsgJ1BBUktXQVknLCAnUEFSS1dZJywgJ1BLV0FZJywgJ1BLV1knLCAnUEtZJywgJ1BBUktXQVlTJywgJ1BLV1lTJyBdLFxuICBbU3RyZWV0VHlwZS5QQVNTXTogWydQQVNTJ10sXG4gIFtTdHJlZXRUeXBlLlBTR0VdOiBbICdQQVNTQUdFJywgJ1BTR0UnIF0sXG4gIFtTdHJlZXRUeXBlLlBBVEhdOiBbICdQQVRIJywgJ1BBVEhTJyBdLFxuICBbU3RyZWV0VHlwZS5QSUtFXTogWyAnUElLRScsICdQSUtFUycgXSxcbiAgW1N0cmVldFR5cGUuUE5FXTogWydQSU5FJ10sXG4gIFtTdHJlZXRUeXBlLlBORVNdOiBbICdQSU5FUycsICdQTkVTJyBdLFxuICBbU3RyZWV0VHlwZS5QTF06IFsgJ1BMQUNFJywgJ1BMJyBdLFxuICBbU3RyZWV0VHlwZS5QTE5dOiBbICdQTEFJTicsICdQTE4nIF0sXG4gIFtTdHJlZXRUeXBlLlBMTlNdOiBbICdQTEFJTlMnLCAnUExOUycgXSxcbiAgW1N0cmVldFR5cGUuUExaXTogWyAnUExBWkEnLCAnUExaJywgJ1BMWkEnLCAnUFonIF0sXG4gIFtTdHJlZXRUeXBlLlBUXTogWyAnUE9JTlQnLCAnUFQnIF0sXG4gIFtTdHJlZXRUeXBlLlBUU106IFsgJ1BPSU5UUycsICdQVFMnIF0sXG4gIFtTdHJlZXRUeXBlLlBSVF06IFsgJ1BPUlQnLCAnUFJUJyBdLFxuICBbU3RyZWV0VHlwZS5QUlRTXTogWyAnUE9SVFMnLCAnUFJUUycgXSxcbiAgW1N0cmVldFR5cGUuUFJdOiBbICdQUkFJUklFJywgJ1BSJywgJ1BSUicgXSxcbiAgW1N0cmVldFR5cGUuUkFETF06IFsgJ1JBRElBTCcsICdSQUQnLCAnUkFESUVMJywgJ1JBREwnIF0sXG4gIFtTdHJlZXRUeXBlLlJBTVBdOiBbJ1JBTVAnXSxcbiAgW1N0cmVldFR5cGUuUk5DSF06IFsgJ1JBTkNIJywgJ1JBTkNIRVMnLCAnUk5DSCcsICdSTkNIUycgXSxcbiAgW1N0cmVldFR5cGUuUlBEXTogWyAnUkFQSUQnLCAnUlBEJyBdLFxuICBbU3RyZWV0VHlwZS5SUERTXTogWyAnUkFQSURTJywgJ1JQRFMnIF0sXG4gIFtTdHJlZXRUeXBlLlJTVF06IFsgJ1JFU1QnLCAnUlNUJyBdLFxuICBbU3RyZWV0VHlwZS5SREddOiBbICdSSURHRScsICdSREcnLCAnUkRHRScgXSxcbiAgW1N0cmVldFR5cGUuUkRHU106IFsgJ1JJREdFUycsICdSREdTJyBdLFxuICBbU3RyZWV0VHlwZS5SSVZdOiBbICdSSVZFUicsICdSSVYnLCAnUlZSJywgJ1JJVlInIF0sXG4gIFtTdHJlZXRUeXBlLlJEXTogWyAnUk9BRCcsICdSRCcgXSxcbiAgW1N0cmVldFR5cGUuUkRTXTogWyAnUk9BRFMnLCAnUkRTJyBdLFxuICBbU3RyZWV0VHlwZS5SVEVdOiBbICdST1VURScsICdSdXRhJyBdLFxuICBbU3RyZWV0VHlwZS5ST1ddOiBbICdST1cnLCAnUlcnIF0sXG4gIFtTdHJlZXRUeXBlLlJVRV06IFsnUlVFJ10sXG4gIFtTdHJlZXRUeXBlLlJVTl06IFsnUlVOJ10sXG4gIFtTdHJlZXRUeXBlLlNITF06IFsgJ1NIT0FMJywgJ1NITCcgXSxcbiAgW1N0cmVldFR5cGUuU0hMU106IFsgJ1NIT0FMUycsICdTSExTJyBdLFxuICBbU3RyZWV0VHlwZS5TSFJdOiBbICdTSE9SRScsICdTSE9BUicsICdTSFInIF0sXG4gIFtTdHJlZXRUeXBlLlNIUlNdOiBbICdTSE9SRVMnLCAnU0hPQVJTJywgJ1NIUlMnIF0sXG4gIFtTdHJlZXRUeXBlLlNLV1ldOiBbJ1NLWVdBWSddLFxuICBbU3RyZWV0VHlwZS5TUEddOiBbICdTUFJJTkcnLCAnU1BHJywgJ1NQTkcnLCAnU1BSTkcnIF0sXG4gIFtTdHJlZXRUeXBlLlNQR1NdOiBbICdTUFJJTkdTJywgJ1NQR1MnLCAnU1BOR1MnLCAnU1BSTkdTJyBdLFxuICBbU3RyZWV0VHlwZS5TUFVSXTogWyAnU1BVUicsICdTUFVSUycgXSxcbiAgW1N0cmVldFR5cGUuU1FdOiBbICdTUVVBUkUnLCAnU1EnLCAnU1FSJywgJ1NRUkUnLCAnU1FVJyBdLFxuICBbU3RyZWV0VHlwZS5TUVNdOiBbICdTUVVBUkVTJywgJ1NRUlMnIF0sXG4gIFtTdHJlZXRUeXBlLlNUQV06IFsgJ1NUQVRJT04nLCAnU1RBJywgJ1NUQVROJywgJ1NUTicgXSxcbiAgW1N0cmVldFR5cGUuU1RSQV06IFsgJ1NUUkFWRU5VRScsICdTVFJBJywgJ1NUUkFWJywgJ1NUUkFWRU4nLCAnU1RSQVZOJywgJ1NUUlZOJywgJ1NUUlZOVUUnIF0sXG4gIFtTdHJlZXRUeXBlLlNUUk1dOiBbICdTVFJFQU0nLCAnU1RSRU1FJywgJ1NUUk0nIF0sXG4gIFtTdHJlZXRUeXBlLlNUXTogWyAnU1RSRUVUJywgJ1NUUlQnLCAnU1QnLCAnU1RSJywgJ1NUUkVFVEQnIF0sXG4gIFtTdHJlZXRUeXBlLlNUU106IFsnU1RSRUVUUyddLFxuICBbU3RyZWV0VHlwZS5TTVRdOiBbICdTVU1NSVQnLCAnU01UJywgJ1NVTUlUJywgJ1NVTUlUVCcgXSxcbiAgW1N0cmVldFR5cGUuVEVSXTogWyAnVEVSUkFDRScsICdURVInLCAnVEVSUicsICdUUicsICdURScgXSxcbiAgW1N0cmVldFR5cGUuVFJXWV06IFsnVEhST1VHSFdBWSddLFxuICBbU3RyZWV0VHlwZS5UUkNFXTogWyAnVFJBQ0UnLCAnVFJBQ0VTJywgJ1RSQ0UnIF0sXG4gIFtTdHJlZXRUeXBlLlRSQUtdOiBbICdUUkFDSycsICdUUkFDS1MnLCAnVFJBSycsICdUUksnLCAnVFJLUycgXSxcbiAgW1N0cmVldFR5cGUuVFJGWV06IFsnVFJBRkZJQ1dBWSddLFxuICBbU3RyZWV0VHlwZS5UUkxdOiBbICdUUkFJTCcsICdUUkFJTFMnLCAnVFJMJywgJ1RSTFMnIF0sXG4gIFtTdHJlZXRUeXBlLlRSTFJdOiBbICdUUkFJTEVSJywgJ1RSTFInLCAnVFJMUlMnIF0sXG4gIFtTdHJlZXRUeXBlLlRVTkxdOiBbICdUVU5ORUwnLCAnVFVORUwnLCAnVFVOTCcsICdUVU5MUycsICdUVU5ORUxTJywgJ1RVTk5MJyBdLFxuICBbU3RyZWV0VHlwZS5UUEtFXTogWyAnVFVSTlBJS0UnLCAnVFJOUEsnLCAnVFVSTlBLJyBdLFxuICBbU3RyZWV0VHlwZS5VUEFTXTogWydVTkRFUlBBU1MnXSxcbiAgW1N0cmVldFR5cGUuVU5dOiBbICdVTklPTicsICdVTicgXSxcbiAgW1N0cmVldFR5cGUuVU5TXTogWydVTklPTlMnXSxcbiAgW1N0cmVldFR5cGUuVkxZXTogWyAnVkFMTEVZJywgJ1ZBTExZJywgJ1ZMTFknLCAnVkxZJyBdLFxuICBbU3RyZWV0VHlwZS5WTFlTXTogWyAnVkFMTEVZUycsICdWTFlTJyBdLFxuICBbU3RyZWV0VHlwZS5WSUFdOiBbJ1ZJQSddLFxuICBbU3RyZWV0VHlwZS5WRENUXTogWyAnVklBRFVDVCcsICdWRENUJywgJ1ZJQURDVCcgXSxcbiAgW1N0cmVldFR5cGUuVlddOiBbICdWSUVXJywgJ1ZXJyBdLFxuICBbU3RyZWV0VHlwZS5WV1NdOiBbICdWSUVXUycsICdWV1MnIF0sXG4gIFtTdHJlZXRUeXBlLlZMR106IFsgJ1ZJTExBR0UnLCAnVklMTCcsICdWSUxMQUcnLCAnVklMTEcnLCAnVklMTElBR0UnLCAnVkxHJyBdLFxuICBbU3RyZWV0VHlwZS5WTEdTXTogWyAnVklMTEFHRVMnLCAnVkxHUycgXSxcbiAgW1N0cmVldFR5cGUuVkxdOiBbICdWSUxMRScsICdWTCcgXSxcbiAgW1N0cmVldFR5cGUuVklTXTogWyAnVklTVEEnLCAnVklTJywgJ1ZJU1QnLCAnVlNUJywgJ1ZTVEEnIF0sXG4gIFtTdHJlZXRUeXBlLldBTEtdOiBbICdXQUxLJywgJ1dBTEtTJywgJ1dLJyBdLFxuICBbU3RyZWV0VHlwZS5XQUxMXTogWydXQUxMJ10sXG4gIFtTdHJlZXRUeXBlLldBWV06IFsgJ1dBWScsICdXWScgXSxcbiAgW1N0cmVldFR5cGUuV0FZU106IFsnV0FZUyddLFxuICBbU3RyZWV0VHlwZS5XTF06IFsnV0VMTCddLFxuICBbU3RyZWV0VHlwZS5XTFNdOiBbICdXRUxMUycsICdXTFMnIF0sXG5cbiAgLy8gUHJlZml4ZXNcbiAgLy8gVE9ETzogaHR0cHM6Ly9wZS51c3BzLmNvbS90ZXh0L3B1YjI4LzI4YXBmLmh0bVxuICBbU3RyZWV0VHlwZS5IV1ldOiBbICdISUdIV0FZJywgJ0hJR0hXWScsICdISVdBWScsICdISVdZJywgJ0hXQVknLCAnSFdZJywgJ0hXJywgJ1VTIEhXWScsICdVUyBISUdIV0FZJyBdLFxuICBbU3RyZWV0VHlwZS5IQ106IFsgJ0hDJywgJ0hDUicsICdISUdIV0FZIENBUlJJRVInLCAnSElHSFdBWSBDT05UUkFDVCcsICdISUdIV0FZIENBUlJJRVIgUk9VVEUnLCAnSElHSFdBWSBDT05UUkFDVCBST1VURScsICdTVEFSIFJPVVRFJywgJ1J1dGEgRXN0cmVsbGEnIF0sXG4gIFtTdHJlZXRUeXBlLlJSXTogWyAnUlInLCAnUlVSQUwnLCAnUlVSQUwgUk9VVEUnLCAnUlVUQSBSVVJBTCcsICdSRkQnLCAnUlQnLCAnUk9VVEUnIF0sXG4gIFtTdHJlZXRUeXBlLkZNXTogWyAnRkFSTSBUTyBNQVJLRVQgUk9BRCcsICdGTScgXSxcbiAgW1N0cmVldFR5cGUuVVJdOiBbICdVUkJBTiBST1VURScsICdVUkJBTiBST0FEJywgJ1VSJyBdLFxuICBbU3RyZWV0VHlwZS5TUl06IFsgJ1NUQVRFIFJPVVRFJywgJ1NUQVRFIFJPQUQnLCAnU1InIF0sXG4gIFtTdHJlZXRUeXBlLlNIXTogWyAnU1RBVEUgSElHSFdBWScsICdTVEFURSBISUdIV1knLCAnU1RBVEUgSElXQVknLCAnU1RBVEUgSElXWScsICdTVEFURSBIV0FZJywgJ1NUQVRFIEhXWScsICdTSCcgXSxcbiAgW1N0cmVldFR5cGUuSUhdOiBbICdJTlRFUlNUQVRFIEhJR0hXQVknLCAnSU5URVJTVEFURSBISUdIV1knLCAnSU5URVJTVEFURSBISVdBWScsICdJTlRFUlNUQVRFIEhJV1knLCAnSU5URVJTVEFURSBIV0FZJywgJ0lOVEVSU1RBVEUgSFdZJywgJ0lIJyBdLFxuICBbU3RyZWV0VHlwZS5DUl06IFsgJ0NPVU5UWSBST1VURScsICdDT1VOVFkgUk9BRCcsICdDUicgXSxcbiAgW1N0cmVldFR5cGUuVFNSXTogWyAnVE9XTlNISVAgUk9BRCcsICdUU1InLCAnVE9XTlNISVAgUkQnIF0sXG5cbiAgLy8gU3BhbmlzaCBSb2Fkc1xuICBbU3RyZWV0VHlwZS5DTExdOiBbJ0NBTExFJ10sXG5cbiAgW1N0cmVldFR5cGUuQ01UXTogWydDQU1JTklUTyddLFxuICBbU3RyZWV0VHlwZS5MQ01UXTogWyAnTEEgQ0FNSU5JVE8nLCAnTEFDQU1JTklUTycgXSxcblxuICBbU3RyZWV0VHlwZS5DQU1dOiBbJ0NBTUlOTyddLFxuICBbU3RyZWV0VHlwZS5FQ0FNXTogWyAnRUwgQ0FNSU5PJywgJ0VMQ0FNSU5PJyBdLFxuXG4gIFtTdHJlZXRUeXBlLkNFUl06IFsnQ0VSUkFEQSddLFxuICBbU3RyZWV0VHlwZS5MQ0VSXTogWyAnTEEgQ0VSUkFEQScsICdMQUNFUlJBREEnIF0sXG5cbiAgW1N0cmVldFR5cGUuRU5UXTogWydFTlRSQURBJ10sXG4gIFtTdHJlZXRUeXBlLkxFTlRdOiBbICdMQSBFTlRSQURBJywgJ0xBRU5UUkFEQScgXSxcblxuICBbU3RyZWV0VHlwZS5QU09dOiBbJ1BBU0VPJ10sXG4gIFtTdHJlZXRUeXBlLkVQU09dOiBbICdFTCBQQVNFTycsICdFTFBBU0VPJyBdLFxuXG4gIFtTdHJlZXRUeXBlLlBMQV06IFsnUExBQ0lUQSddLFxuICBbU3RyZWV0VHlwZS5MUExBXTogWyAnTEEgUExBQ0lUQScsICdMQVBMQUNJVEEnIF0sXG5cbiAgW1N0cmVldFR5cGUuUkNIXTogWydSQU5DSE8nXSxcbiAgW1N0cmVldFR5cGUuRVJDSF06IFsgJ0VMIFJBTkNITycsICdFTFJBTkNITycgXSxcblxuICBbU3RyZWV0VHlwZS5WRVJdOiBbJ1ZFUkVEQSddLFxuICBbU3RyZWV0VHlwZS5MVkVSXTogWyAnTEEgVkVSRURBJywgJ0xBVkVSRURBJyBdLFxuXG59O1xuXG5leHBvcnQgY29uc3QgU3RyZWV0VHlwZU1hcHBpbmc6IHtba2V5OiBzdHJpbmddOiBTdHJlZXRUeXBlIH0gPSB7fTtcblxuZm9yIChjb25zdCBhYmJyIG9mIE9iamVjdC5rZXlzKFN0cmVldFR5cGVzKSBhcyBTdHJlZXRUeXBlW10pIHtcbiAgU3RyZWV0VHlwZU1hcHBpbmdbbm9ybWFsaXplKGFiYnIpXSA9IGFiYnI7XG4gIGZvciAoY29uc3QgdmFsIG9mIFN0cmVldFR5cGVzW2FiYnJdKSB7XG4gICAgU3RyZWV0VHlwZU1hcHBpbmdbbm9ybWFsaXplKHZhbCldID0gYWJicjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9TdHJlZXRUeXBlKHZhbDogc3RyaW5nKTogU3RyZWV0VHlwZSB7XG4gIHJldHVybiBTdHJlZXRUeXBlTWFwcGluZ1tub3JtYWxpemUodmFsKV07XG59XG5cbmNvbnN0IFN0cmVldFByZWZpeGVzID0gbmV3IFNldChbXG4gIFN0cmVldFR5cGUuSEMsXG4gIFN0cmVldFR5cGUuRk0sXG4gIFN0cmVldFR5cGUuUlIsXG4gIFN0cmVldFR5cGUuU1IsXG4gIFN0cmVldFR5cGUuQ1IsXG4gIFN0cmVldFR5cGUuVFNSLFxuXG4gIFN0cmVldFR5cGUuQ0xMLFxuICBTdHJlZXRUeXBlLkNNVCxcbiAgU3RyZWV0VHlwZS5DQU0sXG4gIFN0cmVldFR5cGUuQ0VSLFxuICBTdHJlZXRUeXBlLkVOVCxcbiAgU3RyZWV0VHlwZS5QU08sXG4gIFN0cmVldFR5cGUuUExBLFxuICBTdHJlZXRUeXBlLlJDSCxcbiAgU3RyZWV0VHlwZS5WRVIsXG4gIFN0cmVldFR5cGUuVklBLFxuXG4gIFN0cmVldFR5cGUuTENNVCxcbiAgU3RyZWV0VHlwZS5FQ0FNLFxuICBTdHJlZXRUeXBlLkxDRVIsXG4gIFN0cmVldFR5cGUuTEVOVCxcbiAgU3RyZWV0VHlwZS5FUFNPLFxuICBTdHJlZXRUeXBlLkxQTEEsXG4gIFN0cmVldFR5cGUuRVJDSCxcbiAgU3RyZWV0VHlwZS5MVkVSLFxuXSk7XG5cbmNvbnN0IFNwYW5pc2hQcmVmaXhlcyA9IG5ldyBTZXQoW1xuICBTdHJlZXRUeXBlLkNMTCxcbiAgU3RyZWV0VHlwZS5DTVQsXG4gIFN0cmVldFR5cGUuQ0FNLFxuICBTdHJlZXRUeXBlLkNFUixcbiAgU3RyZWV0VHlwZS5FTlQsXG4gIFN0cmVldFR5cGUuUFNPLFxuICBTdHJlZXRUeXBlLlBMQSxcbiAgU3RyZWV0VHlwZS5SQ0gsXG4gIFN0cmVldFR5cGUuVkVSLFxuICBTdHJlZXRUeXBlLlZJQSxcblxuICBTdHJlZXRUeXBlLkxDTVQsXG4gIFN0cmVldFR5cGUuRUNBTSxcbiAgU3RyZWV0VHlwZS5MQ0VSLFxuICBTdHJlZXRUeXBlLkxFTlQsXG4gIFN0cmVldFR5cGUuRVBTTyxcbiAgU3RyZWV0VHlwZS5MUExBLFxuICBTdHJlZXRUeXBlLkVSQ0gsXG4gIFN0cmVldFR5cGUuTFZFUixcbl0pO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJlZXRQcmVmaXgodmFsOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIGlmICghdmFsKSB7IHJldHVybiBmYWxzZTsgfVxuICBjb25zdCB0eXBlID0gdG9TdHJlZXRUeXBlKFN0cmluZyh2YWwpKTtcbiAgcmV0dXJuIHR5cGUgPyBTdHJlZXRQcmVmaXhlcy5oYXModHlwZSkgOiB0eXBlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTcGFuaXNoUHJlZml4KHZhbDogdW5rbm93bik6IGJvb2xlYW4ge1xuICBpZiAoIXZhbCkgeyByZXR1cm4gZmFsc2U7IH1cbiAgY29uc3QgdHlwZSA9IHRvU3RyZWV0VHlwZShTdHJpbmcodmFsKSk7XG4gIHJldHVybiB0eXBlID8gU3BhbmlzaFByZWZpeGVzLmhhcyh0eXBlKSA6IHR5cGU7XG59XG5cbi8vIERvbid0IGV4cGFuZCBhYmJyZXZlYXRpb25zIHRoYXQgbWF5IGhhdmUgbXVsdGlwbGUgYW1iaWd1b3VzIG1lYW5pbmdzLiBFeDogRG9jdG9yIGFuZCBTYWludC5cbmNvbnN0IERPX05PVF9FWFBBTkQ6IFNldDxzdHJpbmc+ID0gbmV3IFNldChbIFN0cmVldFR5cGUuRFIsIFN0cmVldFR5cGUuU1QgXSk7XG5leHBvcnQgZnVuY3Rpb24gc3RyZWV0VHlwZVN0cmluZyh0eXBlOiBTdHJlZXRUeXBlIHwgbnVsbCk6IHN0cmluZyB8IG51bGwge1xuICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGlmIChET19OT1RfRVhQQU5ELmhhcyhub3JtYWxpemUodHlwZSkpKSB7IHJldHVybiB0eXBlOyB9XG4gIHR5cGUgPSB0b1N0cmVldFR5cGUodHlwZSk7XG4gIHJldHVybiB0aXRsZUNhc2UoU3RyZWV0VHlwZXNbbm9ybWFsaXplKHR5cGUpXT8uWzBdIHx8ICcnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyZWV0VHlwZSh2YWw/OiBzdHJpbmcgfCBudWxsKTogdmFsIGlzIFN0cmVldFR5cGUge1xuICBpZiAoIXZhbCkgeyByZXR1cm4gZmFsc2U7IH1cbiAgcmV0dXJuICEhU3RyZWV0VHlwZU1hcHBpbmdbbm9ybWFsaXplKHZhbCldO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyZWV0VHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhL1N0cmVldFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFpQyxFQUFFLENBQUM7QUFFbEUsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQWlCLEVBQUU7SUFDbEUsaUJBQWlCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQzFDLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMxQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7S0FDMUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBVztJQUN0QyxPQUFPLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUM3QixVQUFVLENBQUMsRUFBRTtJQUNiLFVBQVUsQ0FBQyxFQUFFO0lBQ2IsVUFBVSxDQUFDLEVBQUU7SUFDYixVQUFVLENBQUMsRUFBRTtJQUNiLFVBQVUsQ0FBQyxFQUFFO0lBQ2IsVUFBVSxDQUFDLEdBQUc7SUFFZCxVQUFVLENBQUMsR0FBRztJQUNkLFVBQVUsQ0FBQyxHQUFHO0lBQ2QsVUFBVSxDQUFDLEdBQUc7SUFDZCxVQUFVLENBQUMsR0FBRztJQUNkLFVBQVUsQ0FBQyxHQUFHO0lBQ2QsVUFBVSxDQUFDLEdBQUc7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dmVyc2UvbW9kZWxzJztcblxuaW1wb3J0IHsgbm9ybWFsaXplLCB0aXRsZUNhc2UgfSBmcm9tICcuLi9wYXJzZXIvdXRpbHMuanMnO1xuXG5leHBvcnQgY29uc3QgU3RyZWV0VHlwZU1hcHBpbmc6IHtba2V5OiBzdHJpbmddOiBTdHJlZXRUeXBlIH0gPSB7fTtcblxuZm9yIChjb25zdCBhYmJyIG9mIE9iamVjdC5rZXlzKGFsaWFzZXMuU3RyZWV0VHlwZSkgYXMgU3RyZWV0VHlwZVtdKSB7XG4gIFN0cmVldFR5cGVNYXBwaW5nW25vcm1hbGl6ZShhYmJyKV0gPSBhYmJyO1xuICBmb3IgKGNvbnN0IHZhbCBvZiBhbGlhc2VzLlN0cmVldFR5cGVbYWJicl0pIHtcbiAgICBTdHJlZXRUeXBlTWFwcGluZ1tub3JtYWxpemUodmFsKV0gPSBhYmJyO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1N0cmVldFR5cGUodmFsOiBzdHJpbmcpOiBTdHJlZXRUeXBlIHtcbiAgcmV0dXJuIFN0cmVldFR5cGVNYXBwaW5nW25vcm1hbGl6ZSh2YWwpXTtcbn1cblxuY29uc3QgU3RyZWV0UHJlZml4ZXMgPSBuZXcgU2V0KFtcbiAgU3RyZWV0VHlwZS5IQyxcbiAgU3RyZWV0VHlwZS5GTSxcbiAgU3RyZWV0VHlwZS5SUixcbiAgU3RyZWV0VHlwZS5TUixcbiAgU3RyZWV0VHlwZS5DUixcbiAgU3RyZWV0VHlwZS5UU1IsXG5cbiAgU3RyZWV0VHlwZS5DTEwsXG4gIFN0cmVldFR5cGUuQ01ULFxuICBTdHJlZXRUeXBlLkNBTSxcbiAgU3RyZWV0VHlwZS5DRVIsXG4gIFN0cmVldFR5cGUuRU5ULFxuICBTdHJlZXRUeXBlLlBTTyxcbiAgU3RyZWV0VHlwZS5QTEEsXG4gIFN0cmVldFR5cGUuUkNILFxuICBTdHJlZXRUeXBlLlZFUixcbiAgU3RyZWV0VHlwZS5WSUEsXG5cbiAgU3RyZWV0VHlwZS5MQ01ULFxuICBTdHJlZXRUeXBlLkVDQU0sXG4gIFN0cmVldFR5cGUuTENFUixcbiAgU3RyZWV0VHlwZS5MRU5ULFxuICBTdHJlZXRUeXBlLkVQU08sXG4gIFN0cmVldFR5cGUuTFBMQSxcbiAgU3RyZWV0VHlwZS5FUkNILFxuICBTdHJlZXRUeXBlLkxWRVIsXG5dKTtcblxuY29uc3QgU3BhbmlzaFByZWZpeGVzID0gbmV3IFNldChbXG4gIFN0cmVldFR5cGUuQ0xMLFxuICBTdHJlZXRUeXBlLkNNVCxcbiAgU3RyZWV0VHlwZS5DQU0sXG4gIFN0cmVldFR5cGUuQ0VSLFxuICBTdHJlZXRUeXBlLkVOVCxcbiAgU3RyZWV0VHlwZS5QU08sXG4gIFN0cmVldFR5cGUuUExBLFxuICBTdHJlZXRUeXBlLlJDSCxcbiAgU3RyZWV0VHlwZS5WRVIsXG4gIFN0cmVldFR5cGUuVklBLFxuXG4gIFN0cmVldFR5cGUuTENNVCxcbiAgU3RyZWV0VHlwZS5FQ0FNLFxuICBTdHJlZXRUeXBlLkxDRVIsXG4gIFN0cmVldFR5cGUuTEVOVCxcbiAgU3RyZWV0VHlwZS5FUFNPLFxuICBTdHJlZXRUeXBlLkxQTEEsXG4gIFN0cmVldFR5cGUuRVJDSCxcbiAgU3RyZWV0VHlwZS5MVkVSLFxuXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmVldFByZWZpeCh2YWw6IHVua25vd24pOiBib29sZWFuIHtcbiAgaWYgKCF2YWwpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIGNvbnN0IHR5cGUgPSB0b1N0cmVldFR5cGUoU3RyaW5nKHZhbCkpO1xuICByZXR1cm4gdHlwZSA/IFN0cmVldFByZWZpeGVzLmhhcyh0eXBlKSA6IHR5cGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwYW5pc2hQcmVmaXgodmFsOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIGlmICghdmFsKSB7IHJldHVybiBmYWxzZTsgfVxuICBjb25zdCB0eXBlID0gdG9TdHJlZXRUeXBlKFN0cmluZyh2YWwpKTtcbiAgcmV0dXJuIHR5cGUgPyBTcGFuaXNoUHJlZml4ZXMuaGFzKHR5cGUpIDogdHlwZTtcbn1cblxuLy8gRG9uJ3QgZXhwYW5kIGFiYnJldmVhdGlvbnMgdGhhdCBtYXkgaGF2ZSBtdWx0aXBsZSBhbWJpZ3VvdXMgbWVhbmluZ3MuIEV4OiBEb2N0b3IgYW5kIFNhaW50LlxuY29uc3QgRE9fTk9UX0VYUEFORDogU2V0PHN0cmluZz4gPSBuZXcgU2V0KFsgU3RyZWV0VHlwZS5EUiwgU3RyZWV0VHlwZS5TVCBdKTtcbmV4cG9ydCBmdW5jdGlvbiBzdHJlZXRUeXBlU3RyaW5nKHR5cGU6IFN0cmVldFR5cGUgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgaWYgKERPX05PVF9FWFBBTkQuaGFzKG5vcm1hbGl6ZSh0eXBlKSkpIHsgcmV0dXJuIHR5cGU7IH1cbiAgdHlwZSA9IHRvU3RyZWV0VHlwZSh0eXBlKTtcbiAgcmV0dXJuIHRpdGxlQ2FzZShhbGlhc2VzLlN0cmVldFR5cGVbbm9ybWFsaXplKHR5cGUpXT8uWzBdIHx8ICcnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyZWV0VHlwZSh2YWw/OiBzdHJpbmcgfCBudWxsKTogdmFsIGlzIFN0cmVldFR5cGUge1xuICBpZiAoIXZhbCkgeyByZXR1cm4gZmFsc2U7IH1cbiAgcmV0dXJuICEhU3RyZWV0VHlwZU1hcHBpbmdbbm9ybWFsaXplKHZhbCldO1xufVxuIl19 |
import { UnitAbbr } from '@universe/models'; | ||
export declare const UnitAbbrStrings: { | ||
[key in UnitAbbr]: string[]; | ||
}; | ||
export declare const UnitAbbrsMappings: { | ||
@@ -6,0 +3,0 @@ [key: string]: UnitAbbr; |
@@ -1,41 +0,7 @@ | ||
import { UnitAbbr } from '@universe/models'; | ||
import { aliases } from '@universe/models'; | ||
import { normalize } from '../parser/utils.js'; | ||
export const UnitAbbrStrings = { | ||
[UnitAbbr.APT]: ['Apartment', 'APP', 'APPT', 'Apartamento'], | ||
[UnitAbbr.BSMT]: ['Basement'], | ||
[UnitAbbr.BLDG]: ['Building', 'Edificio', 'BLD'], | ||
[UnitAbbr.BOX]: ['Box', 'CALLER', 'FIRM', 'BIN', 'LOCKBOX', 'DRAWER', 'BOXX', 'BX', 'PO', 'POB', 'BUZON', 'BZN'], | ||
[UnitAbbr.DEPT]: ['Department'], | ||
[UnitAbbr.FL]: ['Floor', 'FLR', 'FLOO'], | ||
[UnitAbbr.FRNT]: ['Front'], | ||
[UnitAbbr.HNGR]: ['Hanger'], | ||
[UnitAbbr.KEY]: ['Key'], | ||
[UnitAbbr.LBBY]: ['Lobby'], | ||
[UnitAbbr.LOT]: ['Lot'], | ||
[UnitAbbr.LOWR]: ['Lower', 'LWR', 'Bottom', 'BTTM', 'Ground'], | ||
[UnitAbbr.OFC]: ['Office'], | ||
[UnitAbbr.PH]: ['Penthouse'], | ||
[UnitAbbr.PIER]: ['Pier'], | ||
[UnitAbbr.REAR]: ['Rear'], | ||
[UnitAbbr.RM]: ['Room'], | ||
[UnitAbbr.SIDE]: ['Side'], | ||
[UnitAbbr.SLIP]: ['Slip'], | ||
[UnitAbbr.SPC]: ['Space'], | ||
[UnitAbbr.STOP]: ['Stop'], | ||
[UnitAbbr.STE]: ['Suite'], | ||
[UnitAbbr.TRLR]: ['Trailer'], | ||
[UnitAbbr.UNIT]: ['Unit'], | ||
[UnitAbbr.UPPR]: ['Upper'], | ||
// Non Standard | ||
[UnitAbbr.NO]: ['Number'], | ||
[UnitAbbr.LFT]: ['Loft'], | ||
[UnitAbbr.LV]: ['Level', 'LVL'], | ||
[UnitAbbr.COTTAGE]: ['Cottage'], | ||
[UnitAbbr.YT]: ['Yacht'], | ||
[UnitAbbr.DORM]: ['Dorm', 'Dormitory'], | ||
}; | ||
export const UnitAbbrsMappings = {}; | ||
for (const abbr of Object.keys(UnitAbbrStrings)) { | ||
for (const abbr of Object.keys(aliases.UnitAbbr)) { | ||
UnitAbbrsMappings[normalize(abbr)] = abbr; | ||
for (const str of UnitAbbrStrings[abbr]) { | ||
for (const str of aliases.UnitAbbr[abbr]) { | ||
UnitAbbrsMappings[normalize(str)] = abbr; | ||
@@ -52,3 +18,3 @@ } | ||
abbr = toUnitAbbr(abbr); | ||
return UnitAbbrStrings[abbr][0]; | ||
return aliases.UnitAbbr[abbr][0]; | ||
} | ||
@@ -59,4 +25,4 @@ export function isUnitAbbr(abbr) { | ||
export function isUnitEnum(abbr) { | ||
return !!UnitAbbrStrings[abbr.toUpperCase()]; | ||
return !!aliases.UnitAbbr[abbr.toUpperCase()]; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5pdEFiYnIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YS9Vbml0QWJici50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBb0M7SUFDOUQsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUU7SUFDN0QsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDN0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBRTtJQUNsRCxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO0lBQ2xILENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQy9CLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUU7SUFDekMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDMUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDM0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDdkIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDMUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDdkIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFFO0lBQy9ELENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzFCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3pCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3pCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3pCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3pCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ3pCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3pCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ3pCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQzVCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3pCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDO0lBRTFCLGVBQWU7SUFDZixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUN4QixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFFLE9BQU8sRUFBRSxLQUFLLENBQUU7SUFDakMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDL0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBRSxNQUFNLEVBQUUsV0FBVyxDQUFFO0NBQ3pDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBZ0MsRUFBRSxDQUFDO0FBQ2pFLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQWUsRUFBRTtJQUM3RCxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDMUMsS0FBSyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdkMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO0tBQzFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVk7SUFDckMsT0FBTyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUFxQjtJQUNsRCxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7UUFBRSxPQUFPLElBQUksQ0FBQztLQUFFO0lBQ25DLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBWTtJQUNyQyxPQUFPLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFZO0lBQ3JDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW5pdEFiYnIgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcblxuaW1wb3J0IHsgbm9ybWFsaXplIH0gZnJvbSAnLi4vcGFyc2VyL3V0aWxzLmpzJztcblxuZXhwb3J0IGNvbnN0IFVuaXRBYmJyU3RyaW5nczogeyBba2V5IGluIFVuaXRBYmJyXTogc3RyaW5nW10gfSA9IHtcbiAgW1VuaXRBYmJyLkFQVF06IFsgJ0FwYXJ0bWVudCcsICdBUFAnLCAnQVBQVCcsICdBcGFydGFtZW50bycgXSxcbiAgW1VuaXRBYmJyLkJTTVRdOiBbJ0Jhc2VtZW50J10sXG4gIFtVbml0QWJici5CTERHXTogWyAnQnVpbGRpbmcnLCAnRWRpZmljaW8nLCAnQkxEJyBdLFxuICBbVW5pdEFiYnIuQk9YXTogWyAnQm94JywgJ0NBTExFUicsICdGSVJNJywgJ0JJTicsICdMT0NLQk9YJywgJ0RSQVdFUicsICdCT1hYJywgJ0JYJywgJ1BPJywgJ1BPQicsICdCVVpPTicsICdCWk4nIF0sXG4gIFtVbml0QWJici5ERVBUXTogWydEZXBhcnRtZW50J10sXG4gIFtVbml0QWJici5GTF06IFsgJ0Zsb29yJywgJ0ZMUicsICdGTE9PJyBdLFxuICBbVW5pdEFiYnIuRlJOVF06IFsnRnJvbnQnXSxcbiAgW1VuaXRBYmJyLkhOR1JdOiBbJ0hhbmdlciddLFxuICBbVW5pdEFiYnIuS0VZXTogWydLZXknXSxcbiAgW1VuaXRBYmJyLkxCQlldOiBbJ0xvYmJ5J10sXG4gIFtVbml0QWJici5MT1RdOiBbJ0xvdCddLFxuICBbVW5pdEFiYnIuTE9XUl06IFsgJ0xvd2VyJywgJ0xXUicsICdCb3R0b20nLCAnQlRUTScsICdHcm91bmQnIF0sXG4gIFtVbml0QWJici5PRkNdOiBbJ09mZmljZSddLFxuICBbVW5pdEFiYnIuUEhdOiBbJ1BlbnRob3VzZSddLFxuICBbVW5pdEFiYnIuUElFUl06IFsnUGllciddLFxuICBbVW5pdEFiYnIuUkVBUl06IFsnUmVhciddLFxuICBbVW5pdEFiYnIuUk1dOiBbJ1Jvb20nXSxcbiAgW1VuaXRBYmJyLlNJREVdOiBbJ1NpZGUnXSxcbiAgW1VuaXRBYmJyLlNMSVBdOiBbJ1NsaXAnXSxcbiAgW1VuaXRBYmJyLlNQQ106IFsnU3BhY2UnXSxcbiAgW1VuaXRBYmJyLlNUT1BdOiBbJ1N0b3AnXSxcbiAgW1VuaXRBYmJyLlNURV06IFsnU3VpdGUnXSxcbiAgW1VuaXRBYmJyLlRSTFJdOiBbJ1RyYWlsZXInXSxcbiAgW1VuaXRBYmJyLlVOSVRdOiBbJ1VuaXQnXSxcbiAgW1VuaXRBYmJyLlVQUFJdOiBbJ1VwcGVyJ10sXG5cbiAgLy8gTm9uIFN0YW5kYXJkXG4gIFtVbml0QWJici5OT106IFsnTnVtYmVyJ10sXG4gIFtVbml0QWJici5MRlRdOiBbJ0xvZnQnXSxcbiAgW1VuaXRBYmJyLkxWXTogWyAnTGV2ZWwnLCAnTFZMJyBdLFxuICBbVW5pdEFiYnIuQ09UVEFHRV06IFsnQ290dGFnZSddLFxuICBbVW5pdEFiYnIuWVRdOiBbJ1lhY2h0J10sXG4gIFtVbml0QWJici5ET1JNXTogWyAnRG9ybScsICdEb3JtaXRvcnknIF0sXG59O1xuXG5leHBvcnQgY29uc3QgVW5pdEFiYnJzTWFwcGluZ3M6IHsgW2tleTogc3RyaW5nXTogVW5pdEFiYnIgfSA9IHt9O1xuZm9yIChjb25zdCBhYmJyIG9mIE9iamVjdC5rZXlzKFVuaXRBYmJyU3RyaW5ncykgYXMgVW5pdEFiYnJbXSkge1xuICBVbml0QWJicnNNYXBwaW5nc1tub3JtYWxpemUoYWJicildID0gYWJicjtcbiAgZm9yIChjb25zdCBzdHIgb2YgVW5pdEFiYnJTdHJpbmdzW2FiYnJdKSB7XG4gICAgVW5pdEFiYnJzTWFwcGluZ3Nbbm9ybWFsaXplKHN0cildID0gYWJicjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9Vbml0QWJicihhYmJyOiBzdHJpbmcpOiBVbml0QWJiciB7XG4gIHJldHVybiBVbml0QWJicnNNYXBwaW5nc1tub3JtYWxpemUoYWJicildO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5pdEFiYnJTdHJpbmcoYWJicjogVW5pdEFiYnIgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmIChhYmJyID09PSBudWxsKSB7IHJldHVybiBudWxsOyB9XG4gIGFiYnIgPSB0b1VuaXRBYmJyKGFiYnIpO1xuICByZXR1cm4gVW5pdEFiYnJTdHJpbmdzW2FiYnJdWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVbml0QWJicihhYmJyOiBzdHJpbmcpOiBhYmJyIGlzIFVuaXRBYmJyIHtcbiAgcmV0dXJuICEhVW5pdEFiYnJzTWFwcGluZ3Nbbm9ybWFsaXplKGFiYnIpXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5pdEVudW0oYWJicjogc3RyaW5nKTogYWJiciBpcyBVbml0QWJiciB7XG4gIHJldHVybiAhIVVuaXRBYmJyU3RyaW5nc1thYmJyLnRvVXBwZXJDYXNlKCldO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5pdEFiYnIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YS9Vbml0QWJici50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFXLE1BQU0sa0JBQWtCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFnQyxFQUFFLENBQUM7QUFDakUsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQWUsRUFBRTtJQUM5RCxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDMUMsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3hDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztLQUMxQztDQUNGO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFZO0lBQ3JDLE9BQU8saUJBQWlCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBcUI7SUFDbEQsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1FBQUUsT0FBTyxJQUFJLENBQUM7S0FBRTtJQUNuQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFZO0lBQ3JDLE9BQU8sQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVk7SUFDckMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWxpYXNlcyxVbml0QWJiciB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuXG5pbXBvcnQgeyBub3JtYWxpemUgfSBmcm9tICcuLi9wYXJzZXIvdXRpbHMuanMnO1xuXG5leHBvcnQgY29uc3QgVW5pdEFiYnJzTWFwcGluZ3M6IHsgW2tleTogc3RyaW5nXTogVW5pdEFiYnIgfSA9IHt9O1xuZm9yIChjb25zdCBhYmJyIG9mIE9iamVjdC5rZXlzKGFsaWFzZXMuVW5pdEFiYnIpIGFzIFVuaXRBYmJyW10pIHtcbiAgVW5pdEFiYnJzTWFwcGluZ3Nbbm9ybWFsaXplKGFiYnIpXSA9IGFiYnI7XG4gIGZvciAoY29uc3Qgc3RyIG9mIGFsaWFzZXMuVW5pdEFiYnJbYWJicl0pIHtcbiAgICBVbml0QWJicnNNYXBwaW5nc1tub3JtYWxpemUoc3RyKV0gPSBhYmJyO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1VuaXRBYmJyKGFiYnI6IHN0cmluZyk6IFVuaXRBYmJyIHtcbiAgcmV0dXJuIFVuaXRBYmJyc01hcHBpbmdzW25vcm1hbGl6ZShhYmJyKV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bml0QWJiclN0cmluZyhhYmJyOiBVbml0QWJiciB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKGFiYnIgPT09IG51bGwpIHsgcmV0dXJuIG51bGw7IH1cbiAgYWJiciA9IHRvVW5pdEFiYnIoYWJicik7XG4gIHJldHVybiBhbGlhc2VzLlVuaXRBYmJyW2FiYnJdWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVbml0QWJicihhYmJyOiBzdHJpbmcpOiBhYmJyIGlzIFVuaXRBYmJyIHtcbiAgcmV0dXJuICEhVW5pdEFiYnJzTWFwcGluZ3Nbbm9ybWFsaXplKGFiYnIpXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5pdEVudW0oYWJicjogc3RyaW5nKTogYWJiciBpcyBVbml0QWJiciB7XG4gIHJldHVybiAhIWFsaWFzZXMuVW5pdEFiYnJbYWJici50b1VwcGVyQ2FzZSgpXTtcbn1cbiJdfQ== |
export { Address, USPSLabel, } from './Address.js'; | ||
export { businessAbbrString, isBusinessAbbr, toBusinessAbbr, } from './data/BusinessWords.js'; | ||
export { directionalString, isDirectional, toDirectional, } from './data/Directional.js'; | ||
export { facilityTypeString, isFacilityType, toFacilityType, } from './data/FacilityType.js'; | ||
export { isState, stateString, toState, } from './data/State.js'; | ||
export { isStreetType, streetTypeString, toStreetType, } from './data/StreetType.js'; | ||
export { isUnitAbbr, toUnitAbbr, unitAbbrString, } from './data/UnitAbbr.js'; | ||
export { parse } from './parser/index.js'; | ||
export { hash, unitHash, buildingHash } from './utils/uids.js'; | ||
export { isFacilityType, toFacilityType, facilityTypeString, } from './data/FacilityType.js'; | ||
export { isState, toState, stateString, } from './data/State.js'; | ||
export { isDirectional, toDirectional, directionalString, } from './data/Directional.js'; | ||
export { isUnitAbbr, toUnitAbbr, unitAbbrString, } from './data/UnitAbbr.js'; | ||
export { isStreetType, toStreetType, streetTypeString, } from './data/StreetType.js'; | ||
export { isBusinessAbbr, toBusinessAbbr, businessAbbrString, } from './data/BusinessWords.js'; | ||
export { buildingHash, hash, unitHash } from './utils/uids.js'; |
export { Address, } from './Address.js'; | ||
export { businessAbbrString, isBusinessAbbr, toBusinessAbbr, } from './data/BusinessWords.js'; | ||
export { directionalString, isDirectional, toDirectional, } from './data/Directional.js'; | ||
export { facilityTypeString, isFacilityType, toFacilityType, } from './data/FacilityType.js'; | ||
export { isState, stateString, toState, } from './data/State.js'; | ||
export { isStreetType, streetTypeString, toStreetType, } from './data/StreetType.js'; | ||
export { isUnitAbbr, toUnitAbbr, unitAbbrString, } from './data/UnitAbbr.js'; | ||
export { parse } from './parser/index.js'; | ||
export { hash, unitHash, buildingHash } from './utils/uids.js'; | ||
export { isFacilityType, toFacilityType, facilityTypeString, } from './data/FacilityType.js'; | ||
export { isState, toState, stateString, } from './data/State.js'; | ||
export { isDirectional, toDirectional, directionalString, } from './data/Directional.js'; | ||
export { isUnitAbbr, toUnitAbbr, unitAbbrString, } from './data/UnitAbbr.js'; | ||
export { isStreetType, toStreetType, streetTypeString, } from './data/StreetType.js'; | ||
export { isBusinessAbbr, toBusinessAbbr, businessAbbrString, } from './data/BusinessWords.js'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sR0FFUixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUMsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0QsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2Qsa0JBQWtCLEdBQ25CLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUNMLE9BQU8sRUFDUCxPQUFPLEVBQ1AsV0FBVyxHQUNaLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUNMLGFBQWEsRUFDYixhQUFhLEVBQ2IsaUJBQWlCLEdBQ2xCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUNMLFVBQVUsRUFDVixVQUFVLEVBQ1YsY0FBYyxHQUNmLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUNMLFlBQVksRUFDWixZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2Qsa0JBQWtCLEdBQ25CLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBBZGRyZXNzLFxuICBVU1BTTGFiZWwsXG59IGZyb20gJy4vQWRkcmVzcy5qcyc7XG5cbmV4cG9ydCB7IHBhcnNlIH0gZnJvbSAnLi9wYXJzZXIvaW5kZXguanMnO1xuXG5leHBvcnQgeyBoYXNoLCB1bml0SGFzaCwgYnVpbGRpbmdIYXNoIH0gZnJvbSAnLi91dGlscy91aWRzLmpzJztcblxuZXhwb3J0IHtcbiAgaXNGYWNpbGl0eVR5cGUsXG4gIHRvRmFjaWxpdHlUeXBlLFxuICBmYWNpbGl0eVR5cGVTdHJpbmcsXG59IGZyb20gJy4vZGF0YS9GYWNpbGl0eVR5cGUuanMnO1xuXG5leHBvcnQge1xuICBpc1N0YXRlLFxuICB0b1N0YXRlLFxuICBzdGF0ZVN0cmluZyxcbn0gZnJvbSAnLi9kYXRhL1N0YXRlLmpzJztcblxuZXhwb3J0IHtcbiAgaXNEaXJlY3Rpb25hbCxcbiAgdG9EaXJlY3Rpb25hbCxcbiAgZGlyZWN0aW9uYWxTdHJpbmcsXG59IGZyb20gJy4vZGF0YS9EaXJlY3Rpb25hbC5qcyc7XG5cbmV4cG9ydCB7XG4gIGlzVW5pdEFiYnIsXG4gIHRvVW5pdEFiYnIsXG4gIHVuaXRBYmJyU3RyaW5nLFxufSBmcm9tICcuL2RhdGEvVW5pdEFiYnIuanMnO1xuXG5leHBvcnQge1xuICBpc1N0cmVldFR5cGUsXG4gIHRvU3RyZWV0VHlwZSxcbiAgc3RyZWV0VHlwZVN0cmluZyxcbn0gZnJvbSAnLi9kYXRhL1N0cmVldFR5cGUuanMnO1xuXG5leHBvcnQge1xuICBpc0J1c2luZXNzQWJicixcbiAgdG9CdXNpbmVzc0FiYnIsXG4gIGJ1c2luZXNzQWJiclN0cmluZyxcbn0gZnJvbSAnLi9kYXRhL0J1c2luZXNzV29yZHMuanMnO1xuIl19 | ||
export { buildingHash, hash, unitHash } from './utils/uids.js'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sR0FFUixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxjQUFjLEdBQ2YsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixhQUFhLEdBQ2QsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxjQUFjLEdBQ2YsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQ0wsT0FBTyxFQUNQLFdBQVcsRUFDWCxPQUFPLEdBQ1IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixZQUFZLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0wsVUFBVSxFQUNWLFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBBZGRyZXNzLFxuICBVU1BTTGFiZWwsXG59IGZyb20gJy4vQWRkcmVzcy5qcyc7XG5leHBvcnQge1xuICBidXNpbmVzc0FiYnJTdHJpbmcsXG4gIGlzQnVzaW5lc3NBYmJyLFxuICB0b0J1c2luZXNzQWJicixcbn0gZnJvbSAnLi9kYXRhL0J1c2luZXNzV29yZHMuanMnO1xuZXhwb3J0IHtcbiAgZGlyZWN0aW9uYWxTdHJpbmcsXG4gIGlzRGlyZWN0aW9uYWwsXG4gIHRvRGlyZWN0aW9uYWwsXG59IGZyb20gJy4vZGF0YS9EaXJlY3Rpb25hbC5qcyc7XG5leHBvcnQge1xuICBmYWNpbGl0eVR5cGVTdHJpbmcsXG4gIGlzRmFjaWxpdHlUeXBlLFxuICB0b0ZhY2lsaXR5VHlwZSxcbn0gZnJvbSAnLi9kYXRhL0ZhY2lsaXR5VHlwZS5qcyc7XG5leHBvcnQge1xuICBpc1N0YXRlLFxuICBzdGF0ZVN0cmluZyxcbiAgdG9TdGF0ZSxcbn0gZnJvbSAnLi9kYXRhL1N0YXRlLmpzJztcbmV4cG9ydCB7XG4gIGlzU3RyZWV0VHlwZSxcbiAgc3RyZWV0VHlwZVN0cmluZyxcbiAgdG9TdHJlZXRUeXBlLFxufSBmcm9tICcuL2RhdGEvU3RyZWV0VHlwZS5qcyc7XG5leHBvcnQge1xuICBpc1VuaXRBYmJyLFxuICB0b1VuaXRBYmJyLFxuICB1bml0QWJiclN0cmluZyxcbn0gZnJvbSAnLi9kYXRhL1VuaXRBYmJyLmpzJztcbmV4cG9ydCB7IHBhcnNlIH0gZnJvbSAnLi9wYXJzZXIvaW5kZXguanMnO1xuZXhwb3J0IHsgYnVpbGRpbmdIYXNoLGhhc2gsIHVuaXRIYXNoIH0gZnJvbSAnLi91dGlscy91aWRzLmpzJztcbiJdfQ== |
@@ -1,5 +0,5 @@ | ||
import { titleCase, isNumerical, orderToOrdinal, isOrder } from './utils.js'; | ||
import { StreetType, UnitAbbr } from '@universe/models'; | ||
import { isState } from '../data/State.js'; | ||
import { isStreetType } from '../data/StreetType.js'; | ||
import { isState } from '../data/State.js'; | ||
import { UnitAbbr, StreetType } from '@universe/models'; | ||
import { isNumerical, isOrder, orderToOrdinal, titleCase } from './utils.js'; | ||
// import { isFacilityType } from '../FacilityType'; | ||
@@ -255,3 +255,3 @@ // import { isUnitAbbr } from '../UnitAbbr'; | ||
// Special Case for plurals | ||
if (pointer.value.toUpperCase() === prefix.toUpperCase() + 'S') { | ||
if (pointer.value.toUpperCase() === `${prefix.toUpperCase()}S`) { | ||
continue; | ||
@@ -385,2 +385,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhcnNlci90b2tlbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsb0RBQW9EO0FBQ3BELDRDQUE0QztBQUU1Qyx1QkFBdUI7QUFDdkIsaUNBQWlDO0FBQ2pDLG1DQUFtQztBQUNuQyx3Q0FBd0M7QUFDeEMsc0JBQXNCO0FBRXRCLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3JCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUN6RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUVyRCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7SUFDekUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7Q0FDdEQsQ0FBQyxDQUFDO0FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDdkIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUNqRCxDQUFDLENBQUM7QUFFSCw4Q0FBOEM7QUFDOUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBRSxDQUFDLENBQUM7QUFFdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBRSxDQUFDLENBQUM7QUFDOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBRSxDQUFDLENBQUM7QUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxJQUFJLEVBQUUsR0FBRyxDQUFFLENBQUMsQ0FBQztBQW9CdkMsMEVBQTBFO0FBQzFFLDRDQUE0QztBQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNO0lBQy9ELDRHQUE0RztJQUM1RyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJO0lBQ2hILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDL0csS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUNsSCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSztJQUNySCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSztJQUN0SCxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUs7SUFDdkgsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDekgsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDdkgsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUk7SUFDeEgsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN0SCxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLO0lBQ3ZILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMzSCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDL0gsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU07SUFDdkgsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU87SUFDeEgsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSztJQUN2SCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMxSCxLQUFLLEVBQUUsS0FBSyxF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SUFDcEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsT0FBTyxPQUFPLEVBQUU7UUFDZCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUFFLEtBQUssRUFBRSxDQUFDO1NBQUU7UUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7S0FDeEI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQXFCO0lBQ25ELElBQUksT0FBTyxHQUFpQixPQUFPLENBQUM7SUFDcEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsT0FBTyxPQUFPLEVBQUU7UUFDZCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxLQUFLLEVBQUUsQ0FBQztTQUFFO1FBQzdDLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQ3hCO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGl0bGVDYXNlLCBpc051bWVyaWNhbCwgb3JkZXJUb09yZGluYWwsIGlzT3JkZXIgfSBmcm9tICcuL3V0aWxzLmpzJztcbmltcG9ydCB7IGlzU3RyZWV0VHlwZSB9IGZyb20gJy4uL2RhdGEvU3RyZWV0VHlwZS5qcyc7XG5pbXBvcnQgeyBpc1N0YXRlIH0gZnJvbSAnLi4vZGF0YS9TdGF0ZS5qcyc7XG5pbXBvcnQgeyBVbml0QWJiciwgU3RyZWV0VHlwZSB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuLy8gaW1wb3J0IHsgaXNGYWNpbGl0eVR5cGUgfSBmcm9tICcuLi9GYWNpbGl0eVR5cGUnO1xuLy8gaW1wb3J0IHsgaXNVbml0QWJiciB9IGZyb20gJy4uL1VuaXRBYmJyJztcblxuLy8gLyogZXNsaW50LWRpc2FibGUgKi9cbi8vIFRPRE86IFNwZWxsIENoZWNrIEludGVncmF0aW9uP1xuLy8gY29uc3QgVHlwbyA9IHJlcXVpcmUoXCJ0eXBvLWpzXCIpO1xuLy8gY29uc3QgZGljdGlvbmFyeSA9IG5ldyBUeXBvKCdlbl9VUycpO1xuLy8gLyogZXNsaW50LWVuYWJsZSAqL1xuXG5jb25zdCBhbHBoYXMgPSBuZXcgU2V0KFtcbiAgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsICdMJywgJ00nLCAnTicsICdPJyxcbiAgJ1AnLCAnUScsICdSJywgJ1MnLCAnVCcsICdVJywgJ1YnLCAnVycsICdYJywgJ1knLCAnWicsXG5cbiAgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJywgJ2cnLCAnaCcsICdpJywgJ2onLCAnaycsICdsJywgJ20nLCAnbicsICdvJyxcbiAgJ3AnLCAncScsICdyJywgJ3MnLCAndCcsICd1JywgJ3YnLCAndycsICd4JywgJ3knLCAneicsXG5dKTtcblxuY29uc3QgZGVjaW1hbHMgPSBuZXcgU2V0KFtcbiAgJzAnLCAnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknLFxuXSk7XG5cbi8vIGh0dHBzOi8vcGUudXNwcy5jb20vdGV4dC9wdWIyOC8yOGMzXzAxOS5odG1cbmNvbnN0IGxlZ2FsQ2hhcnMgPSBuZXcgU2V0KFsgLi4uYWxwaGFzLCAuLi5kZWNpbWFscyBdKTtcblxuY29uc3QgbmV3bGluZXMgPSBuZXcgU2V0KFsgJywnLCAnXFx0JywgJ1xcbicgXSk7XG5jb25zdCBkYXNoZXMgPSBuZXcgU2V0KFsgJy0nLCAn4oCTJywgJ+KAlCcgXSk7XG5jb25zdCBzbGFzaGVzID0gbmV3IFNldChbICdcXFxcJywgJy8nIF0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuIHtcbiAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG4gIHByZXY6IEhlYWQgfCBUb2tlbjtcbiAgbmV4dDogVG9rZW4gfCBudWxsO1xuICB2YWx1ZTogc3RyaW5nO1xuICBzZXBhcmF0b3I6ICctJyB8ICcuJyB8ICcjJyB8ICcmJyB8ICcsJyB8ICcvJyB8IG51bGw7XG4gIGFscGhhczogbnVtYmVyO1xuICBkZWNpbWFsczogbnVtYmVyO1xuICBpc0VPTDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWFkIHtcbiAgaXNIZWFkOiB0cnVlO1xuICBuZXh0OiBUb2tlbiB8IG51bGw7XG4gIHNlcGFyYXRvcjogJyc7XG4gIGlzRU9MOiBmYWxzZTtcbn1cblxuLy8gU3BlY2lhbCBub24tZW51bWVyYXRlZCBhYmJyZXZpYXRpb25zIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHdlIGNhcGl0YWxpemVcbi8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1NoaXBfcHJlZml4XG5jb25zdCBjYXBpdGFsaXplID0gbmV3IFNldChbICdBRkInLCAnQVBPJywgJ0ZQTycsICdBRUNPTScsICdIUUJOJyxcbiAgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGlzdF9vZl9jb2xsb3F1aWFsX25hbWVzX2Zvcl91bml2ZXJzaXRpZXNfYW5kX2NvbGxlZ2VzX2luX3RoZV9Vbml0ZWRfU3RhdGVzXG4gICdBRkEnLCAnQSZNJywgJ0EmVCcsICdBUFNVJywgJ0FMQVNVJywgJ0FTVScsICdBVScsICdBVU0nLCAnQkMnLCAnQkdTVScsICdCSFNVJywgJ0JKVScsICdCTUMnLCAnQlNDJywgJ0JTVScsICdCVScsXG4gICdCWVUnLCAnQ0JVJywgJ0NDJywgJ0NDTlknLCAnQ0NTVScsICdDQ1UnLCAnQ0NWJywgJ0NHVScsICdDSUEnLCAnQ01DJywgJ0NNVScsICdDTlUnLCAnQ1NCJywgJ1NKVScsICdDU0UnLCAnQ1NJJyxcbiAgJ0NTVScsICdDU1VGJywgJ0NTVUVCJywgJ0NTVUxBJywgJ0NTVVMnLCAnQ1UnLCAnQ1VBJywgJ0NVTlknLCAnREMnLCAnRFBVJywgJ0RTVScsICdEVScsICdFQ1UnLCAnRUlVJywgJ0VNVScsICdFTVUnLFxuICAnRU5DJywgJ0VUU1UnLCAnRVdVJywgJ0VLVScsICdGJk0nLCAnRkFNVScsICdGQVUnLCAnRkMnLCAnRkRVJywgJ0ZHQ1UnLCAnRklUJywgJ0ZJVScsICdGUFUnLCAnRlNVJywgJ0ZVJywgJ0dCJywgJ0dDVScsXG4gICdHR0MnLCAnR09OWicsICdHU1UnLCAnR1QnLCAnR1ZTVScsICdISVUnLCAnSE1DJywgJ0hVJywgJ0hVJywgJ0hTVScsICdJQycsICdJSVQnLCAnSVBGVycsICdJU1UnLCAnSVVQJywgJ0lVUFVJJywgJ0lXVScsXG4gICdJVycsICdKSFUnLCAnSk1VJywgJ0pXVScsICdKU1UnLCAnSlUnLCAnS1NVJywgJ0tVJywgJ0tVJywgJ0xDJywgJ0xIVScsICdMSVUnLCAnTE1VJywgJ0xTVScsICdMU1NVJywgJ0xUVScsICdMVScsICdMVUMnLFxuICAnTUNMQScsICdNSVQnLCAnTU1DJywgJ01TVScsICdNVFNVJywgJ01UVScsICdNVScsICdNVlNVJywgJ01VVycsICdOQVUnLCAnTkNDVScsICdOQ1NVJywgJ05EJywgJ05EU1UnLCAnTkVVJywgJ05JVScsICdOS1UnLFxuICAnTk1TVScsICdOTVUnLCAnTlNVJywgJ05VJywgJ05WVScsICdOVycsICdOV01TVScsICdOWUlUJywgJ05ZTUMnLCAnTllVJywgJ09DJywgJ09DQycsICdPQ1UnLCAnT0RVJywgJ09JVCcsICdPTlUnLCAnT1JVJyxcbiAgJ09TVScsICdPVScsICdQQycsICdQQ0MnLCAnUExOVScsICdQT00nLCAnUFNVJywgJ1BUUycsICdQVkFNVScsICdRVScsICdSSElUJywgJ1JJQycsICdSSVNEJywgJ1JJVCcsICdSLU1XQycsICdSUEknLCAnUlUnLFxuICAnUldVJywgJ1JXQycsICdTQlUnLCAnU0MnLCAnU0NTVScsICdTQ1UnLCAnU0RTTSZUJywgJ1NEU1UnLCAnU0ZTVScsICdTSEMnLCAnU0lVRScsICdTSkMnLCAnU0pGQycsICdTSlNVJywgJ1NKVScsICdTTFUnLFxuICAnU01DJywgJ1NNVScsICdTTkhVJywgJ1NPU1UnLCAnU1BVJywgJ1NSVScsICdTU1UnLCAnU1UnLCAnU1VJJywgJ1NVVScsICdTVU5ZJywgJ1NXT1NVJywgJ1RBTVUnLCAnVEFNVUNDJywgJ1RDTkonLCAnVENVJyxcbiAgJ1RTVScsICdUVFUnLCAnVFUnLCAnVUEnLCAnVUFBJywgJ1VBQicsICdVQUYnLCAnVUFIJywgJ1VBTFInLCAnVUFNJywgJ1VBUEInLCAnVUInLCAnVUMnLCAnVUNCJywgJ1VDQScsICdVQ0NTJywgJ1VDRCcsICdVQ0YnLFxuICAnVUNJJywgJ1VDTEEnLCAnVUNNJywgJ1VDTycsICdVQ1InLCAnVUNTQicsICdVQ1NDJywgJ1VDU0QnLCAnVUNTRicsICdVRCcsICdVRE0nLCAnVURDJywgJ1VGJywgJ1VHQScsICdVSCcsICdVSENMJywgJ1VIRCcsICdVSFMnLFxuICAnVUhWJywgJ1VJQycsICdVSVVDJywgJ1VLJywgJ1VMTScsICdVTCcsICdVTUInLCAnVU1CQycsICdVTUMnLCAnVU1EJywgJ1VNS0MnLCAnVU1MJywgJ1VNTycsICdVTVcnLCAnVU5BJywgJ1VOQycsICdVTkNDJyxcbiAgJ1VOQ0cnLCAnVU5DVycsICdVTkQnLCAnVU5GJywgJ1VOSCcsICdVTkknLCAnVU5LJywgJ1VOTCcsICdVTkxWJywgJ1VOTScsICdVTk8nLCAnVU5SJywgJ1VOVCcsICdVTycsICdVT1AnLCAnVVAnLCAnVVBJS0UnLFxuICAnVVJJJywgJ1VTQScsICdVU0FGQScsICdVU0FPJywgJ1VTQycsICdVU0NBJywgJ1VTRCcsICdVU0YnLCAnVVNGQ0EnLCAnVVNJJywgJ1VTTScsICdVU1UnLCAnVVQnLCAnVVRBJywgJ1VUQi9UU0MnLCAnVVRDJyxcbiAgJ1VURCcsICdVVEVQJywgJ1VUTScsICdVVFBCJywgJ1VUUkdWJywgJ1VUU0EnLCAnVVZBJywgJ1VWTScsICdVVlUnLCAnVVcnLCAnVVdGJywgJ1VXRycsICdVV0dCJywgJ1VXTScsICdWQ1UnLCAnVk1JJywgJ1ZQSScsXG4gICdWU1UnLCAnVlRDJywgJ1ZVJywgJ1cmSicsICdXJkwnLCAnVyZNJywgJ1dDJywgJ1dDVScsICdXRlUnLCAnV0dVJywgJ1dJVScsICdXS1UnLCAnV01VJywgJ1dQSScsICdXU1UnLCAnV1RBTVUnLCAnV1ZVJywgJ1dWVVAnLFxuICAnV1dVJywgJ1hVJywgJ1hVTEEnLCAnWVNVJywgJ1lVJyxcbl0pO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNIZWFkKHRva2VuOiB1bmtub3duKTogdG9rZW4gaXMgSGVhZCB7XG4gIHJldHVybiAhISh0b2tlbiAmJiAodG9rZW4gYXMgSGVhZCkuaXNIZWFkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydFRva2VuQWZ0ZXIocHJldjogVG9rZW4sIHZhbHVlOiBzdHJpbmcpOiBUb2tlbiB7XG4gIGNvbnN0IHRva2VuID0ge1xuICAgIHByZXYsXG4gICAgbmV4dDogcHJldi5uZXh0LFxuICAgIHZhbHVlLFxuICAgIHNlcGFyYXRvcjogbnVsbCxcbiAgICBhbHBoYXM6ICh2YWx1ZS5tYXRjaCgvW2EtekEtWl0vZykgfHwgW10pLmxlbmd0aCxcbiAgICBkZWNpbWFsczogKHZhbHVlLm1hdGNoKC9cXGQvZykgfHwgW10pLmxlbmd0aCxcbiAgICBpc0VPTDogcHJldi5pc0VPTCxcbiAgfTtcbiAgdG9rZW4ucHJldi5uZXh0ID0gdG9rZW47XG4gIHRva2VuLnByZXYuaXNFT0wgPSBmYWxzZTtcbiAgdG9rZW4ubmV4dCAmJiAodG9rZW4ubmV4dC5wcmV2ID0gdG9rZW4pO1xuICByZXR1cm4gdG9rZW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRUb2tlbkJlZm9yZShuZXh0OiBUb2tlbiwgdmFsdWU6IHN0cmluZyk6IFRva2VuIHtcbiAgY29uc3QgdG9rZW4gPSB7XG4gICAgcHJldjogbmV4dC5wcmV2LFxuICAgIG5leHQsXG4gICAgdmFsdWUsXG4gICAgc2VwYXJhdG9yOiBudWxsLFxuICAgIGFscGhhczogKHZhbHVlLm1hdGNoKC9bYS16QS1aXS9nKSB8fCBbXSkubGVuZ3RoLFxuICAgIGRlY2ltYWxzOiAodmFsdWUubWF0Y2goL1xcZC9nKSB8fCBbXSkubGVuZ3RoLFxuICAgIGlzRU9MOiBmYWxzZSxcbiAgfTtcbiAgdG9rZW4ucHJldiAmJiAodG9rZW4ucHJldi5uZXh0ID0gdG9rZW4pO1xuICB0b2tlbi5uZXh0ICYmICh0b2tlbi5uZXh0LnByZXYgPSB0b2tlbik7XG4gIHJldHVybiB0b2tlbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyT3JDb2RlKHBvaW50ZXI6IFRva2VuIHwgc3RyaW5nIHwgbnVsbCk6IGJvb2xlYW4ge1xuICBpZiAoIXBvaW50ZXIpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgY29uc3Qgd29ya2luZyA9IHtcbiAgICB2YWx1ZTogdHlwZW9mIHBvaW50ZXIgPT09ICdzdHJpbmcnID8gcG9pbnRlciA6IHBvaW50ZXIudmFsdWUsXG4gICAgZGVjaW1hbHM6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIubWF0Y2goL1xcZC9nKT8ubGVuZ3RoIHx8IDAgOiBwb2ludGVyLmRlY2ltYWxzLFxuICAgIGFscGhhczogdHlwZW9mIHBvaW50ZXIgPT09ICdzdHJpbmcnID8gcG9pbnRlci50b0xvd2VyQ2FzZSgpLm1hdGNoKC9bXlxcZF0vZyk/Lmxlbmd0aCB8fCAwIDogcG9pbnRlci5hbHBoYXMsXG4gICAgcHJldjogbnVsbCxcbiAgICBzZXBhcmF0b3I6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/ICcnIDogcG9pbnRlci5zZXBhcmF0b3IsXG4gIH07XG5cbiAgaWYgKHdvcmtpbmcuc2VwYXJhdG9yID09PSAnJicpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgLy8gSWYgc3RyaW5nIHN0YXJ0cyB3aXRoIGEgbnVtYmVyLCB0aGlzIGlzIGEgY29kZS4gRXg6IE9yZGluYWxzICgxc3QsIDJuZCwgZXRjKVxuICBpZiAod29ya2luZy52YWx1ZSAmJiB3b3JraW5nLnZhbHVlWzBdLm1hdGNoKC9eXFxkLykpIHsgcmV0dXJuIHRydWU7IH1cblxuICAvLyBEYXNoZWQgb25lLCB0d28gYW5kIHRocmVlIGNoYXJhY3RlciBhbHBoYSBzdHJpbmdzICphcmUqIGNvZGVzIVxuICBpZiAod29ya2luZy5hbHBoYXMgPD0gMyAmJiAhd29ya2luZy5kZWNpbWFscyAmJiAoZGFzaGVzLmhhcyh3b3JraW5nLnNlcGFyYXRvciB8fCAnJykgfHwgZGFzaGVzLmhhcygocG9pbnRlciBhcyBUb2tlbikucHJldj8uc2VwYXJhdG9yIHx8ICcnKSkpIHsgcmV0dXJuIHRydWU7IH1cblxuICAvLyBJZiBkZWNpbWFscyBlcXVhbCBvciBvdXRudW1iZXIgYWxwaGFzLCBvciB0aGlzIGlzIGEgc2luZ2xlIGNoYXJhY3RlciBzdHJpbmcsIGlzIGEgY29kZS5cbiAgcmV0dXJuICh3b3JraW5nLmRlY2ltYWxzID49IHdvcmtpbmcuYWxwaGFzICYmIHdvcmtpbmcuZGVjaW1hbHMgPiAxKSB8fCAod29ya2luZy5hbHBoYXMgPD0gMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbml6ZShhZGRyOiBzdHJpbmcpOiBIZWFkIHtcbiAgY29uc3QgaGVhZDogSGVhZCA9IHtcbiAgICBuZXh0OiBudWxsLFxuICAgIGlzSGVhZDogdHJ1ZSxcbiAgICBzZXBhcmF0b3I6ICcnLFxuICAgIGlzRU9MOiBmYWxzZSxcbiAgfTtcblxuICAvLyBDb2xsYXBzZSB3aGl0ZXNwYWNlXG4gIC8vIFRPRE86IFRoaXMgcmVnZXggaXMgaW5vcmRpbmF0ZWx5IGV4cGVuc2l2ZS4gUmVwbGFjZS5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvXFxuKy9nLCAnXFxuJykucmVwbGFjZSgvICsvZywgJyAnKS5yZXBsYWNlKC9cXHQrL2csICdcXHQnKTtcblxuICAvLyBUT0RPOiBBbGwgb2YgdGhlIGJlbG93IHJlZ2V4cHMgYXJlIFZFUlkgZXhwZW5zaXZlLiBTaW1wbGlmeS5cbiAgLy8gUmVtb3ZlIENhcmUgT2YgQWJici5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvQ1svLl1PXFwuPy9naSwgJycpO1xuXG4gIC8vIFAuTy4gQm94ZXMgYW5kIEguQy4gQm94ZXMgYXJlIFNwZWNpYWwuXG4gIGFkZHIgPSBhZGRyXG4gICAgLnJlcGxhY2UoL1BcXC5PXFwuL2ksICdQTycpXG4gICAgLnJlcGxhY2UoL1BcXC5PL2ksICdQTycpXG4gICAgLnJlcGxhY2UoL1AgTyAvaSwgJ1BPJylcbiAgICAucmVwbGFjZSgvUFxcLk9cXC5CXFwuL2ksICcgUE8gQk9YICcpXG4gICAgLnJlcGxhY2UoL1BcXC4gT1xcLiBCXFwuL2ksICcgUE8gQk9YICcpXG4gICAgLnJlcGxhY2UoLyBQT0JbXFxkIF0vaSwgJ1BPIEJPWCcpXG4gICAgLnJlcGxhY2UoL1BPWCBCT1gvaSwgJ1BPIEJPWCcpXG4gICAgLnJlcGxhY2UoL1BPQk9YL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT0JYL2ksICdQTyBCT1gnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvSFxcLkNcXC4vaSwgJ0hDICcpLnJlcGxhY2UoL0hcXC5DLywgJ0hDICcpLnJlcGxhY2UoL0ggQyAvLCAnSEMgJykucmVwbGFjZSgvSENCT1gvaSwgJ0hDIEJPWCcpO1xuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY2FycmllciByb3V0ZS9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvaGlnaHdheSBjb250cmFjdCByb3V0ZS9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvaGlnaHdheSBjYXJyaWVyL2ksICdIQycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9oaWdod2F5IGNvbnRyYWN0L2ksICdIQycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zdGFyIHJvdXRlL2ksICdIQycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9ydXJhbCByb3V0ZS9pLCAnUlInKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9ydXJhbCByb2FkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC90b3duc2hpcCByb2FkL2ksICdUU1InKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvc3RhdGUgcm91dGUvaSwgJ1NSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJvYWQvaSwgJ1NSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2NvdW50eSByb2FkL2ksICdDUicpO1xuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3JcXC5cXHJcXC4gcmQvaSwgJ1JSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3NcXC5cXHJcXC4gcmQvaSwgJ1NSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2NcXC5cXHJcXC4gcmQvaSwgJ0NSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcmQvaSwgJ1JSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3Rvd25zaGlwIHJkL2ksICdUU1InKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvc3RhdGUgcmQvaSwgJ1NSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2NvdW50eSByZC9pLCAnQ1InKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9MQSBDQU1JTklUTy9pLCAnTEFDQU1JTklUTycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9FTCBDQU1JTk8vaSwgJ0VMQ0FNSU5PJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIENFUlJBREEvaSwgJ0xBQ0VSUkFEQScpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9MQSBFTlRSQURBL2ksICdMQUVOVFJBREEnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvRUwgUEFTRU8vaSwgJ0VMUEFTRU8nKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgUExBQ0lUQS9pLCAnTEFQTEFDSVRBJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0VMIFJBTkNITy9pLCAnRUxSQU5DSE8nKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgVkVSRURBL2ksICdMQVZFUkVEQScpO1xuXG4gIGxldCBwb2ludGVyOiBUb2tlbiB8IG51bGwgPSB7XG4gICAgcHJldjogaGVhZCxcbiAgICBuZXh0OiBudWxsLFxuICAgIHZhbHVlOiAnJyxcbiAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgYWxwaGFzOiAwLFxuICAgIGRlY2ltYWxzOiAwLFxuICAgIGlzRU9MOiBmYWxzZSxcbiAgfTtcblxuICBoZWFkLm5leHQgPSBwb2ludGVyO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYWRkci5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGNoYXIgPSBhZGRyW2ldO1xuICAgIGNvbnN0IG5leHQgPSBhZGRyW2kgKyAxXTtcbiAgICBpZiAoIXBvaW50ZXIpIHsgYnJlYWs7IH1cbiAgICBpZiAobGVnYWxDaGFycy5oYXMoY2hhcikpIHtcbiAgICAgIHBvaW50ZXIudmFsdWUgKz0gY2hhcjtcbiAgICAgIGlmIChhbHBoYXMuaGFzKGNoYXIpKSB7XG4gICAgICAgIHBvaW50ZXIuYWxwaGFzKys7XG4gICAgICB9XG4gICAgICBpZiAoZGVjaW1hbHMuaGFzKGNoYXIpKSB7XG4gICAgICAgIHBvaW50ZXIuZGVjaW1hbHMrKztcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBpZiAobmV3bGluZXMuaGFzKGNoYXIpKSB7IHBvaW50ZXIuaXNFT0wgPSB0cnVlOyB9XG4gICAgICBlbHNlIGlmIChkYXNoZXMuaGFzKGNoYXIpKSB7IHBvaW50ZXIuc2VwYXJhdG9yID0gJy0nOyB9XG4gICAgICBlbHNlIGlmIChjaGFyID09PSAnLicpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnLic7IH1cbiAgICAgIGVsc2UgaWYgKGNoYXIgPT09ICcmJykgeyBwb2ludGVyLnNlcGFyYXRvciA9ICcmJzsgfVxuICAgICAgZWxzZSBpZiAoY2hhciA9PT0gJyMnKSB7IHBvaW50ZXIuc2VwYXJhdG9yID0gJyMnOyB9XG4gICAgICBlbHNlIGlmIChzbGFzaGVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLnNlcGFyYXRvciA9ICcvJzsgfVxuICAgICAgLy8gaWYgKCFpc051bWJlck9yQ29kZShwb2ludGVyKSAmJiAhaXNTdGF0ZShwb2ludGVyLnZhbHVlKSAmJiAhaXNTdHJlZXRUeXBlKHBvaW50ZXIudmFsdWUpICYmICFpc0ZhY2lsaXR5VHlwZShwb2ludGVyLnZhbHVlKSAmJiAhaXNVbml0QWJicihwb2ludGVyLnZhbHVlKSkge1xuICAgICAgLy8gICBpZiAoIWRpY3Rpb25hcnkuY2hlY2socG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIC8vICAgICBjb25zdCBzdWdnZXN0aW9ucyA9IGRpY3Rpb25hcnkuc3VnZ2VzdChwb2ludGVyLnZhbHVlKTtcbiAgICAgIC8vICAgICBwb2ludGVyLnZhbHVlID0gc3VnZ2VzdGlvbnNbMF0gfHwgcG9pbnRlci52YWx1ZTtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgICAgcG9pbnRlci52YWx1ZSA9IGNhcGl0YWxpemUuaGFzKHBvaW50ZXIudmFsdWUudG9VcHBlckNhc2UoKSkgPyBwb2ludGVyLnZhbHVlLnRvVXBwZXJDYXNlKCkgOiB0aXRsZUNhc2UocG9pbnRlci52YWx1ZSk7XG4gICAgICBpZiAobGVnYWxDaGFycy5oYXMobmV4dCkpIHtcbiAgICAgICAgcG9pbnRlciA9IHtcbiAgICAgICAgICBwcmV2OiBwb2ludGVyLFxuICAgICAgICAgIG5leHQ6IG51bGwsXG4gICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgIHNlcGFyYXRvcjogbnVsbCxcbiAgICAgICAgICBhbHBoYXM6IDAsXG4gICAgICAgICAgZGVjaW1hbHM6IDAsXG4gICAgICAgICAgaXNFT0w6IGZhbHNlLFxuICAgICAgICB9O1xuICAgICAgICBpZiAocG9pbnRlci5wcmV2KSB7XG4gICAgICAgICAgcG9pbnRlci5wcmV2Lm5leHQgPSBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTm8gbmV3bGluZXMgYWZ0ZXIgdGhlIGxhc3QgU3RhdGUgZGlzY292ZXJlZC5cbiAgd2hpbGUgKHBvaW50ZXIpIHtcbiAgICBpZiAocG9pbnRlci5uZXh0ICYmIGlzU3RhdGUocG9pbnRlci5uZXh0LnZhbHVlKSkge1xuICAgICAgd2hpbGUgKHBvaW50ZXIpIHtcbiAgICAgICAgcG9pbnRlci5pc0VPTCA9IGZhbHNlO1xuICAgICAgICBwb2ludGVyID0gcG9pbnRlci5uZXh0O1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGlmIChpc0hlYWQocG9pbnRlci5wcmV2KSkgeyBicmVhazsgfVxuICAgIHBvaW50ZXIgPSBwb2ludGVyLnByZXY7XG4gIH1cblxuICAvLyBJdCBpcyBjb21tb24gZm9yIHBlb3BsZSB0byBiZSBzaWxseSBhbmQgcHJlZml4L3N1ZmZpeCBzb21lIHVuaXQgbnVtYmVycyB3aXRoIHRoZXNlIGNvbW1vbiBhYmJyZXZpYXRpb24uXG4gIC8vIEV4OiAxMjMgV2F0ZXIgU3QuIEFwdCBBUFQxLCA0NSBTcHJ1Y2UgQXZlIDFQSFxuICAvLyBUT0RPOiBXZSBjYW4gbWFrZSB0aGlzIG1vcmUgcm9idXN0Li4uXG4gIHBvaW50ZXIgPSBoZWFkLm5leHQ7XG4gIHdoaWxlIChwb2ludGVyKSB7XG4gICAgaWYgKCFwb2ludGVyKSB7IGJyZWFrOyB9XG5cbiAgICBpZiAoaXNPcmRlcihwb2ludGVyLnZhbHVlKSkge1xuICAgICAgcG9pbnRlci52YWx1ZSA9IG9yZGVyVG9PcmRpbmFsKHBvaW50ZXIudmFsdWUpO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWZpeFRlc3QgPSBbIFVuaXRBYmJyLkFQVCwgVW5pdEFiYnIuUEgsIFVuaXRBYmJyLkxWLCBTdHJlZXRUeXBlLlJSLCAnU1VJVEUnLCAnVU5JVCcgXTtcbiAgICBjb25zdCBzdWZmaXhUZXh0ID0gW1VuaXRBYmJyLlBIXTtcblxuICAgIGZvciAoY29uc3QgcHJlZml4IG9mIHByZWZpeFRlc3QpIHtcbiAgICAgIGlmIChwb2ludGVyLnZhbHVlLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChwcmVmaXgudG9Mb3dlckNhc2UoKSkgJiYgcG9pbnRlci52YWx1ZS5sZW5ndGggPiBwcmVmaXgubGVuZ3RoKSB7XG4gICAgICAgIC8vIFNwZWNpYWwgQ2FzZSBmb3IgcGx1cmFsc1xuICAgICAgICBpZiAocG9pbnRlci52YWx1ZS50b1VwcGVyQ2FzZSgpID09PSBwcmVmaXgudG9VcHBlckNhc2UoKSArICdTJykgeyBjb250aW51ZTsgfVxuXG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gcG9pbnRlci52YWx1ZTtcbiAgICAgICAgcG9pbnRlci52YWx1ZSA9IHBvaW50ZXIudmFsdWUuc2xpY2UocHJlZml4Lmxlbmd0aCk7XG4gICAgICAgIHBvaW50ZXIuYWxwaGFzIC09IHByZWZpeC5sZW5ndGg7XG4gICAgICAgIGlmICghaXNOdW1iZXJPckNvZGUocG9pbnRlcikpIHtcbiAgICAgICAgICBwb2ludGVyLmFscGhhcyArPSBwcmVmaXgubGVuZ3RoO1xuICAgICAgICAgIHBvaW50ZXIudmFsdWUgPSBvbGRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBpbnNlcnRUb2tlbkJlZm9yZShwb2ludGVyLCBwcmVmaXgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBzdWZmaXggb2Ygc3VmZml4VGV4dCkge1xuICAgICAgaWYgKHBvaW50ZXIgJiYgcG9pbnRlci52YWx1ZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHN1ZmZpeC50b0xvd2VyQ2FzZSgpKSAmJiBwb2ludGVyLnZhbHVlLmxlbmd0aCA+IHN1ZmZpeC5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSBwb2ludGVyLnZhbHVlO1xuICAgICAgICBwb2ludGVyLnZhbHVlID0gcG9pbnRlci52YWx1ZS5zbGljZSgwLCBzdWZmaXgubGVuZ3RoICogLTEpO1xuICAgICAgICBwb2ludGVyLmFscGhhcyAtPSBzdWZmaXgubGVuZ3RoO1xuICAgICAgICBpZiAoIWlzTnVtYmVyT3JDb2RlKHBvaW50ZXIpKSB7XG4gICAgICAgICAgcG9pbnRlci5hbHBoYXMgKz0gc3VmZml4Lmxlbmd0aDtcbiAgICAgICAgICBwb2ludGVyLnZhbHVlID0gb2xkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgY29uc3QgbmV3VG9rZW4gPSBpbnNlcnRUb2tlbkFmdGVyKHBvaW50ZXIsIHN1ZmZpeCk7XG4gICAgICAgICAgcG9pbnRlciA9IG5ld1Rva2VuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHBvaW50ZXIgPSBwb2ludGVyLm5leHQ7XG4gIH1cblxuICAvLyBTb21lIG1pcy1mb3JtYXR0ZWQgZmFjaWxpdHkgYWRkcmVzc2VzIHdpbGwgcHJlcGVuZCBhICcwJyB0byBtYWtlIHRoZW0gYXBwZWFyIGxpa2Ugc3RyZWV0IGFkZHJlc3Nlcy5cbiAgaWYgKGhlYWQubmV4dCAmJiBoZWFkLm5leHQudmFsdWUgPT09ICcwJyAmJiBoZWFkLm5leHQubmV4dCkge1xuICAgIGhlYWQubmV4dCA9IGhlYWQubmV4dC5uZXh0O1xuICB9XG5cbiAgcmV0dXJuIGhlYWQ7XG59XG5cbi8vIFRPRE86IFVzZSBVU1BTIGh5cGhlbmF0aW9uIHN0YW5kYXJkcy5cbmV4cG9ydCBmdW5jdGlvbiBpc0h5cGhlbmF0ZWRDb2RlKHBvaW50ZXI6IFRva2VuIHwgSGVhZCk6IGJvb2xlYW4ge1xuICBpZiAoaXNIZWFkKHBvaW50ZXIpKSB7IHJldHVybiBmYWxzZTsgfVxuICBpZiAoIXBvaW50ZXIubmV4dCB8fCAhZGFzaGVzLmhhcyhwb2ludGVyLnNlcGFyYXRvciB8fCAnJykpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIHJldHVybiAhIShpc051bWVyaWNhbChwb2ludGVyLnZhbHVlKSAmJiBpc051bWVyaWNhbCgocG9pbnRlci5uZXh0IGFzIFRva2VuKS52YWx1ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOZXdsaW5lU2VwKHBvaW50ZXI6IFRva2VuIHwgSGVhZCB8IG51bGwpOiBib29sZWFuIHtcbiAgaWYgKCFwb2ludGVyIHx8IGlzSGVhZChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgcmV0dXJuIHBvaW50ZXI/LmlzRU9MO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbmV3bGluZUNvdW50KHBvaW50ZXI6IFRva2VuIHwgSGVhZCB8IG51bGwpOiBudW1iZXIge1xuICBsZXQgY3VycmVudDogVG9rZW4gfCBIZWFkIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBpID0gMDtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoaXNOZXdsaW5lU2VwKGN1cnJlbnQpKSB7IGkrKzsgfVxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gIH1cbiAgcmV0dXJuIGk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTmV4dE5ld0xpbmUocG9pbnRlcjogVG9rZW4gfCBudWxsKTogVG9rZW4gfCBudWxsIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyByZXR1cm4gY3VycmVudC5uZXh0OyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0xhdGVyU3RyZWV0VHlwZShwb2ludGVyOiBUb2tlbiB8IG51bGwsIGxpbmVPbmx5ID0gZmFsc2UpOiBib29sZWFuIHtcbiAgaWYgKCFwb2ludGVyKSB7IHJldHVybiBmYWxzZTsgfVxuICBpZiAoaXNOZXdsaW5lU2VwKHBvaW50ZXIpKSB7IHJldHVybiBmYWxzZTsgfVxuICBsZXQgY3VycmVudDogVG9rZW4gfCBudWxsID0gcG9pbnRlci5uZXh0O1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc1N0cmVldFR5cGUoY3VycmVudC52YWx1ZSkpIHsgcmV0dXJuIHRydWU7IH1cbiAgICBpZiAobGluZU9ubHkgJiYgY3VycmVudC5zZXBhcmF0b3IpIHsgYnJlYWs7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1N0YXRlVW5pdChwb2ludGVyOiBUb2tlbiB8IG51bGwsIGxpbmVPbmx5ID0gZmFsc2UpOiBib29sZWFuIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzU3RhdGUoY3VycmVudC52YWx1ZSkpIHsgcmV0dXJuIHRydWU7IH1cbiAgICBpZiAobGluZU9ubHkgJiYgY3VycmVudC5zZXBhcmF0b3IpIHsgYnJlYWs7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5ld0xpbmVDb3VudChwb2ludGVyOiBUb2tlbiB8IG51bGwpOiBudW1iZXIge1xuICBsZXQgY3VycmVudDogVG9rZW4gfCBudWxsID0gcG9pbnRlcjtcbiAgbGV0IGNvdW50ID0gMDtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoaXNOZXdsaW5lU2VwKGN1cnJlbnQpKSB7IGNvdW50Kys7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBjb3VudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmVldFR5cGVDb3VudChwb2ludGVyOiBUb2tlbiB8IG51bGwpOiBudW1iZXIge1xuICBsZXQgY3VycmVudDogVG9rZW4gfCBudWxsID0gcG9pbnRlcjtcbiAgbGV0IGNvdW50ID0gMDtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoaXNTdHJlZXRUeXBlKGN1cnJlbnQudmFsdWUpKSB7IGNvdW50Kys7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBjb3VudDtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhcnNlci90b2tlbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBQyxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUUsb0RBQW9EO0FBQ3BELDRDQUE0QztBQUU1Qyx1QkFBdUI7QUFDdkIsaUNBQWlDO0FBQ2pDLG1DQUFtQztBQUNuQyx3Q0FBd0M7QUFDeEMsc0JBQXNCO0FBRXRCLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3JCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUN6RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUVyRCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7SUFDekUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7Q0FDdEQsQ0FBQyxDQUFDO0FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDdkIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUNqRCxDQUFDLENBQUM7QUFFSCw4Q0FBOEM7QUFDOUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBRSxDQUFDLENBQUM7QUFFdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBRSxDQUFDLENBQUM7QUFDOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBRSxDQUFDLENBQUM7QUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxJQUFJLEVBQUUsR0FBRyxDQUFFLENBQUMsQ0FBQztBQW9CdkMsMEVBQTBFO0FBQzFFLDRDQUE0QztBQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNO0lBQy9ELDRHQUE0RztJQUM1RyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJO0lBQ2hILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDL0csS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUNsSCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSztJQUNySCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSztJQUN0SCxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUs7SUFDdkgsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDekgsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDdkgsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUk7SUFDeEgsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN0SCxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLO0lBQ3ZILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMzSCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDL0gsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU07SUFDdkgsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU87SUFDeEgsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSztJQUN2SCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMxSCxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU07SUFDN0gsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUk7Q0FDakMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLE1BQU0sQ0FBQyxLQUFjO0lBQ25DLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFLLEtBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQVcsRUFBRSxLQUFhO0lBQ3pELE1BQU0sS0FBSyxHQUFHO1FBQ1osSUFBSTtRQUNKLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtRQUNmLEtBQUs7UUFDTCxTQUFTLEVBQUUsSUFBSTtRQUNmLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtRQUMvQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDM0MsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO0tBQ2xCLENBQUM7SUFDRixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQztJQUN4QyxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBVyxFQUFFLEtBQWE7SUFDMUQsTUFBTSxLQUFLLEdBQUc7UUFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDZixJQUFJO1FBQ0osS0FBSztRQUNMLFNBQVMsRUFBRSxJQUFJO1FBQ2YsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQy9DLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtRQUMzQyxLQUFLLEVBQUUsS0FBSztLQUNiLENBQUM7SUFDRixLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDeEMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBOEI7SUFDM0QsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUFFLE9BQU8sS0FBSyxDQUFDO0tBQUU7SUFFL0IsTUFBTSxPQUFPLEdBQUc7UUFDZCxLQUFLLEVBQUUsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLO1FBQzVELFFBQVEsRUFBRSxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVE7UUFDNUYsTUFBTSxFQUFFLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTTtRQUN6RyxJQUFJLEVBQUUsSUFBSTtRQUNWLFNBQVMsRUFBRSxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVM7S0FDaEUsQ0FBQztJQUVGLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxHQUFHLEVBQUU7UUFBRSxPQUFPLEtBQUssQ0FBQztLQUFFO0lBRWhELCtFQUErRTtJQUMvRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFBRSxPQUFPLElBQUksQ0FBQztLQUFFO0lBRXBFLGlFQUFpRTtJQUNqRSxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFFLE9BQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFO1FBQUUsT0FBTyxJQUFJLENBQUM7S0FBRTtJQUUvSiwwRkFBMEY7SUFDMUYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztBQUMvRixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFZO0lBQ25DLE1BQU0sSUFBSSxHQUFTO1FBQ2pCLElBQUksRUFBRSxJQUFJO1FBQ1YsTUFBTSxFQUFFLElBQUk7UUFDWixTQUFTLEVBQUUsRUFBRTtRQUNiLEtBQUssRUFBRSxLQUFLO0tBQ2IsQ0FBQztJQUVGLHNCQUFzQjtJQUN0Qix1REFBdUQ7SUFDdkQsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUU1RSwrREFBK0Q7SUFDL0QsdUJBQXVCO0lBQ3ZCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUV2Qyx5Q0FBeUM7SUFDekMsSUFBSSxHQUFHLElBQUk7U0FDUixPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztTQUN4QixPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztTQUN0QixPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztTQUN0QixPQUFPLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQztTQUNqQyxPQUFPLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQztTQUNuQyxPQUFPLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQztTQUMvQixPQUFPLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQztTQUM3QixPQUFPLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQztTQUMzQixPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUVoSCxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRCxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRCxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRTFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUUxQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUV6QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFeEMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ2xELElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM5QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDaEQsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDaEQsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUU5QyxJQUFJLE9BQU8sR0FBaUI7UUFDMUIsSUFBSSxFQUFFLElBQUk7UUFDVixJQUFJLEVBQUUsSUFBSTtRQUNWLEtBQUssRUFBRSxFQUFFO1FBQ1QsU0FBUyxFQUFFLElBQUk7UUFDZixNQUFNLEVBQUUsQ0FBQztRQUNULFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLEtBQUs7S0FDYixDQUFDO0lBRUYsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7SUFFcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDcEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUFFLE1BQU07U0FBRTtRQUN4QixJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDeEIsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUM7WUFDdEIsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNwQixPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDbEI7WUFDRCxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3RCLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNwQjtTQUNGO2FBQ0k7WUFDSCxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQUUsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7YUFBRTtpQkFDNUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUFFLE9BQU8sQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO2FBQUU7aUJBQ2xELElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRTtnQkFBRSxPQUFPLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQzthQUFFO2lCQUM5QyxJQUFJLElBQUksS0FBSyxHQUFHLEVBQUU7Z0JBQUUsT0FBTyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7YUFBRTtpQkFDOUMsSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFO2dCQUFFLE9BQU8sQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO2FBQUU7aUJBQzlDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFBRSxPQUFPLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQzthQUFFO1lBQ3hELDZKQUE2SjtZQUM3Siw0Q0FBNEM7WUFDNUMsNkRBQTZEO1lBQzdELHVEQUF1RDtZQUN2RCxNQUFNO1lBQ04sSUFBSTtZQUNKLE9BQU8sQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckgsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN4QixPQUFPLEdBQUc7b0JBQ1IsSUFBSSxFQUFFLE9BQU87b0JBQ2IsSUFBSSxFQUFFLElBQUk7b0JBQ1YsS0FBSyxFQUFFLEVBQUU7b0JBQ1QsU0FBUyxFQUFFLElBQUk7b0JBQ2YsTUFBTSxFQUFFLENBQUM7b0JBQ1QsUUFBUSxFQUFFLENBQUM7b0JBQ1gsS0FBSyxFQUFFLEtBQUs7aUJBQ2IsQ0FBQztnQkFDRixJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7b0JBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztpQkFDN0I7YUFDRjtTQUNGO0tBQ0Y7SUFFRCwrQ0FBK0M7SUFDL0MsT0FBTyxPQUFPLEVBQUU7UUFDZCxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0MsT0FBTyxPQUFPLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO2FBQ3hCO1lBQ0QsTUFBTTtTQUNQO1FBQ0QsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQUUsTUFBTTtTQUFFO1FBQ3BDLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQ3hCO0lBRUQsMEdBQTBHO0lBQzFHLGdEQUFnRDtJQUNoRCx3Q0FBd0M7SUFDeEMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDcEIsT0FBTyxPQUFPLEVBQUU7UUFDZCxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQUUsTUFBTTtTQUFFO1FBRXhCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQixPQUFPLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDL0M7UUFFRCxNQUFNLFVBQVUsR0FBRyxDQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBRSxDQUFDO1FBQzlGLE1BQU0sVUFBVSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWpDLEtBQUssTUFBTSxNQUFNLElBQUksVUFBVSxFQUFFO1lBQy9CLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRTtnQkFDeEcsMkJBQTJCO2dCQUMzQixJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFJLEdBQUcsRUFBRTtvQkFBRSxTQUFTO2lCQUFFO2dCQUUvRSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUMvQixPQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbkQsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUM1QixPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUM7b0JBQ2hDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO2lCQUMxQjtxQkFDSTtvQkFDSCxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7aUJBQ3BDO2FBQ0Y7U0FDRjtRQUVELEtBQUssTUFBTSxNQUFNLElBQUksVUFBVSxFQUFFO1lBQy9CLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pILE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQy9CLE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDM0QsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUM1QixPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUM7b0JBQ2hDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO2lCQUMxQjtxQkFDSTtvQkFDSCxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7b0JBQ25ELE9BQU8sR0FBRyxRQUFRLENBQUM7aUJBQ3BCO2FBQ0Y7U0FDRjtRQUNELE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQ3hCO0lBRUQsc0dBQXNHO0lBQ3RHLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDMUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztLQUM1QjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELHdDQUF3QztBQUN4QyxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsT0FBcUI7SUFDcEQsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFBRSxPQUFPLEtBQUssQ0FBQztLQUFFO0lBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxFQUFFO1FBQUUsT0FBTyxLQUFLLENBQUM7S0FBRTtJQUM1RSxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksV0FBVyxDQUFFLE9BQU8sQ0FBQyxJQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN0RixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxPQUE0QjtJQUN2RCxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUFFLE9BQU8sS0FBSyxDQUFDO0tBQUU7SUFDbEQsT0FBTyxPQUFPLEVBQUUsS0FBSyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQTRCO0lBQ3ZELElBQUksT0FBTyxHQUF3QixPQUFPLENBQUM7SUFDM0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsT0FBTyxPQUFPLEVBQUU7UUFDZCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUFFLENBQUMsRUFBRSxDQUFDO1NBQUU7UUFDbkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7S0FDeEI7SUFDRCxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQXFCO0lBQ25ELElBQUksT0FBTyxHQUFpQixPQUFPLENBQUM7SUFDcEMsT0FBTyxPQUFPLEVBQUU7UUFDZCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUFFLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQztTQUFFO1FBQ25ELE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQ3hCO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE9BQXFCLEVBQUUsUUFBUSxHQUFHLEtBQUs7SUFDeEUsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUFFLE9BQU8sS0FBSyxDQUFDO0tBQUU7SUFDL0IsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFBRSxPQUFPLEtBQUssQ0FBQztLQUFFO0lBQzVDLElBQUksT0FBTyxHQUFpQixPQUFPLENBQUMsSUFBSSxDQUFDO0lBQ3pDLE9BQU8sT0FBTyxFQUFFO1FBQ2QsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7U0FBRTtRQUNqRCxJQUFJLFFBQVEsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQUUsTUFBTTtTQUFFO1FBQzdDLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQ3hCO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxPQUFxQixFQUFFLFFBQVEsR0FBRyxLQUFLO0lBQ2xFLElBQUksT0FBTyxHQUFpQixPQUFPLENBQUM7SUFDcEMsT0FBTyxPQUFPLEVBQUU7UUFDZCxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztTQUFFO1FBQzVDLElBQUksUUFBUSxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFBRSxNQUFNO1NBQUU7UUFDN0MsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7S0FDeEI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQXFCO0lBQ2hELElBQUksT0FBTyxHQUFpQixPQUFPLENBQUM7SUFDcEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsT0FBTyxPQUFPLEVBQUU7UUFDZCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUFFLEtBQUssRUFBRSxDQUFDO1NBQUU7UUFDdkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7S0FDeEI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQXFCO0lBQ25ELElBQUksT0FBTyxHQUFpQixPQUFPLENBQUM7SUFDcEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsT0FBTyxPQUFPLEVBQUU7UUFDZCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxLQUFLLEVBQUUsQ0FBQztTQUFFO1FBQzdDLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQ3hCO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RyZWV0VHlwZSxVbml0QWJiciB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuXG5pbXBvcnQgeyBpc1N0YXRlIH0gZnJvbSAnLi4vZGF0YS9TdGF0ZS5qcyc7XG5pbXBvcnQgeyBpc1N0cmVldFR5cGUgfSBmcm9tICcuLi9kYXRhL1N0cmVldFR5cGUuanMnO1xuaW1wb3J0IHsgaXNOdW1lcmljYWwsIGlzT3JkZXIsb3JkZXJUb09yZGluYWwsIHRpdGxlQ2FzZSB9IGZyb20gJy4vdXRpbHMuanMnO1xuLy8gaW1wb3J0IHsgaXNGYWNpbGl0eVR5cGUgfSBmcm9tICcuLi9GYWNpbGl0eVR5cGUnO1xuLy8gaW1wb3J0IHsgaXNVbml0QWJiciB9IGZyb20gJy4uL1VuaXRBYmJyJztcblxuLy8gLyogZXNsaW50LWRpc2FibGUgKi9cbi8vIFRPRE86IFNwZWxsIENoZWNrIEludGVncmF0aW9uP1xuLy8gY29uc3QgVHlwbyA9IHJlcXVpcmUoXCJ0eXBvLWpzXCIpO1xuLy8gY29uc3QgZGljdGlvbmFyeSA9IG5ldyBUeXBvKCdlbl9VUycpO1xuLy8gLyogZXNsaW50LWVuYWJsZSAqL1xuXG5jb25zdCBhbHBoYXMgPSBuZXcgU2V0KFtcbiAgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsICdMJywgJ00nLCAnTicsICdPJyxcbiAgJ1AnLCAnUScsICdSJywgJ1MnLCAnVCcsICdVJywgJ1YnLCAnVycsICdYJywgJ1knLCAnWicsXG5cbiAgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJywgJ2cnLCAnaCcsICdpJywgJ2onLCAnaycsICdsJywgJ20nLCAnbicsICdvJyxcbiAgJ3AnLCAncScsICdyJywgJ3MnLCAndCcsICd1JywgJ3YnLCAndycsICd4JywgJ3knLCAneicsXG5dKTtcblxuY29uc3QgZGVjaW1hbHMgPSBuZXcgU2V0KFtcbiAgJzAnLCAnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknLFxuXSk7XG5cbi8vIGh0dHBzOi8vcGUudXNwcy5jb20vdGV4dC9wdWIyOC8yOGMzXzAxOS5odG1cbmNvbnN0IGxlZ2FsQ2hhcnMgPSBuZXcgU2V0KFsgLi4uYWxwaGFzLCAuLi5kZWNpbWFscyBdKTtcblxuY29uc3QgbmV3bGluZXMgPSBuZXcgU2V0KFsgJywnLCAnXFx0JywgJ1xcbicgXSk7XG5jb25zdCBkYXNoZXMgPSBuZXcgU2V0KFsgJy0nLCAn4oCTJywgJ+KAlCcgXSk7XG5jb25zdCBzbGFzaGVzID0gbmV3IFNldChbICdcXFxcJywgJy8nIF0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuIHtcbiAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG4gIHByZXY6IEhlYWQgfCBUb2tlbjtcbiAgbmV4dDogVG9rZW4gfCBudWxsO1xuICB2YWx1ZTogc3RyaW5nO1xuICBzZXBhcmF0b3I6ICctJyB8ICcuJyB8ICcjJyB8ICcmJyB8ICcsJyB8ICcvJyB8IG51bGw7XG4gIGFscGhhczogbnVtYmVyO1xuICBkZWNpbWFsczogbnVtYmVyO1xuICBpc0VPTDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWFkIHtcbiAgaXNIZWFkOiB0cnVlO1xuICBuZXh0OiBUb2tlbiB8IG51bGw7XG4gIHNlcGFyYXRvcjogJyc7XG4gIGlzRU9MOiBmYWxzZTtcbn1cblxuLy8gU3BlY2lhbCBub24tZW51bWVyYXRlZCBhYmJyZXZpYXRpb25zIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHdlIGNhcGl0YWxpemVcbi8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1NoaXBfcHJlZml4XG5jb25zdCBjYXBpdGFsaXplID0gbmV3IFNldChbICdBRkInLCAnQVBPJywgJ0ZQTycsICdBRUNPTScsICdIUUJOJyxcbiAgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGlzdF9vZl9jb2xsb3F1aWFsX25hbWVzX2Zvcl91bml2ZXJzaXRpZXNfYW5kX2NvbGxlZ2VzX2luX3RoZV9Vbml0ZWRfU3RhdGVzXG4gICdBRkEnLCAnQSZNJywgJ0EmVCcsICdBUFNVJywgJ0FMQVNVJywgJ0FTVScsICdBVScsICdBVU0nLCAnQkMnLCAnQkdTVScsICdCSFNVJywgJ0JKVScsICdCTUMnLCAnQlNDJywgJ0JTVScsICdCVScsXG4gICdCWVUnLCAnQ0JVJywgJ0NDJywgJ0NDTlknLCAnQ0NTVScsICdDQ1UnLCAnQ0NWJywgJ0NHVScsICdDSUEnLCAnQ01DJywgJ0NNVScsICdDTlUnLCAnQ1NCJywgJ1NKVScsICdDU0UnLCAnQ1NJJyxcbiAgJ0NTVScsICdDU1VGJywgJ0NTVUVCJywgJ0NTVUxBJywgJ0NTVVMnLCAnQ1UnLCAnQ1VBJywgJ0NVTlknLCAnREMnLCAnRFBVJywgJ0RTVScsICdEVScsICdFQ1UnLCAnRUlVJywgJ0VNVScsICdFTVUnLFxuICAnRU5DJywgJ0VUU1UnLCAnRVdVJywgJ0VLVScsICdGJk0nLCAnRkFNVScsICdGQVUnLCAnRkMnLCAnRkRVJywgJ0ZHQ1UnLCAnRklUJywgJ0ZJVScsICdGUFUnLCAnRlNVJywgJ0ZVJywgJ0dCJywgJ0dDVScsXG4gICdHR0MnLCAnR09OWicsICdHU1UnLCAnR1QnLCAnR1ZTVScsICdISVUnLCAnSE1DJywgJ0hVJywgJ0hVJywgJ0hTVScsICdJQycsICdJSVQnLCAnSVBGVycsICdJU1UnLCAnSVVQJywgJ0lVUFVJJywgJ0lXVScsXG4gICdJVycsICdKSFUnLCAnSk1VJywgJ0pXVScsICdKU1UnLCAnSlUnLCAnS1NVJywgJ0tVJywgJ0tVJywgJ0xDJywgJ0xIVScsICdMSVUnLCAnTE1VJywgJ0xTVScsICdMU1NVJywgJ0xUVScsICdMVScsICdMVUMnLFxuICAnTUNMQScsICdNSVQnLCAnTU1DJywgJ01TVScsICdNVFNVJywgJ01UVScsICdNVScsICdNVlNVJywgJ01VVycsICdOQVUnLCAnTkNDVScsICdOQ1NVJywgJ05EJywgJ05EU1UnLCAnTkVVJywgJ05JVScsICdOS1UnLFxuICAnTk1TVScsICdOTVUnLCAnTlNVJywgJ05VJywgJ05WVScsICdOVycsICdOV01TVScsICdOWUlUJywgJ05ZTUMnLCAnTllVJywgJ09DJywgJ09DQycsICdPQ1UnLCAnT0RVJywgJ09JVCcsICdPTlUnLCAnT1JVJyxcbiAgJ09TVScsICdPVScsICdQQycsICdQQ0MnLCAnUExOVScsICdQT00nLCAnUFNVJywgJ1BUUycsICdQVkFNVScsICdRVScsICdSSElUJywgJ1JJQycsICdSSVNEJywgJ1JJVCcsICdSLU1XQycsICdSUEknLCAnUlUnLFxuICAnUldVJywgJ1JXQycsICdTQlUnLCAnU0MnLCAnU0NTVScsICdTQ1UnLCAnU0RTTSZUJywgJ1NEU1UnLCAnU0ZTVScsICdTSEMnLCAnU0lVRScsICdTSkMnLCAnU0pGQycsICdTSlNVJywgJ1NKVScsICdTTFUnLFxuICAnU01DJywgJ1NNVScsICdTTkhVJywgJ1NPU1UnLCAnU1BVJywgJ1NSVScsICdTU1UnLCAnU1UnLCAnU1VJJywgJ1NVVScsICdTVU5ZJywgJ1NXT1NVJywgJ1RBTVUnLCAnVEFNVUNDJywgJ1RDTkonLCAnVENVJyxcbiAgJ1RTVScsICdUVFUnLCAnVFUnLCAnVUEnLCAnVUFBJywgJ1VBQicsICdVQUYnLCAnVUFIJywgJ1VBTFInLCAnVUFNJywgJ1VBUEInLCAnVUInLCAnVUMnLCAnVUNCJywgJ1VDQScsICdVQ0NTJywgJ1VDRCcsICdVQ0YnLFxuICAnVUNJJywgJ1VDTEEnLCAnVUNNJywgJ1VDTycsICdVQ1InLCAnVUNTQicsICdVQ1NDJywgJ1VDU0QnLCAnVUNTRicsICdVRCcsICdVRE0nLCAnVURDJywgJ1VGJywgJ1VHQScsICdVSCcsICdVSENMJywgJ1VIRCcsICdVSFMnLFxuICAnVUhWJywgJ1VJQycsICdVSVVDJywgJ1VLJywgJ1VMTScsICdVTCcsICdVTUInLCAnVU1CQycsICdVTUMnLCAnVU1EJywgJ1VNS0MnLCAnVU1MJywgJ1VNTycsICdVTVcnLCAnVU5BJywgJ1VOQycsICdVTkNDJyxcbiAgJ1VOQ0cnLCAnVU5DVycsICdVTkQnLCAnVU5GJywgJ1VOSCcsICdVTkknLCAnVU5LJywgJ1VOTCcsICdVTkxWJywgJ1VOTScsICdVTk8nLCAnVU5SJywgJ1VOVCcsICdVTycsICdVT1AnLCAnVVAnLCAnVVBJS0UnLFxuICAnVVJJJywgJ1VTQScsICdVU0FGQScsICdVU0FPJywgJ1VTQycsICdVU0NBJywgJ1VTRCcsICdVU0YnLCAnVVNGQ0EnLCAnVVNJJywgJ1VTTScsICdVU1UnLCAnVVQnLCAnVVRBJywgJ1VUQi9UU0MnLCAnVVRDJyxcbiAgJ1VURCcsICdVVEVQJywgJ1VUTScsICdVVFBCJywgJ1VUUkdWJywgJ1VUU0EnLCAnVVZBJywgJ1VWTScsICdVVlUnLCAnVVcnLCAnVVdGJywgJ1VXRycsICdVV0dCJywgJ1VXTScsICdWQ1UnLCAnVk1JJywgJ1ZQSScsXG4gICdWU1UnLCAnVlRDJywgJ1ZVJywgJ1cmSicsICdXJkwnLCAnVyZNJywgJ1dDJywgJ1dDVScsICdXRlUnLCAnV0dVJywgJ1dJVScsICdXS1UnLCAnV01VJywgJ1dQSScsICdXU1UnLCAnV1RBTVUnLCAnV1ZVJywgJ1dWVVAnLFxuICAnV1dVJywgJ1hVJywgJ1hVTEEnLCAnWVNVJywgJ1lVJyxcbl0pO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNIZWFkKHRva2VuOiB1bmtub3duKTogdG9rZW4gaXMgSGVhZCB7XG4gIHJldHVybiAhISh0b2tlbiAmJiAodG9rZW4gYXMgSGVhZCkuaXNIZWFkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydFRva2VuQWZ0ZXIocHJldjogVG9rZW4sIHZhbHVlOiBzdHJpbmcpOiBUb2tlbiB7XG4gIGNvbnN0IHRva2VuID0ge1xuICAgIHByZXYsXG4gICAgbmV4dDogcHJldi5uZXh0LFxuICAgIHZhbHVlLFxuICAgIHNlcGFyYXRvcjogbnVsbCxcbiAgICBhbHBoYXM6ICh2YWx1ZS5tYXRjaCgvW2EtekEtWl0vZykgfHwgW10pLmxlbmd0aCxcbiAgICBkZWNpbWFsczogKHZhbHVlLm1hdGNoKC9cXGQvZykgfHwgW10pLmxlbmd0aCxcbiAgICBpc0VPTDogcHJldi5pc0VPTCxcbiAgfTtcbiAgdG9rZW4ucHJldi5uZXh0ID0gdG9rZW47XG4gIHRva2VuLnByZXYuaXNFT0wgPSBmYWxzZTtcbiAgdG9rZW4ubmV4dCAmJiAodG9rZW4ubmV4dC5wcmV2ID0gdG9rZW4pO1xuICByZXR1cm4gdG9rZW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRUb2tlbkJlZm9yZShuZXh0OiBUb2tlbiwgdmFsdWU6IHN0cmluZyk6IFRva2VuIHtcbiAgY29uc3QgdG9rZW4gPSB7XG4gICAgcHJldjogbmV4dC5wcmV2LFxuICAgIG5leHQsXG4gICAgdmFsdWUsXG4gICAgc2VwYXJhdG9yOiBudWxsLFxuICAgIGFscGhhczogKHZhbHVlLm1hdGNoKC9bYS16QS1aXS9nKSB8fCBbXSkubGVuZ3RoLFxuICAgIGRlY2ltYWxzOiAodmFsdWUubWF0Y2goL1xcZC9nKSB8fCBbXSkubGVuZ3RoLFxuICAgIGlzRU9MOiBmYWxzZSxcbiAgfTtcbiAgdG9rZW4ucHJldiAmJiAodG9rZW4ucHJldi5uZXh0ID0gdG9rZW4pO1xuICB0b2tlbi5uZXh0ICYmICh0b2tlbi5uZXh0LnByZXYgPSB0b2tlbik7XG4gIHJldHVybiB0b2tlbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyT3JDb2RlKHBvaW50ZXI6IFRva2VuIHwgc3RyaW5nIHwgbnVsbCk6IGJvb2xlYW4ge1xuICBpZiAoIXBvaW50ZXIpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgY29uc3Qgd29ya2luZyA9IHtcbiAgICB2YWx1ZTogdHlwZW9mIHBvaW50ZXIgPT09ICdzdHJpbmcnID8gcG9pbnRlciA6IHBvaW50ZXIudmFsdWUsXG4gICAgZGVjaW1hbHM6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIubWF0Y2goL1xcZC9nKT8ubGVuZ3RoIHx8IDAgOiBwb2ludGVyLmRlY2ltYWxzLFxuICAgIGFscGhhczogdHlwZW9mIHBvaW50ZXIgPT09ICdzdHJpbmcnID8gcG9pbnRlci50b0xvd2VyQ2FzZSgpLm1hdGNoKC9bXlxcZF0vZyk/Lmxlbmd0aCB8fCAwIDogcG9pbnRlci5hbHBoYXMsXG4gICAgcHJldjogbnVsbCxcbiAgICBzZXBhcmF0b3I6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/ICcnIDogcG9pbnRlci5zZXBhcmF0b3IsXG4gIH07XG5cbiAgaWYgKHdvcmtpbmcuc2VwYXJhdG9yID09PSAnJicpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgLy8gSWYgc3RyaW5nIHN0YXJ0cyB3aXRoIGEgbnVtYmVyLCB0aGlzIGlzIGEgY29kZS4gRXg6IE9yZGluYWxzICgxc3QsIDJuZCwgZXRjKVxuICBpZiAod29ya2luZy52YWx1ZSAmJiB3b3JraW5nLnZhbHVlWzBdLm1hdGNoKC9eXFxkLykpIHsgcmV0dXJuIHRydWU7IH1cblxuICAvLyBEYXNoZWQgb25lLCB0d28gYW5kIHRocmVlIGNoYXJhY3RlciBhbHBoYSBzdHJpbmdzICphcmUqIGNvZGVzIVxuICBpZiAod29ya2luZy5hbHBoYXMgPD0gMyAmJiAhd29ya2luZy5kZWNpbWFscyAmJiAoZGFzaGVzLmhhcyh3b3JraW5nLnNlcGFyYXRvciB8fCAnJykgfHwgZGFzaGVzLmhhcygocG9pbnRlciBhcyBUb2tlbikucHJldj8uc2VwYXJhdG9yIHx8ICcnKSkpIHsgcmV0dXJuIHRydWU7IH1cblxuICAvLyBJZiBkZWNpbWFscyBlcXVhbCBvciBvdXRudW1iZXIgYWxwaGFzLCBvciB0aGlzIGlzIGEgc2luZ2xlIGNoYXJhY3RlciBzdHJpbmcsIGlzIGEgY29kZS5cbiAgcmV0dXJuICh3b3JraW5nLmRlY2ltYWxzID49IHdvcmtpbmcuYWxwaGFzICYmIHdvcmtpbmcuZGVjaW1hbHMgPiAxKSB8fCAod29ya2luZy5hbHBoYXMgPD0gMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbml6ZShhZGRyOiBzdHJpbmcpOiBIZWFkIHtcbiAgY29uc3QgaGVhZDogSGVhZCA9IHtcbiAgICBuZXh0OiBudWxsLFxuICAgIGlzSGVhZDogdHJ1ZSxcbiAgICBzZXBhcmF0b3I6ICcnLFxuICAgIGlzRU9MOiBmYWxzZSxcbiAgfTtcblxuICAvLyBDb2xsYXBzZSB3aGl0ZXNwYWNlXG4gIC8vIFRPRE86IFRoaXMgcmVnZXggaXMgaW5vcmRpbmF0ZWx5IGV4cGVuc2l2ZS4gUmVwbGFjZS5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvXFxuKy9nLCAnXFxuJykucmVwbGFjZSgvICsvZywgJyAnKS5yZXBsYWNlKC9cXHQrL2csICdcXHQnKTtcblxuICAvLyBUT0RPOiBBbGwgb2YgdGhlIGJlbG93IHJlZ2V4cHMgYXJlIFZFUlkgZXhwZW5zaXZlLiBTaW1wbGlmeS5cbiAgLy8gUmVtb3ZlIENhcmUgT2YgQWJici5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvQ1svLl1PXFwuPy9naSwgJycpO1xuXG4gIC8vIFAuTy4gQm94ZXMgYW5kIEguQy4gQm94ZXMgYXJlIFNwZWNpYWwuXG4gIGFkZHIgPSBhZGRyXG4gICAgLnJlcGxhY2UoL1BcXC5PXFwuL2ksICdQTycpXG4gICAgLnJlcGxhY2UoL1BcXC5PL2ksICdQTycpXG4gICAgLnJlcGxhY2UoL1AgTyAvaSwgJ1BPJylcbiAgICAucmVwbGFjZSgvUFxcLk9cXC5CXFwuL2ksICcgUE8gQk9YICcpXG4gICAgLnJlcGxhY2UoL1BcXC4gT1xcLiBCXFwuL2ksICcgUE8gQk9YICcpXG4gICAgLnJlcGxhY2UoLyBQT0JbXFxkIF0vaSwgJ1BPIEJPWCcpXG4gICAgLnJlcGxhY2UoL1BPWCBCT1gvaSwgJ1BPIEJPWCcpXG4gICAgLnJlcGxhY2UoL1BPQk9YL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT0JYL2ksICdQTyBCT1gnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvSFxcLkNcXC4vaSwgJ0hDICcpLnJlcGxhY2UoL0hcXC5DLywgJ0hDICcpLnJlcGxhY2UoL0ggQyAvLCAnSEMgJykucmVwbGFjZSgvSENCT1gvaSwgJ0hDIEJPWCcpO1xuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY2FycmllciByb3V0ZS9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvaGlnaHdheSBjb250cmFjdCByb3V0ZS9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvaGlnaHdheSBjYXJyaWVyL2ksICdIQycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9oaWdod2F5IGNvbnRyYWN0L2ksICdIQycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zdGFyIHJvdXRlL2ksICdIQycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9ydXJhbCByb3V0ZS9pLCAnUlInKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9ydXJhbCByb2FkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC90b3duc2hpcCByb2FkL2ksICdUU1InKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvc3RhdGUgcm91dGUvaSwgJ1NSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJvYWQvaSwgJ1NSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2NvdW50eSByb2FkL2ksICdDUicpO1xuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3JcXC5cXHJcXC4gcmQvaSwgJ1JSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3NcXC5cXHJcXC4gcmQvaSwgJ1NSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2NcXC5cXHJcXC4gcmQvaSwgJ0NSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcmQvaSwgJ1JSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3Rvd25zaGlwIHJkL2ksICdUU1InKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvc3RhdGUgcmQvaSwgJ1NSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2NvdW50eSByZC9pLCAnQ1InKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9MQSBDQU1JTklUTy9pLCAnTEFDQU1JTklUTycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9FTCBDQU1JTk8vaSwgJ0VMQ0FNSU5PJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIENFUlJBREEvaSwgJ0xBQ0VSUkFEQScpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9MQSBFTlRSQURBL2ksICdMQUVOVFJBREEnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvRUwgUEFTRU8vaSwgJ0VMUEFTRU8nKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgUExBQ0lUQS9pLCAnTEFQTEFDSVRBJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0VMIFJBTkNITy9pLCAnRUxSQU5DSE8nKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgVkVSRURBL2ksICdMQVZFUkVEQScpO1xuXG4gIGxldCBwb2ludGVyOiBUb2tlbiB8IG51bGwgPSB7XG4gICAgcHJldjogaGVhZCxcbiAgICBuZXh0OiBudWxsLFxuICAgIHZhbHVlOiAnJyxcbiAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgYWxwaGFzOiAwLFxuICAgIGRlY2ltYWxzOiAwLFxuICAgIGlzRU9MOiBmYWxzZSxcbiAgfTtcblxuICBoZWFkLm5leHQgPSBwb2ludGVyO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYWRkci5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGNoYXIgPSBhZGRyW2ldO1xuICAgIGNvbnN0IG5leHQgPSBhZGRyW2kgKyAxXTtcbiAgICBpZiAoIXBvaW50ZXIpIHsgYnJlYWs7IH1cbiAgICBpZiAobGVnYWxDaGFycy5oYXMoY2hhcikpIHtcbiAgICAgIHBvaW50ZXIudmFsdWUgKz0gY2hhcjtcbiAgICAgIGlmIChhbHBoYXMuaGFzKGNoYXIpKSB7XG4gICAgICAgIHBvaW50ZXIuYWxwaGFzKys7XG4gICAgICB9XG4gICAgICBpZiAoZGVjaW1hbHMuaGFzKGNoYXIpKSB7XG4gICAgICAgIHBvaW50ZXIuZGVjaW1hbHMrKztcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBpZiAobmV3bGluZXMuaGFzKGNoYXIpKSB7IHBvaW50ZXIuaXNFT0wgPSB0cnVlOyB9XG4gICAgICBlbHNlIGlmIChkYXNoZXMuaGFzKGNoYXIpKSB7IHBvaW50ZXIuc2VwYXJhdG9yID0gJy0nOyB9XG4gICAgICBlbHNlIGlmIChjaGFyID09PSAnLicpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnLic7IH1cbiAgICAgIGVsc2UgaWYgKGNoYXIgPT09ICcmJykgeyBwb2ludGVyLnNlcGFyYXRvciA9ICcmJzsgfVxuICAgICAgZWxzZSBpZiAoY2hhciA9PT0gJyMnKSB7IHBvaW50ZXIuc2VwYXJhdG9yID0gJyMnOyB9XG4gICAgICBlbHNlIGlmIChzbGFzaGVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLnNlcGFyYXRvciA9ICcvJzsgfVxuICAgICAgLy8gaWYgKCFpc051bWJlck9yQ29kZShwb2ludGVyKSAmJiAhaXNTdGF0ZShwb2ludGVyLnZhbHVlKSAmJiAhaXNTdHJlZXRUeXBlKHBvaW50ZXIudmFsdWUpICYmICFpc0ZhY2lsaXR5VHlwZShwb2ludGVyLnZhbHVlKSAmJiAhaXNVbml0QWJicihwb2ludGVyLnZhbHVlKSkge1xuICAgICAgLy8gICBpZiAoIWRpY3Rpb25hcnkuY2hlY2socG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIC8vICAgICBjb25zdCBzdWdnZXN0aW9ucyA9IGRpY3Rpb25hcnkuc3VnZ2VzdChwb2ludGVyLnZhbHVlKTtcbiAgICAgIC8vICAgICBwb2ludGVyLnZhbHVlID0gc3VnZ2VzdGlvbnNbMF0gfHwgcG9pbnRlci52YWx1ZTtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgICAgcG9pbnRlci52YWx1ZSA9IGNhcGl0YWxpemUuaGFzKHBvaW50ZXIudmFsdWUudG9VcHBlckNhc2UoKSkgPyBwb2ludGVyLnZhbHVlLnRvVXBwZXJDYXNlKCkgOiB0aXRsZUNhc2UocG9pbnRlci52YWx1ZSk7XG4gICAgICBpZiAobGVnYWxDaGFycy5oYXMobmV4dCkpIHtcbiAgICAgICAgcG9pbnRlciA9IHtcbiAgICAgICAgICBwcmV2OiBwb2ludGVyLFxuICAgICAgICAgIG5leHQ6IG51bGwsXG4gICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgIHNlcGFyYXRvcjogbnVsbCxcbiAgICAgICAgICBhbHBoYXM6IDAsXG4gICAgICAgICAgZGVjaW1hbHM6IDAsXG4gICAgICAgICAgaXNFT0w6IGZhbHNlLFxuICAgICAgICB9O1xuICAgICAgICBpZiAocG9pbnRlci5wcmV2KSB7XG4gICAgICAgICAgcG9pbnRlci5wcmV2Lm5leHQgPSBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTm8gbmV3bGluZXMgYWZ0ZXIgdGhlIGxhc3QgU3RhdGUgZGlzY292ZXJlZC5cbiAgd2hpbGUgKHBvaW50ZXIpIHtcbiAgICBpZiAocG9pbnRlci5uZXh0ICYmIGlzU3RhdGUocG9pbnRlci5uZXh0LnZhbHVlKSkge1xuICAgICAgd2hpbGUgKHBvaW50ZXIpIHtcbiAgICAgICAgcG9pbnRlci5pc0VPTCA9IGZhbHNlO1xuICAgICAgICBwb2ludGVyID0gcG9pbnRlci5uZXh0O1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGlmIChpc0hlYWQocG9pbnRlci5wcmV2KSkgeyBicmVhazsgfVxuICAgIHBvaW50ZXIgPSBwb2ludGVyLnByZXY7XG4gIH1cblxuICAvLyBJdCBpcyBjb21tb24gZm9yIHBlb3BsZSB0byBiZSBzaWxseSBhbmQgcHJlZml4L3N1ZmZpeCBzb21lIHVuaXQgbnVtYmVycyB3aXRoIHRoZXNlIGNvbW1vbiBhYmJyZXZpYXRpb24uXG4gIC8vIEV4OiAxMjMgV2F0ZXIgU3QuIEFwdCBBUFQxLCA0NSBTcHJ1Y2UgQXZlIDFQSFxuICAvLyBUT0RPOiBXZSBjYW4gbWFrZSB0aGlzIG1vcmUgcm9idXN0Li4uXG4gIHBvaW50ZXIgPSBoZWFkLm5leHQ7XG4gIHdoaWxlIChwb2ludGVyKSB7XG4gICAgaWYgKCFwb2ludGVyKSB7IGJyZWFrOyB9XG5cbiAgICBpZiAoaXNPcmRlcihwb2ludGVyLnZhbHVlKSkge1xuICAgICAgcG9pbnRlci52YWx1ZSA9IG9yZGVyVG9PcmRpbmFsKHBvaW50ZXIudmFsdWUpO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWZpeFRlc3QgPSBbIFVuaXRBYmJyLkFQVCwgVW5pdEFiYnIuUEgsIFVuaXRBYmJyLkxWLCBTdHJlZXRUeXBlLlJSLCAnU1VJVEUnLCAnVU5JVCcgXTtcbiAgICBjb25zdCBzdWZmaXhUZXh0ID0gW1VuaXRBYmJyLlBIXTtcblxuICAgIGZvciAoY29uc3QgcHJlZml4IG9mIHByZWZpeFRlc3QpIHtcbiAgICAgIGlmIChwb2ludGVyLnZhbHVlLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChwcmVmaXgudG9Mb3dlckNhc2UoKSkgJiYgcG9pbnRlci52YWx1ZS5sZW5ndGggPiBwcmVmaXgubGVuZ3RoKSB7XG4gICAgICAgIC8vIFNwZWNpYWwgQ2FzZSBmb3IgcGx1cmFsc1xuICAgICAgICBpZiAocG9pbnRlci52YWx1ZS50b1VwcGVyQ2FzZSgpID09PSBgJHtwcmVmaXgudG9VcHBlckNhc2UoKSAgfVNgKSB7IGNvbnRpbnVlOyB9XG5cbiAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSBwb2ludGVyLnZhbHVlO1xuICAgICAgICBwb2ludGVyLnZhbHVlID0gcG9pbnRlci52YWx1ZS5zbGljZShwcmVmaXgubGVuZ3RoKTtcbiAgICAgICAgcG9pbnRlci5hbHBoYXMgLT0gcHJlZml4Lmxlbmd0aDtcbiAgICAgICAgaWYgKCFpc051bWJlck9yQ29kZShwb2ludGVyKSkge1xuICAgICAgICAgIHBvaW50ZXIuYWxwaGFzICs9IHByZWZpeC5sZW5ndGg7XG4gICAgICAgICAgcG9pbnRlci52YWx1ZSA9IG9sZFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGluc2VydFRva2VuQmVmb3JlKHBvaW50ZXIsIHByZWZpeCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHN1ZmZpeCBvZiBzdWZmaXhUZXh0KSB7XG4gICAgICBpZiAocG9pbnRlciAmJiBwb2ludGVyLnZhbHVlLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoc3VmZml4LnRvTG93ZXJDYXNlKCkpICYmIHBvaW50ZXIudmFsdWUubGVuZ3RoID4gc3VmZml4Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHBvaW50ZXIudmFsdWU7XG4gICAgICAgIHBvaW50ZXIudmFsdWUgPSBwb2ludGVyLnZhbHVlLnNsaWNlKDAsIHN1ZmZpeC5sZW5ndGggKiAtMSk7XG4gICAgICAgIHBvaW50ZXIuYWxwaGFzIC09IHN1ZmZpeC5sZW5ndGg7XG4gICAgICAgIGlmICghaXNOdW1iZXJPckNvZGUocG9pbnRlcikpIHtcbiAgICAgICAgICBwb2ludGVyLmFscGhhcyArPSBzdWZmaXgubGVuZ3RoO1xuICAgICAgICAgIHBvaW50ZXIudmFsdWUgPSBvbGRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBjb25zdCBuZXdUb2tlbiA9IGluc2VydFRva2VuQWZ0ZXIocG9pbnRlciwgc3VmZml4KTtcbiAgICAgICAgICBwb2ludGVyID0gbmV3VG9rZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcG9pbnRlciA9IHBvaW50ZXIubmV4dDtcbiAgfVxuXG4gIC8vIFNvbWUgbWlzLWZvcm1hdHRlZCBmYWNpbGl0eSBhZGRyZXNzZXMgd2lsbCBwcmVwZW5kIGEgJzAnIHRvIG1ha2UgdGhlbSBhcHBlYXIgbGlrZSBzdHJlZXQgYWRkcmVzc2VzLlxuICBpZiAoaGVhZC5uZXh0ICYmIGhlYWQubmV4dC52YWx1ZSA9PT0gJzAnICYmIGhlYWQubmV4dC5uZXh0KSB7XG4gICAgaGVhZC5uZXh0ID0gaGVhZC5uZXh0Lm5leHQ7XG4gIH1cblxuICByZXR1cm4gaGVhZDtcbn1cblxuLy8gVE9ETzogVXNlIFVTUFMgaHlwaGVuYXRpb24gc3RhbmRhcmRzLlxuZXhwb3J0IGZ1bmN0aW9uIGlzSHlwaGVuYXRlZENvZGUocG9pbnRlcjogVG9rZW4gfCBIZWFkKTogYm9vbGVhbiB7XG4gIGlmIChpc0hlYWQocG9pbnRlcikpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIGlmICghcG9pbnRlci5uZXh0IHx8ICFkYXNoZXMuaGFzKHBvaW50ZXIuc2VwYXJhdG9yIHx8ICcnKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgcmV0dXJuICEhKGlzTnVtZXJpY2FsKHBvaW50ZXIudmFsdWUpICYmIGlzTnVtZXJpY2FsKChwb2ludGVyLm5leHQgYXMgVG9rZW4pLnZhbHVlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05ld2xpbmVTZXAocG9pbnRlcjogVG9rZW4gfCBIZWFkIHwgbnVsbCk6IGJvb2xlYW4ge1xuICBpZiAoIXBvaW50ZXIgfHwgaXNIZWFkKHBvaW50ZXIpKSB7IHJldHVybiBmYWxzZTsgfVxuICByZXR1cm4gcG9pbnRlcj8uaXNFT0w7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXdsaW5lQ291bnQocG9pbnRlcjogVG9rZW4gfCBIZWFkIHwgbnVsbCk6IG51bWJlciB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IEhlYWQgfCBudWxsID0gcG9pbnRlcjtcbiAgbGV0IGkgPSAwO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc05ld2xpbmVTZXAoY3VycmVudCkpIHsgaSsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gaTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmROZXh0TmV3TGluZShwb2ludGVyOiBUb2tlbiB8IG51bGwpOiBUb2tlbiB8IG51bGwge1xuICBsZXQgY3VycmVudDogVG9rZW4gfCBudWxsID0gcG9pbnRlcjtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoaXNOZXdsaW5lU2VwKGN1cnJlbnQpKSB7IHJldHVybiBjdXJyZW50Lm5leHQ7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzTGF0ZXJTdHJlZXRUeXBlKHBvaW50ZXI6IFRva2VuIHwgbnVsbCwgbGluZU9ubHkgPSBmYWxzZSk6IGJvb2xlYW4ge1xuICBpZiAoIXBvaW50ZXIpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIGlmIChpc05ld2xpbmVTZXAocG9pbnRlcikpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyLm5leHQ7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzU3RyZWV0VHlwZShjdXJyZW50LnZhbHVlKSkgeyByZXR1cm4gdHJ1ZTsgfVxuICAgIGlmIChsaW5lT25seSAmJiBjdXJyZW50LnNlcGFyYXRvcikgeyBicmVhazsgfVxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzU3RhdGVVbml0KHBvaW50ZXI6IFRva2VuIHwgbnVsbCwgbGluZU9ubHkgPSBmYWxzZSk6IGJvb2xlYW4ge1xuICBsZXQgY3VycmVudDogVG9rZW4gfCBudWxsID0gcG9pbnRlcjtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoaXNTdGF0ZShjdXJyZW50LnZhbHVlKSkgeyByZXR1cm4gdHJ1ZTsgfVxuICAgIGlmIChsaW5lT25seSAmJiBjdXJyZW50LnNlcGFyYXRvcikgeyBicmVhazsgfVxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbmV3TGluZUNvdW50KHBvaW50ZXI6IFRva2VuIHwgbnVsbCk6IG51bWJlciB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICBsZXQgY291bnQgPSAwO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc05ld2xpbmVTZXAoY3VycmVudCkpIHsgY291bnQrKzsgfVxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gIH1cbiAgcmV0dXJuIGNvdW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyZWV0VHlwZUNvdW50KHBvaW50ZXI6IFRva2VuIHwgbnVsbCk6IG51bWJlciB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICBsZXQgY291bnQgPSAwO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc1N0cmVldFR5cGUoY3VycmVudC52YWx1ZSkpIHsgY291bnQrKzsgfVxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gIH1cbiAgcmV0dXJuIGNvdW50O1xufVxuIl19 |
{ | ||
"name": "@universe/address-parser", | ||
"version": "3.1.0", | ||
"version": "3.2.0", | ||
"main": "dist/src/index.js", | ||
@@ -24,3 +24,3 @@ "module": "dist/src/index.js", | ||
"pretest": "yarn run build", | ||
"test": "mocha dist/test/highways.js", | ||
"test": "mocha dist/test", | ||
"test:cass": "CASS_SUITE=enabled mocha dist/test", | ||
@@ -31,4 +31,4 @@ "watch": "watch 'yarn run test' './src' './test' --wait=3", | ||
"dependencies": { | ||
"@universe/models": "^3.0.0", | ||
"@universe/util": "^1.1.1" | ||
"@universe/models": "^3.0.4", | ||
"@universe/util": "^1.2.2" | ||
}, | ||
@@ -35,0 +35,0 @@ "devDependencies": { |
Sorry, the diff of this file is too big to display
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
907089
17334
2
Updated@universe/models@^3.0.4
Updated@universe/util@^1.2.2